c语言如何运行

c语言如何运行,第1张

c语言运行方式如下:

上机输入和编译源程序。通过键盘向计算机输入程序,最后将此源程序以文件形式存放在文件夹内,文件用c作为后缀,生成源程序文件。对源程序进行编译,先用c编译系统提供的“预处理器”对程序中的预处理指令进行编译预处理。例如,对于#include指令来说,就是将stdioh头文件的内容读进来,取代#include行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来正式编译的源程序,然后由编译系统对该源程序进行编译。

编译的作用是对源程序进行检查,判定程序有无语法的错误。直到没有错误时,编译程序自动把源程序转换为二进制形式的目标程序进行连接处理。经过编译后所得到的二进制目标文件还不能供计算机直接执行。一个程序可能包含若干个源程序文件,而一次编译只能得到与一个源程序文件相对应的目标文件,

只是程序的一部分,必须把所有编译后得到的目标文件链接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序,即使一个程序只包含一个源文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要和函数库进行连接,才能生成可执行程序。运行可执行程序,得到运行结果。把fexe输入计算机,并使之运行,得到结果。

全局变量前加static修饰,该变量就成为了静态全局变量。全部变量在整个工程都可以被访问(一个文件中定义,其它文件使用的时候添加extern关键字声明 ),而在添加了static关键字之后,这个变量就只能在本文件内被访问了。因此,在这里,static的作用就是限定作用域。

局部变量添加了static修饰之后,该变量就成为了静态局部变量。局部变量在离开了被定义的函数后,就会被销毁,而当使用static修饰之后,它的作用域就一直到整个程序结束。因此,在这里static的作用就是限定生命周期。

所以这个程序先执行a+的那个函数,因为有个全局变量d,所以现在的d的值为2,当2传入函数中,p的值变为2,并且因为现在有局部变量d,所以优先使用局部变量,d+=p就是d=d+p,因此d的值变为8,然后执行printf就输出了8。

以后再执行外面的函数fun,此时他的参数是a+fun,因为上面已经知道内侧fun的输出是8,所以外侧fun的参数就是8,此时函数内p的值为8+3,因为局部变量d前加了static,所以这个d的值还是执行内侧fun时的值,是8,再执行d=d+p就是19,然后输出19,再执行函数外面的pritf,再次输出19。

这需要把你的C++源程序拿出来看,才能知道“运行没有结果”的原因的,没有结果的程序是运行结束了,还是没有结束呢?

最常见的原因有:

有可能是程序发生了“死循环”;

有可能是程序正在等待输入;

有可能是程序中没有输出语句;

有可能是程序没有运行到执行输出语句处;

…………

首先你的程序有两处错误,改正如下:

#include<stdioh>

void main()

{

char a[]="123456789",p;

int i=0;

p=a;

while(p)//源程序中为大写的P

{if(i%2==0)p='';//此处把字符赋值给p所以不能写成""

p++;i++;

}

puts(a);

}

运行结果为:2468

从您的问题可以看出您还处于初学阶段或者在应付考试。首先出现一些现象一定会有原因,我们要会分析其发生的原因。根据模电的知识,8只led全亮说明二极管加了正向电压导通了。首先你要知道你的单片机是共阴还是共阳极,打开原理图看下就知道了。如果是共阴极,说明那8个引脚都给了高电平。如果你是使用的店家提供的程序,很有可能是没有把程序正常下载进去,或者下载的程序与单片机不匹配。

建议贴出单片机的型号或者原理图,和源程序进行提问。当然可以自己查找问题,相信您一定可以解决的。

以上就是关于c语言如何运行全部的内容,包括:c语言如何运行、C语言读程题,根据图中程序的运行结果分析下原因、C++程序运行没结果等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10168860.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存