代码分析
源代码
以下就是我们上一个文章中编写过的程序。大家一定注意到,这个代码相比上一个代码多了很多的内容,这些内容并不影响程序的运行,因为这些是注释内容,本章节会为大家分析这个程序,以及教大家如何注释。注释是一个伟大的语言,我觉得它对于程序的意义是非凡的。因为,如果没有注释,可能过不久你写过的程序某一句代码,神都不能理解。
#include <stdio.h>
//#include 表示要包含头文件 头文件里面一般都是函数的声明
//<stdio.h> 标准输入输出头文件
//int 函数的返回值类型 先不用管 --后面讲函数的时候会讲
//main 主函数 是程序的入口 有且仅有一个
//() 里面是main函数的参数列表 --先不用管 也可以不写 但是括号必须写
//{} 里面是函数体 也就是要执行的内容
int main(int argc, const char *argv[])
{
//printf 是系统给我们提供的输出的函数 可以将内容输出到 终端
//"" 里面的就是想输出的内容 其中 \n 表示换行 也就是回车
printf("hello world\n");//C语言中 每条指令后面必须要有 分号 ;
//函数的返回值 先不用管
return 0;
}
//单行注释 注释是不会被编译和执行的
/*
多行
注释
*/
#if 0
多行
注释
#endif
代码解析
这个程序比较简单,语句较少,所以我们逐句分析。
#include <stdio.h>
这一行是导入一个名为stdio.h的头文件。
#include的作用就是导入头文件。
<>用于标识这是一个标准的头文件,如果你见过一些C/C++的程序代码,你会发现还有使用“ ”导入头文件的方式。这两种符号的不同通常用来指明导入的头文件是标准头文件,还是用户自定义的头文件。
stdio.h是一个标准的输入输出头文件,里面定义了输入输出的一些函数,导入这个文件,我们就可以使用里面定义好的东西。简单来说就是拿来主义,你有的函数,我不用自己写了,我导入了你的头文件,我就可以直接用。新手不必纠结里面的内容,后期学习过程中就会理解。
int main(int argc, const char *argv[])
这一行是程序执行的入口。简单来说,程序执行,首先就要进这个门,我们称之为main函数,所以说main函数是程序执行的入口函数。这一行目前先死记硬背,后面学习了函数才能深入理解意思,在这里不增加负担。
{
}
在下面就是这个大括号里面的内容,大括号在main函数的下面,表示属于main函数,main函数是入口,大括号的第一句就是程序执行的第一条实际意义的语句
printf(“hello world\n”);
这一行printf就是stdio.h中的一个标准输出函数,可以将()内的内容输出到控制台显示出来。输出的内容用“”括住。\n是一个转义字符,使用这两个字符标识一个换行符号的意思,将它原本的意思改变了,就称之为转义字符,后面你还会学到其他转义字符,基本都是以\加上一个字符的形式。
()里的内容是hello World!所以你程序执行以后显示的是这个,试着修改里面的内容看看是否显示发生变化,试着删除\n,看看程序的执行效果。
;标志着一句代码的结尾,类似于我们尝试用的。一样。
return 0;代表程序运行结束了,返回了一个0,从main函数进来,执行了一些代码,然后带个0回去了。
注释
C语言支持单行注释和多行注释,注释不影响程序的执行。还记得吗,在上一篇文章中说过,分布编译的预处理阶段就会删除注释。实际上分布编译和一步编译所做的内容是一样的。只是指令分为一步和四步的区别。
单行注释
//后面的内容就是注释,由于是单行注释,一旦换行,换行后的内容就不是注释内容了
多行注释
C语言支持两种多行注释,一种是\* *\,在两个星之间的内容就是注释的内容。
还有一种#if 0 #endif。在0下面,#endif之前的内容就是注释。这其实是一种预处理的判断,通常不用做常规注释。这种注释常用来注释代码,比如你之前写好的功能,然后客户只给了一部分功能的钱,删掉代码的话,客户付完钱,你还要再次把代码写上去。删除会增加你的工作量,就可以使用这种方法,注释代码,当客户再次付钱时,把0改成1,代码就不被注释了。所以这种注释用来注释代码非常好用。