C语言程序的构成
C语言程序的构成
章 C语言程序的构成
与C++、Java相比,C语言其实很简单,但却非常重要。因为它是C++、Java的基础。
不把C语言基础打扎实,很难成为程序员高手。
一、C语言的结构
先通过一个简单的例子,把C语言的基础打牢。
/* clang01_1.c */ #include
int main(void) {
printf(“这是劝学网的C语言教程。\n”);
return 0;
}
C语言的结构要掌握以下几点:
? C语言的注释是/* ··· */,而不是//···,//是C++的单行注释,有的C语言版本也认可。
? C语言区分大小写,每句以分号结尾。
? C语言程序是从main函数开始的。函数的返回值如果缺省则为int,而不是void。 ? 函数必须用return来返回。即使void类型也不建议省略。
? 使用函数时须包含相应的头文件。自定义的头文件用双引号,C语言自身的头文件用
二、main()函数的写法与含义
main()的参数和返回值全部省略,这和上例含义相同。省略写法是一种很不好的习惯。
main() int main(void) { { ··· 等同于 ··· } }
main()的参数是一种不限个数的写法,argc代表参数的
个数,真正的参数是放在argv[]数组里面的。注意:当数组当参数用时,数组被降格为指针。初学者先照着样子写,以后小雅会详细说明指针和数组的区别。
int main(int argc, char *argv[]) int main(int argc, char **argv)
{ { ··· 也可写成 ··· } }
三、头文件的意义
每个C程序通常分为两个文件。一个文件用于保存程序的声明(declaration),称为头文件。另一个文件用于保存程序的实现(implementation),称为定义(definition)文件。 C程序的头文件以“.h”为后缀,C 程序的定义文件以“.c”为后缀。
头文件的内容也可以直接写C程序中,但这是很不好的习惯。许多初学者用了头文件,却不明其理。在此略作说明。
? 通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来
调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。
? 头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。
关于头文件的内容,初学者还必须注意。
? 头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不能写语句命令。
? 可以申明函数,但不可以定义函数。 ?? 可以申明常量,但不可以定义变量。
?? 可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。
?? 结构的定义、自定义数据类型一般也放在头文件中。
?? #include ,编译系统会到C语言固定目录去引用。#include “filename.h”,系统一般首先在当前目录查找,然后再去环境指定目录查找。
四、好的风格是成功的关键
版本申明、函数功能说明、注释等是C语言程序的一部分。不养成很好的习惯则不能成为C语言高手(专业人员)。
02章 C语言的变量和数据类
型
掌握变量的有效范围、基本数据类型是本章的内容。
一、基本数据类型
基本数据类型只有5种,另外加上布尔型、数组、结构类型、枚举类型等都是基本类型的一种变化。指针是一种地址操作, 必须和某一种数据类型相结合才有意义。自定义数据类型则是将以上类型进行组合变化后重新命名而已。
? ? ? ? ?
char 字符型 int 整型 float 浮点型
double 双精度浮点型 void 无类型
不同的C语言版本都扩充了许多自己的类型,这些全是基本类型的变化(主要是数据范围的变化),扩充的修饰
符有2组(short和long,signed和unsigned)。下面列出VC的基本类型及部分扩充类型,以供参考: 类型名称 int
字节数 *
其它称呼