第一章C语言入门基础 1
1.1 C程序的结构 4
1.1.1概述 4
1.1.2 C程序的构成 5
1.2 C程序入门 6
1.3 C程序的一些概念 7
1.3.1运算符 7
1.3.2表达式 7
1.3.3常量 8
1.3.4变量 9
1.3.5标识符 9
1.3.6变量地址 10
1.3.7关键字、保留字 10
1.3.8数据的输入和输出 10
第二章C的数据类型 17
2.1 C语言的基本数据类型 18
2.2整型数据 19
2.2.1整型常量 19
2.2.2整型变量 20
2.2.3整型变量的使用 20
2.2.4整型变量的分类及数据范围 20
2.3实型数据 22
2.3.1实型常量 22
2.3.2实型变量 23
2.3.3实型变量的使用 23
2.3.4实型变量的分类及数据范围 23
2.3.5实型数据的有效位 23
2.4字符型数据 24
2.4.1字符常量 25
2.4.2转义字符 25
2.4.3字符变量 25
2.4.4字符数据在内存中的存储形式 25
2.4.5字符串常量 26
2.4.6不同类型数据的混合运算 27
第三章 运算符、表达式 35
3.1 C语言的运算符 36
3.2 C语言的表达式 37
3.2.1表达式 37
3.2.2算术运算符与算术表达式 37
3.2.3关系运算符与关系表达式 38
3.2.4逻辑运算符与逻辑表达式 39
3.2.5赋值运算符与赋值表达式 39
3.2.6自增、自减运算符和自增、自减表达式 40
3.2.7条件运算符与条件表达式 41
3.2.8“&’,和“*”运算 41
3.2.9逗号运算符和逗号表达式 41
3.2.10 sizeof()运算符 42
3.2.11强制类型转换运算符与强制类型表达式 43
3.2.12运算符的优先级和结合性 43
第四章C程序语句、三种基本结构 50
4.1 C语句概述 52
4.2程序的三种基本结构 53
第五章 选择结构程序设计 58
5.1if语句 59
5.2 switch语句 60
第六章 循环控制 71
6.1概述 73
6.2 goto语句和if语句构成循环 73
6.3 while语句 73
6.4 do~while语句 75
6.5 for语句 76
6.6 break语句和continue语句 79
6.6.1 break语句 79
6.6.2 continue语句 79
6.6.3 continue语句和break语句的区别 79
第七章 数组 87
7.1一维数组 89
7.1.1一维数组的定义 89
7.1.2一维数组元素的引用 89
7.1.3一维数组的初始化 91
7.2二维数组 92
7.2.1二维数组的定义 92
7.2.2二维数组的引用 92
7.2.3二维数组的初始化 93
7.3字符数组 94
7.3.1字符数组的定义 94
7.3.2字符数组的初始化 94
7.3.3字符数组的输入输出 96
7.3.4字符串处理函数 97
第八章 函数 106
8.1概述 108
8.2库函数 108
8.2.1使用库函数 108
8.2.2库函数的调用方法 109
8.3自定义函数 110
8.3.1无参函数的定义形式 110
8.3.2有参函数定义的一般形式 110
8.4函数的调用 112
8.5函数的返回值 113
8.6函数参数的传递方式 114
8.6.1值传递 114
8.6.2地址传递 115
8.7函数的嵌套调用 116
8.8函数的递归调用 116
8.9变量的作用域及其存储类型 117
8.9.1定义变量 117
8.9.2局部变量及其作用域 118
8.9.3全局变量及其存储类型 119
第九章 预处理命令 127
9.1宏定义 128
9.1.1无参数的宏定义 128
9.1.2有参数的宏定义 130
9.2“文件包含”处理 132
9.3条件编译 134
第十章 指针 140
10.1地址和指针 143
10.1.1地址 143
10.1.2指针和指针变量 144
10.2指针变量的定义 145
10.2.1指针变量的定义 145
10.2.2指针变量的基类型 145
10.2.3指针与指针变量的区别 145
10.2.4指针变量的赋值 145
10.3指针变量的运算 146
10.3.1指针变量的两个有关的运算符 146
10.3.2指针变量的移动 147
10.3.3指针变量间的其他运算 147
10.4指针与数组 150
10.4.1数组指针 150
10.4.2数组的引用 150
10.4.3用数组名作函数参数 155
10.5字符串和字符指针变量 157
10.5.1字符数组与字符串 157
10.5.2字符指针 158
10.6指针与函数 160
10.6.1指向函数的指针 160
10.6.2返回值为指针的函数 164
10.6.3命令行参数 166
10.7指向多维数组的指针和指针变量 167
10.7.1多维数组的地址 167
第十一章 结构体与联合 178
11.1概述 184
11.2结构体类型变量的定义 185
11.3结构体变量的引用 188
11.4结构体变量的初始化 190
11.5结构体数组 190
11.5.1定义结构体数组 190
11.5.2结构体数组的初始化 191
11.6指向结构体类型数据的指针 192
11.7共用体 199
11.7.1共用体定义、使用和初始化 199
11.8枚举类型 204
11.8.1枚举类型定义、使用和初始化 204
11.9类型定义 206
11.10单链表插入、删除、查找等操作 207
11.10.1动态分配系统malloc、 calloc、 realloc和free函数 207
11.10.2单链表的基本操作 208
第十二章 文件 218
12.1C文件概述 221
12.1.1文件的概念 221
12.1.2从用户的角度看文件的分类 221
12.1.3从文件编码的方式来看文件的分类 222
12.2文件类型指针 222
12.2.1文件的结构体类型变量 222
12.2.2文件指针的定义 223
12.2.3文件的打开、关闭 223
12.2.4文件的顺序读写 226
12.3位置指针与文件定位 235
12.3.1位置指针复位函数rewind() 235
12.3.2随机读写fseek()函数 236
12.4文件检测函数 237
12.4.1文件结束检测函数函数feof() 237
12.4.2读写文件出错检测函数ferror() 237
12.4.3文件出错标志和文件结束标志置0函数clearerr() 238
12.5 C库文件 238
附录一ASCII码表 242
1.标准码(0~127) 242
2.扩展码(128~255) 243
附录二 运算符及其优先级汇总表………… 244
附录三C语言部分常用库函数 245
附录四C程序的一些常用算法 251
1.两数交换 251
2.大小写字母转换 251
3.递归法转换整数为字符 251
4.判断素数 251
5.求闰年 251
6.求N的阶乘 252
7.求m和n最大公约数和最小公倍数 252
8.求3个数由小到大的顺序输出 252
9.求ax*x+b*x+c方程的解 252
10求Fibonacci数列(f(n)=f(n-1)+f(n-2)) 252
11.迭代法求x=sqrt(a)(迭代公式:x(n+l)=(x(n)+a/x(n))/2绝对误差<0.00001) 253
12.求方程2*x*x*x-4*x*x+3*x-6的根 253
13.冒泡法排序(由小到大) 254
14.选择法排序(由小到大) 255
15.插入法排序 255
16.数列中查找一个关键字 255
17.汉诺塔(Hanoi)问题 256