第1章 程序设计基本概念 1
1.1程序和程序设计 1
1.2算法 2
1.3结构化程序设计和模块化结构 2
1.4真题自测 3
参考答案及解析 4
第2章 C程序设计的初步知识 8
2.1简单C语言程序的构成和格式 9
2.2标识符、常量和变量 10
2.3整型数据 10
2.4实型数据 11
2.5算术表达式 11
2.6赋值表达式 12
2.7自加、自减运算符和逗号运算符 12
2.8真题自测 13
参考答案及解析 16
第3章 顺序结构 21
3.1赋值语句 21
3.2数据输出 22
3.3数据输入 23
3.4复合语句和空语句 24
3.5真题自测 25
参考答案及解析 29
第4章 选择结构 34
4.1关系运算和逻辑运算 34
4.2 if语句和用if语句构成的选择结构 35
4.3条件表达式构成的选择结构 37
4.4 switch语句以及用switch语句和break语句构成的选择结构 38
4.5真题自测 39
参考答案及解析 44
第5章 循环结构 48
5.1 while语句和用while语句构成的循环结构 49
5.2 do .while语句和用do .while语句构成的循环结构 50
5.3 for语句和用for语句构成的循环结构 51
5.4循环结构的嵌套 54
5.5 break和continue语句在循环体中的作用 56
5.6真题自测 57
参考答案及解析 62
第6章 字符型数据 68
6.1字符型常量 68
6.2字符变量 69
6.3字符的输入和输出 70
6.4真题自测 73
参考答案及解析 78
第7章 函数 82
7.1库函数 82
7.2函数的定义和返回值 83
7.3函数的调用 84
7.4函数的说明 86
7.5调用函数和被调用函数之间的数据传递 86
7.6真题自测 87
参考答案及解析 92
第8章 地址和指针 96
8.1指针变量的定义和指针变量的基类型 96
8.2给指针变量赋值 98
8.3对指针变量的操作 99
8.4函数之间地址值的传递 100
8.5真题自测 103
参考答案及解析 108
第9章 数组 112
9.1一维数组的定义和一维数组元素的引用 113
9.2一维数组和指针 114
9.3函数之间对一维数组和数组元素的引用 116
9.4二维数组的定义和二维数组元素的引用 118
9.5二维数组和指针 119
9.6二维数组名和指针数组作为实参 120
9.7真题自测 122
参考答案及解析 128
第10章 字符串 133
10.1用一维字符数组存放字符串 133
10.2使指针指向一个字符串 134
10.3字符串的输入和输出 135
10.4字符串数组 136
10.5用于字符串处理的函数 138
10.6真题自测 139
参考答案及解析 143
第11章 对函数的进一步讨论 148
11.1传给main函数的参数 148
11.2通过实参向函数传递函数名或指向函数的指针变量 149
11.3函数的递归调用 150
11.4真题自测 151
参考答案及解析 154
第12章 C语言中用户标识符的作用域和存储类 157
12.1局部变量、全局变量和存储分类 158
12.2局部变量及其作用域和生存期 159
12.3全局变量及其作用域和生存期 160
12.4真题自测 161
参考答案及解析 165
第13章 编译预处理和动态存储分配 168
13.1编译预处理 168
13.2动态存储分配 169
13.3真题自测 170
参考答案及解析 175
第14章 结构体、共用体和用户定义类型 177
14.1用typedef说明一种新类型名 177
14.2结构体类型 178
14.3真题自测 181
参考答案及解析 185
第15章 位运算 188
真题自测 188
参考答案及解析 190
第16章 文件 192
16.1 C语言文件概念和文件的打开、关闭 192
16.2文件函数 194
16.3真题自测 196
参考答案及解析 200
第17章 真题汇编 204
真题试卷一 204
真题试卷二 215
真题试卷三 225
真题试卷四 235
真题试卷五 245
真题试卷一参考答案及解析 255
真题试卷二参考答案及解析 259
真题试卷三参考答案及解析 263
真题试卷四参考答案及解析 268
真题试卷五参考答案及解析 273