1.1 程序的构成,main函数和其他函数
1.1.1 main函数:
- 一个完整的C语言程序,是由一个、且只能有一个main()函数(又称主函数,必须有)和若干个其他函数结合而成(可选)。
- main函数是C语言程序的入口,程序是从main函数开始执行。
1.1.2 其他函数
- 从函数定义的角度看,函数可分为系统函数和用户定义函数:
系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这些函数,可以直接使用它们,如我们常用的打印函数printf()。
用户定义函数:用以解决用户的专门需要。
1.2源程序的书写格式
C 程序主要包括以下部分:
- 预处理器指令
- 函数
- 变量
- 语句 & 表达式
- 注释
编写C语言代码:hello.c
#include <stdio.h>
int main() {
//这是第一个C语言代码
printf("hello world\n");
return 0;
}
接下来我们讲解一下上面这段程序:
- 程序的第一行 #include <stdio.h> 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
- 下一行 int main() 是主函数,程序从这里开始执行。
- 下一行 /*...*/ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
- 下一行 printf(...) 是 C 中另一个可用的函数,会在屏幕上显示消息 "Hello, World!"。
- 下一行 return 0; 终止 main() 函数,并返回值 0。
C语言的源代码文件是一个普通的文本文件,但扩展名必须是.c。
1.3头文件,数据说明,函数的开始和结束标志以及程序中的注释
1.3.1 include头文件包含
- #include的意思是头文件包含,#include <stdio.h>代表包含stdio.h这个头文件
- 使用C语言库函数需要提前包含库函数对应的头文件,如这里使用了printf()函数,需要包含stdio.h头文件
#include< > 与 #include " " 的区别:
- < > 表示系统直接按系统指定的目录检索
- "" 表示系统先在 "" 指定的路径(没写路径代表当前路径)查找头文件,如果找不到,再按系统指定的目录检索
1.3.2 main函数
- 一个完整的C语言程序,是由一个、且只能有一个main()函数(又称主函数,必须有)和若干个其他函数结合而成(可选)。
- main函数是C语言程序的入口,程序是从main函数开始执行。
1.3.3 {} 括号,程序体和代码块
- {}叫代码块,一个代码块内部可以有一条或者多条语句
- C语言每句可执行代码都是";"分号结尾
- 所有的#开头的行,都代表预编译指令,预编译指令行结尾是没有分号的
- 所有的可执行语句必须是在代码块里面
1.3.4 注释
- //叫 行注释,注释的内容编译器是忽略的,注释主要的作用是在代码中加一些说明和解释,这样有利于代码的阅读
- /**/叫 块注释
- 块注释是C语言标准的注释方法
- 行注释是从C++语言借鉴过来的
1.3.5 printf函数
- printf是C语言库函数,功能是向标准输出设备输出一个字符串
- printf(“hello world\n”);//\n的意思是回车换行
1.3.6 return语句
- return代表函数执行完毕,返回return代表函数的终止
- 如果main定义的时候前面是int,那么return后面就需要写一个整数;
- 如果main定义的时候前面是void,那么return后面什么也不需要写
- 在main函数中return 0 代表程序执行成功,return -1 代表程序执行失败
- int main()和void main()在C语言中是一样的,但C++只接受int main这种定义方式
1.4 C语言的风格
1.4.1 缩进
- Tabs(制表符)是8个字符的大小,因此缩进也应该是8个字符的大小。
- 缩进背后的思想是:清楚地定义一个控制块从哪里开始,到哪里结束。
1.4.2 放置花括号
- C程序中另一个要主意的就是花括号的放置。与缩进尺寸不同的是,关于如何放置花括号没有技术上的理由。
- 另外一种情况,就是函数:函数应当把左右括号都放在行首。
- 注意这种花括号的放置减少了空行的数目,并没损害可读性。因此,当屏幕上不可以有很多空行时,你就有更多的空行来安插注释。
1.4.3 标识符命名规则
- 标识符不能是关键字。
- 标识符只能由字母、数字、下划线组成。
- 第一个字符必须为字母或下划线。
- 标识符中字母区分大小写。
1.4.4 注释
注释是有用的,但过量的注释则是有害的。不要试图在注释中解释你的代码是如何工作的:把代码是如何工作的视为一件显然的事情会更好些,而且,给糟糕的代码作注释则是在浪费时间。