⑴ C语言源程序到运行程序经过哪几个步骤
1、预处理
在这一阶段,源码中的所有预处理语句得到处理,例如:#include语句所包含的文件内容替换掉语句本身,所有已定义的宏被展开。
根据#ifdef,#if等语句的条件是否成立取舍相应的部分,预处理之后源码中不再包含任何预处理语句。
GCC预处理阶段可以生成.i的文件,通过选项-E可以使编译器在预处理结束时就停止编译。例如:gcc -E -o hello.i hello.c
2、编译
这一阶段,编译器对源码进行词法分析、语法分析、优化等操作,最后生成汇编代码。这是整个过程中最重要的一步,因此也常把整个过程称为编译。
可以通过选项-S使GCC在进行完编译后停止,生成.s的汇编程序。例如:gcc -S -o hello.s hello.c
3、汇编
这一阶段使用汇编器对汇编代码进行处理,生成机器语言代码,保存在后缀为.o的目标文件中。
当程序由多个代码文件构成时,每个文件都要先完成汇编工作,生成.o目标文件后,才能进入下一步的链接工作。
目标文件已经是最终程序的某一部分了,只是在链接之前还不能执行。可以通过-c选项生成目标文件:gcc -c -o hello.o hello.c
4、链接
经过汇编以后的机器代码还不能直接运行。为了使操作系统能够正确加载可执行文件,文件中必须包含固定格式的信息头,还必须与系统提供的启动代码链接起来才能正常运行,这些工作都是由链接器来完成的。gcc -o hello hello.c
5、运行:执行.EXE文件,得到运行结果。
⑵ 一个C程序的运行是从什么开始到什么结束的
C程序的入口是main函数,一般来说只要是正常运行结束的都是从main函数的第一句话开始,最后一句结束。
例如:
int main()//程序开始
{
printf("Hello!\n");
return 0;//程序结束,返回值
}
但如果程序执行到中间遇到 return(main函数里的) exit(不管是main函数还是子函数中) 等也是会结束程序的。
⑶ C语言程序的运行步骤
当编写完一个程序后,需要首先进行编译,然后再运行。
如下图所示,程序编写完毕后,点击工具栏中的Execute,选择compile(编译)。
如果没有错误,再选择Execute,选择run(运行)。
(3)程序的运行过程是从什么开始的扩展阅读:
dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。
如果你点击“确定”后,系统没有什么不正常,并且可以正常运行的话,你可以用这个软件清理掉这个开机加载项,以后开机就不会出现这个信息了。
下载和安装编译器。C语言需要通过编译器解释为计算机可以理解的机器码。 编译器通常是免费的, 不同的操作系统上一般使用不同的编译器。
对于Windows系统, 可以尝试 Microsoft Visual Studio Express,其是Windows平台上最流行的多语言IDE(集成开发环境),其集成了Microsoft开发的C语言编译器。对于OS X系统, Xcode是一款优秀的多语言IDE,其集成了C语言的编译器。对于Linux, gcc是一个不错的也是最流行的选择。
⑷ 计算机程序的执行过程是怎样的
执行程序的过程 :
开始执行程序时,必须先给程序计数器PC赋以第一条指令的首地址00H,然后就进入第一条指令的取令的取指令阶段。
第一条指令的执行过程:
取指令阶段:
①将程序计数器PC的内容(00H)送至地址寄存器AR,记为PC AR。
②程序计数器PC的内容自动加1变为01H,为取下一个指令字节作准备,记为PC+1 PC。
③地址寄存器AR将00H通过地址总线送至存储器,经地址译码器译码,选中00号单元,记为AR M。
④CPU发出"读"命令。
⑤所选中的00号单元的内容B0H读至数据总线DB,记为(00H) DB。
⑥经数据总线DB,将读出的B0H送至数据寄存器,记为DB DR。
⑦数据寄存器DR将其内容送至指令寄存器IR,经过译码,控制逻辑发出招待该条指令的一系列控制信号,记为DR IR,IR ID、PLA。经过译码,CPU"识别"出这个操作码就是MOV A,03指令,于是,它"通知"控制器发出执行这条指令的各种控制命令。
⑸ 简述程序的运行过程
执行程序的过程
:
开始执行程序时,必须先给程序计数器PC赋以第一条指令的首地址00H,然后就进入第一条指令的取令的取指令阶段。
第一条指令的执行过程:
取指令阶段:
①将程序计数器PC的内容(00H)送至地址寄存器AR,记为PC
AR。
②程序计数器PC的内容自动加1变为01H,为取下一个指令字节作准备,记为PC+1
PC。
③地址寄存器AR将00H通过地址总线送至存储器,经地址译码器译码,选中00号单元,记为AR
M。
④CPU发出"读"命令。
⑤所选中的00号单元的内容B0H读至数据总线DB,记为(00H)
DB。
⑥经数据总线DB,将读出的B0H送至数据寄存器,记为DB
DR。
⑦数据寄存器DR将其内容送至指令寄存器IR,经过译码,控制逻辑发出招待该条指令的一系列控制信号,记为DR
IR,IR
ID、PLA。经过译码,CPU"识别"出这个操作码就是MOV
A,03指令,于是,它"通知"控制器发出执行这条指令的各种控制命令。
⑹ 1、一个C程序的执行是从______。
一个C语言的执行是从本程序的main函数开始,到main函数结束。
但需要注意的是,也是有特殊情况的,若是代码中出现了exit函数,则直接结束程序,对于这一点还是需要了解的。
关于c语言需要了解的是,C语言用scanf()、printf()函数作入输入、输出函数,相对来说用法较复杂。而且C语言的最大优点是编译后代码运行效率接近汇编程序,速度快,资源占用少。因此早期很多重要应用软件、支撑软件甚至系统软件是用C语言编写。
其特点
简洁紧凑、灵活方便
C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
运算符丰富
C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。
⑺ 一个C程序的运行是从什么开始到什么结束的
C程序的入口是main函数,一般来说只要是正常运行结束的都是从main函数的第一句话开始,最后一句结束。x0dx0a例如:x0dx0aint main()//程序开始x0dx0a{x0dx0aprintf("Hello!\n");x0dx0areturn 0;//程序结束,返回值x0dx0a}x0dx0a但如果程序执行到中间遇到 return(main函数里的) exit(不管是main函数还是子函数中) 等也是会结束程序的。
⑻ c语言程序从哪开始执行
c语言程序从本程序的main函数开始执行。
在一个C语言源程序中,无论main函数书写在本程序的前部,还是后部,程序的执行总是从main函数开始,到main函数结束;但需要注意的是,也是有特殊情况的,若是代码中出现了exit函数,则直接结束程序。
一个C语言源程序有且仅有一个main函数,除main函数之外可以有若干个其它的函数,每个函数实现某一特定的操作。
简介:
main函数,又称主函数,是程序执行的起点,main是相对来说的,如同音学理论之主调于泛音,泛音即程序中的除main之外的其他函数,迎合人们的思考方式而生成的而非必定的模式。有主有次,执行起来条清缕析,既可将程序模块化又实现了一个闭合的整体。
main 函数是在程序启动中完成对具有静态存储期的非局部对象的初始化之后被调用的。它是程序在有宿主 (hosted)环境(亦即有操作系统)中所指定的入口点。自立程序(启动加载器,操作系统内核,等等)的入口点则是由实现定义的。
⑼ C语言程序的执行过程是什么
顺序执行,从main函数开始,顺序执行。
遇到调用的其它函数就先运行函数,然后继续执行主函数下面的语句。
当整个程序编写好后,编译器先编译,再连接各种库函数,然后执行程序。
⑽ 一个C程序的执行是从什么函数开始到什么函数结束
您好,此题我在二级c语言笔试中遇到过,原题如下:
一个c语言的执行是从:()
a)
本程序的主函数开始,到本程序的主函数结束
b)
本程序的第一个函数开始,到本程序的最后一个函数结束
c)
本程序的主函数开始,到本程序的最后一个函数结束
d)
本程序的第一个函数开始,到本程序的主函数结束
标准答案是a