2.2 C程序的组成部分
- #include<stdio.h> 包含另一个文件,stdio.h是C编译器软件包的标准部分,提供输入输出支持
- int main(void){ } 圆括号表明main()是一个函数名,int表明main()函数返回一个整数,void表明main()不带任何参数,花括号表示函数体开始和结束
- int num; 声明,将使用一个名为num的变量,而且num是int类型
在C语言中,所有变量都必须先声明才能使用,即必须列出程序中用到的所有变量名及其类型
变量命名规则:可用大小写字母、数字和下划线来命名,首字符必须是字母或下划线,不能是数字
- 所有变量放在一处,方便查找和理解程序用途
- 声明变量会促使在编写程序之前做一些计划。程序在开始时要获取哪些信息?希望程序如何输出?表示数据最好的方式是什么?
- 声明变量有助于发现隐藏在程序中的小错误,如变量名拼写错误
- 如果事先未声明变量,C程序无法通过编译
2.3 简单程序的结构
程序由一个或多个函数组成,必须有main()函数。函数由函数头和函数体组成。函数头包括函数名、传入该函数的信息类型和函数的返回类型。通过函数名后的圆括号可识别出函数,圆括号里可能为空,可能有参数。函数体被花括号括起来,由一系列语句、声明组成:
#include <stdio.h>
int main(void){
//语句
return 0;
}
2.4 提高程序可读性的技巧
可读性高的程序更容易理解,也容易修改和更正。提高程序的可读性有助于理清编程思路。前面提到过两种提高程序可读性的技巧:选择有意义的函数名和写注释。注意,使用这两种技巧时应避免重复啰嗦。
提高程序可读性的其他技巧:
- 在函数中用空行分隔概念上的多个部分
- 每条语句占一行
//fathm_ft.c -- 把2英寻转换成英尺
#include <stdio.h>
int main(void){ /* 把2两英寻(测水深的单位)转换成英尺 */
int feet, fathoms; //使用有意义的变量名
//使用空行
fathoms = 2;
feet = 6 * fathoms; //每行一条语句
printf("There are %d feet in %d fathoms!\n", feet, fathoms);
printf("Yes, I said %d feet!\n", 6 * fathoms);
return 0;
}
- 程序在开始处有一条注释,给出文件名和程序的目的
- 一条声明中声明多个变量,变量间用逗号隔开
2.6 多个函数
/* two_func.c -- 一个文件中包含两个函数 */
#include <stdio.h>
void butler(void); /* ANSI/ISO C函数原型 */
int main(void){
printf("I will summon the butler function.\n");
butler(); /* 函数调用 */
printf("Yes. Bring me some tea and writeable DVDs.\n");
return 0;
}
void butler(void) /* 函数定义开始 */
{
printf("You rang, sir?\n");
}
函数原型是一种声明形式,告知编译器正在使用某函数,因此函数原型也被称为函数声明。函数原型指明了函数的属性。无论main()在程序文件中处于什么位置,所有的C程序都从main()开始执行。但是,C的惯例是把main()放在开头,因为它提供了程序的基本框架。
C标准建议,要为程序中用到的所有函数提供函数原型。标准include文件(包含文件)为标准库函数提供了函数原型。
2.7 调试程序(略)
2.8 关键字和保留标识符
2.9 总结
C程序由一个或多个C函数组成。每个C程序必须必须包含一个main()函数,这是C程序要调用的第1个函数。简单的函数由函数头和后面的一对花括号组成,花括号中是由声明、语句组成的函数体。
在C语言中,大部分语句都以分号结尾。声明语句为变量指定变量名,并标识该变量中存储的数据类型。变量名是一种标识符。函数表达式语句用于调用指定的已命名函数。调用函数执行完毕后,程序会返回到函数调用后面的语句继续执行。