第1章 C语言程序设计基础 1
1.1 简单C语言程序的构成和格式 1
1.2 C语言的特点 2
练习题 3
第2章 数据类型与运算 5
2.1 常量与变量 5
2.1.1 常量与符号常量 5
2.1.2 变量 6
2.2 整型数据 7
2.2.1 整型常量 7
2.2.2 整型变量 8
2.2.3 整型数据的分类 9
2.3 实型数据 9
2.3.1 实型常量 9
2.3.2 实型变量 10
2.4 字符型数据 10
2.4.1 字符常量 10
2.4.2 字符变量 11
2.5 各种数据类型间的混合运算 12
2.6 算数运算符和算数表达式 13
2.6.1 基本算术运算符和算术表达式 13
2.6.2 算术运算符的优先级和结合性 13
2.6.3 强制类型转换运算符 14
2.6.4 自加、自减运算符 14
2.7 赋值运算符和赋值表达式 14
2.7.1 赋值运算符和赋值表达式 14
2.7.2 复合的赋值运算符 15
2.7.3 赋值运算中的类型转换 15
2.8 关系运算和逻辑运算 16
2.8.1 关系运算符和关系表达式 16
2.8.2 逻辑运算符和逻辑表达式 16
2.9 逗号运算符和逗号表达式 18
2.10 位运算 18
练习题 19
第3章 顺序结构 23
3.1 C语句概述 23
3.2 数据的输入/输出格式 24
3.2.1 printf函数 25
3.2.2 scanf函数 28
3.3 字符数据输入/输出 30
3.3.1 putchar函数 30
3.3.2 getchar函数 31
3.4 程序举例 31
练习题 33
第4章 选择结构 40
4.1 if语句 40
4.1.1 if语句的3种基本形式 40
4.1.2 嵌套的if语句 44
4.2 switch语句 45
4.3 条件运算符和条件表达式 48
练习题 50
第5章 循环结构 55
5.1 用while语句构成循环 55
5.2 用do-while语句构成循环 58
5.3 用for语句构成循环 60
5.4 循环的嵌套 63
5.5 break语句和continue语句 65
5.5.1 break语句 65
5.5.2 continue语句 67
练习题 68
第6章 数组与字符串 73
6.1 一维数组 73
6.2 二维数组 76
6.3 字符数组 79
6.3.1 字符数组的定义和初始化 79
6.3.2 字符数组的输入和输出 79
6.4 字符串处理函数 81
练习题 83
第7章 函数 88
7.1 函数的定义和返回值 88
7.2 函数的调用 89
7.2.1 函数调用的形式 89
7.2.2 对被调用函数的说明 90
7.2.3 函数间变量作参数的传递 91
7.2.4 函数的嵌套调用和递归调用 94
7.3 函数间数组做参数的传递 94
7.3.1 数组元素作函数实参 94
7.3.2 数组名作函数实参 95
7.4 局部变量和全局变量 98
7.4.1 局部变量 98
7.4.2 全局变量 99
7.5 变量的存储类别 100
7.5.1 局部变量的存储类别 101
7.5.2 全局变量的存储类别 102
7.6 编译预处理 104
7.6.1 宏定义和调用 104
7.6.2 文件包含 105
练习题 105
第8章 指针 114
8.1 指针和指针变量的概念 114
8.2 用指针访问变量 115
8.2.1 指针变量的定义、赋值 115
8.2.2 指针变量的引用 115
8.3 数组与指针 117
8.3.1 一维数组与指针 117
8.3.2 二维数组与指针 118
8.4 字符串与指针 119
8.5 指针作函数参数 121
8.5.1 指针变量作函数参数 121
8.5.2 数组名作函数参数 122
8.5.3 字符指针作函数参数 123
8.6 返回指针值的函数 125
8.7 指针数组和指向指针的指针 126
8.7.1 指针数组 126
8.7.2 指向指针的指针 126
8.8 函数的进一步讨论 127
8.8.1 main()函数的参数 127
8.8.2 指向函数指针变量的定义 128
练习题 128
第9章 结构体与共用体 133
9.1 用typedef定义新类型 133
9.2 结构体类型 134
9.2.1 结构体类型的定义 134
9.2.2 结构体变量定义、成员引用和初始化 135
9.2.3 结构体数组的定义、初始化和引用举例 139
9.2.4 结构体指针变量 141
9.2.5 结构体在函数内的传递 143
9.2.6 用结构体构成链表 147
9.3 共用体类型 150
9.3.1 共用体变量的定义 150
9.3.2 共用体变量的成员引用 151
9.3.3 共用体类型数据的特点 151
练习题 152
第10章 文件 157
10.1 C语言文件的概念 157
10.2 文件类型指针 157
10.3 文件的打开和关闭 158
10.3.1 文件的打开(fopen函数) 158
10.3.2 文件的关闭(fclose函数) 159
10.4 文件的读/写 160
10.4.1 fgetc函数和fputc函数 160
10.4.2 fgets函数和fputs函数 161
10.4.3 fread函数和fwrite函数 162
10.4.4 fscanf和fprintf函数 163
10.5 文件的定位与检测 165
10.5.1 文件的定位 165
10.5.2 文件的检测函数 166
练习题 167
第11章 C语言上机指导 169
11.1 实验1:熟悉C语言的运行环境 169
实验目的 169
实验内容 169
11.2 实验2:数据类型和运算符的运用 172
实验目的 172
实验内容 172
11.3 实验3:格式输入/输出 174
实验目的 174
实验内容 175
11.4 实验4:选择语句的应用 177
实验目的 177
实验内容 177
11.5 实验5:while和do...while语句的应用 181
实验目的 181
实验内容 181
11.6 实验6:for语句和嵌套循环语句的应用 184
实验目的 184
实验内容 184
11.7 实验7:一维数组的应用 187
实验目的 187
实验内容 187
11.8 实验8:二维数组的应用 191
实验目的 191
实验内容 191
11.9 实验9:字符数组的应用 195
实验目的 195
实验内容 195
11.10 实验10:函数的定义和调用 198
实验目的 198
实验内容 198
11.11 实验11:数组作为函数参数 201
实验目的 201
实验内容 201
11.12 实验12:指针变量的定义、数组和指针 206
实验目的 206
实验内容 206
11.13 实验13:结构体的应用 209
实验目的 209
实验内容 210
11.14 实验14:综合练习 212
实验目的 212
实验内容 213
附录1 C语言中的关键字 217
附录2 C语言中的运算符及优先级 218
附录3 常用字符与ASCⅡ码对照表 220
附录4 库函数 221