C语言基础(一)——C语言程序的执行过程和构造

C语言程序的执行过程

预处理阶段

预处理器将提前执行部分指令,如处理预处理指令,删除注释等。源代码经过预处理器的处理后会输出新的代码(删除注释、展开宏、包含头文件)。
在预处理阶段,预处理器会处理以井号#开头的预处理指令。常见的预处理指令有#include#define等。预处理器会根据这些指令的要求进行相应的操作。

编译阶段

在这个阶段,源代码被翻译成汇编语言,汇编语言是一种低级语言。

汇编阶段

汇编器将汇编代码转换成机器代码,C语言程序被二进制数表示,使得程序可以被计算机识别。

链接阶段

C语言程序中经常有多个源文件,链接器解决了不同源文件之间的符号引用和地址关联。如果程序引用了其他源文件或库文件中的函数或变量,链接器将确保这些引用得到正确的解析。

生成可执行文件

链接器将生成可执行文件。


C语言程序的构造

注释

注释可以提高代码的可读性,在程序中的某些地方加入注释是一个非常明智的选择,不仅便于修改代码,而且在团队合作中起到了至关重要的作用。

双斜杠之前的文字不受影响//有些编译器支持双斜线表示注释双斜线之后的文字
之前的文字不受影响/*有的编译器支持用这样的符号注释中间的文字
有的编译器支持用这样的符号注释中间的文字
有的编译器支持用这样的符号注释中间的文字
有的编译器支持用这样的符号注释中间的文字*/之后的文字不受影响

头文件

#include开头的部分,我们称之为头文件,头文件中会出现函数声明,宏的定义等。
我们可以使用以下两种方式引用头文件。

#include<>
#include""

如果说对于C语言的研究足够深入,程序员是可以自行编写头文件的。


宏定义

可以使用 #define 指令定义宏,用于进行文本替换。

#define PAI 3.1415926

执行宏定义指令之后,程序中的常量PAI都会被替换为3.1415926。


函数

函数简介

C语言中一个极为重要的组成部分——函数。在C语言中,函数是一段执行特定任务的代码块,可以被程序中其他地方调用。函数提供了一种将代码模块化和组织起来的方式,使得程序更加结构化、易读和易维护。

函数定义

函数的定义包括函数的返回类型、函数名、参数列表和函数体。
比如一个计算加和的简单函数:

int add(int a, int b)
{
   return a + b;
}

int是函数的返回类型,return后面的部分是返回值。因为是计算两个int型的整数(a和b)的和,所以返回值的返回类型是int。
如果函数的返回类型是void,那么不用return返回值。
add是函数名,(int a,int b)是参数列表,这里的a和b叫做形参。调用函数时需要使用函数名和实参列表,下面是调用add函数的一个例子。

int result = add(3, 5);  

其余部分就是函数体,函数体必须用{}框在一起。


函数分类

库函数

库函数是一组在编程中可被重复使用的已经被封装好的函数集合。这些函数通常包含在标准库或外部库中。也就是在头文件中可供调用的函数。

自定义函数

自定义函数是由程序员自己写的函数,自定义函数写在main函数之外,头文件之后。

主函数(main函数)

主函数,即main函数。主函数的特殊性是在一个程序中,只能出现一个main函数,而且在执行程序时会从main函数开始执行。

下面是初学者最常用的main函数定义:

int main()
{
	return 0;
}

在历史上,曾出现返回值为void的主函数,只不过,现在不会再使用了。

void main()
{
}

有关函数的更多知识,详情请查看函数的调用与声明一文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mottte

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值