第1章 程序设计和C语言 1
1.1 程序设计的基本概念 3
1.1.1 程序和程序设计 3
1.1.2 计算机语言 3
1.1.3 算法的概念 3
1.1.4 结构化程序设计 4
真题演练 5
1.2 Visual C++6.0集成开发环境简介 6
1.2.1 VC 6.0的启动 6
1.2.2 VC 6.0的退出 6
1.2.3 VC 6.0集成开发环境介绍 6
1.2.4 修改已有的源程序 7
1.2.5 编译、连接信息的处理 8
1.3 C语言简介 9
1.3.1 如何学习C语言 9
1.3.2 C程序的构成 9
1.3.3 C程序的书写格式 10
1.3.4 C程序的开发过程 10
真题演练 11
1.4 C程序的上机步骤 11
课后总复习 13
第2章 程序设计基础 14
2.1 常量、变量和标识符 16
2.1.1 标识符 16
2.1.2 关键字 16
2.1.3 常量 16
2.1.4 符号常量 16
2.1.5 变量 17
真题演练 18
2.2 数据类型 19
2.3 整型数据 19
2.3.1 整型变量 19
2.3.2 整型常量 20
真题演练 21
2.4 实型数据 21
2.4.1 实型变量 21
2.4.2 实型常量 22
真题演练 22
2.5 字符型数据 23
2.5.1 字符变量 23
2.5.2 字符常量 23
2.5.3 字符型数据的运算 24
2.5.4 字符串常量 25
真题演练 25
2.6 不同数据类型之间的转换 26
真题演练 27
2.7 算术运算符和算术表达式 28
2.7.1 算术运算符 28
2.7.2 算术表达式 29
真题演练 30
2.8 赋值运算符和赋值表达式 30
2.8.1 赋值运算符和赋值表达式 30
2.8.2 复合的赋值表达式 31
真题演练 31
2.9 自增和自减运算符 32
真题演练 33
2.10 逗号运算符和逗号表达式 33
课后总复习 34
第3章 顺序结构程序设计 36
3.1 C语句分类 38
3.2 赋值语句 39
3.3 数据的输入与输出 39
3.4 数据的输入——scanf函数 40
3.4.1 scanf函数的调用格式 40
3.4.2 scanf函数的格式字符 41
3.4.3 scanf函数的使用说明 41
真题演练 42
3.5 数据的输出——printf函数 43
3.5.1 printf函数的调用格式 43
3.5.2 printf函数的格式字符 44
3.5.3 printf函数的使用说明 46
真题演练 46
3.6 数据的输入与输出——getchar函数和putchar函数 47
3.6.1 字符输入函数getchar 47
3.6.2 字符输出函数putchar 47
3.7 顺序结构程序举例 48
课后总复习 49
第4章 选择结构程序设计 50
4.1 关系运算符和关系表达式 52
4.1.1 关系运算符 52
4.1.2 关系表达式 52
真题演练 53
4.2 逻辑运算符和逻辑表达式 53
4.2.1 逻辑运算符 53
4.2.2 逻辑表达式 54
4.3 条件运算符和条件表达式 55
真题演练 56
4.4 if语句 56
4.4.1 if语句的基本形式 56
4.4.2 if语句的嵌套 58
真题演练 59
4.5 switch语句 59
真题演练 61
课后总复习 62
第5章 循环结构程序设计 64
5.1 用for语句构成的循环结构 66
5.1.1 for循环语句的一般形式 66
5.1.2 for循环语句的执行过程 66
真题演练 67
5.2 用while语句构成的循环结构 68
5.2.1 while循环语句的一般形式 68
5.2.2 while循环语句的执行过程 68
真题演练 69
5.3 do…while语句构成的循环结构 70
5.3.1 do…while循环语句的一般形式 70
5.3.2 do…while循环语句的执行过程 70
5.3.3 3种循环结构小结 71
真题演练 71
5.4 循环结构的嵌套 72
5.5 break语句和continue语句在循环体中的作用 73
5.5.1 break语句 73
5.5.2 continue语句 74
5.5.3 break语句和continue语句的区别 74
真题演练 75
5.6 goto语句 76
课后总复习 76
第6章 数组 79
6.1 有关数组的基本概念 81
6.2 一维数组 82
6.2.1 一维数组的定义 82
6.2.2 一维数组的引用 82
6.2.3 一维数组的初始化 83
6.2.4 一维数组应用举例 84
真题演练 86
6.3 二维数组 86
6.3.1 二维数组的定义 86
6.3.2 二维数组的引用 87
6.3.3 二维数组的初始化 88
6.3.4 二维数组应用举例 89
真题演练 90
6.4 字符数组 91
6.4.1 字符数组的定义 91
6.4.2 字符数组的引用 91
6.4.3 字符数组的初始化 91
6.4.4 字符数组的输入与输出 92
6.4.5 字符串处理函数 93
6.4.6 字符数组应用举例 95
真题演练 96
课后总复习 97
第7章 函数 99
7.1 库函数 101
7.2 函数定义 101
7.3 函数的参数和返回值 102
7.3.1 函数参数 102
7.3.2 函数返回值 103
真题演练 104
7.4 函数的调用 105
7.4.1 函数调用的一般形式 105
7.4.2 函数的嵌套调用 106
7.4.3 函数的递归调用 106
真题演练 107
7.5 函数的声明 108
7.5.1 函数声明的形式 108
7.5.2 函数声明的位置 109
7.6 函数参数传递 109
真题演练 110
课后总复习 111
第8章 变量的作用域和存储类别 113
8.1 变量的作用域 115
8.1.1 局部变量 115
8.1.2 全局变量 116
8.2 变量的存储类别 117
8.2.1 auto变量 117
8.2.2 static变量 118
8.2.3 register变量 119
8.2.4 extern变量 119
真题演练 121
8.3 函数的存储分类 122
8.3.1 内部函数 122
8.3.2 外部函数 122
课后总复习 123
第9章 指针 124
9.1 地址和指针的概念 126
9.2 指针变量 127
9.2.1 指针变量的定义 127
9.2.2 指针运算符 128
9.2.3 指针变量的初始化 129
9.2.4 指针的运算 129
真题演练 131
9.3 指针与一维数组 132
9.3.1 指向数组元素的指针变量 132
9.3.2 数组元素的引用 133
真题演练 135
9.4 指针与二维数组 135
9.4.1 二维数组及其元素的地址 135
9.4.2 指向数组元素的指针变量 137
真题演练 137
9.5 指针与字符串 138
9.5.1 使用字符指针实现字符串的存储 138
9.5.2 字符指针与字符数组的区别 139
真题演练 140
9.6 指针的指针 141
9.6.1 指针数组 141
9.6.2 指向指针的指针 142
9.7 指针与函数 144
9.7.1 指针作为函数参数 144
9.7.2 一维数组名作函数实参 145
9.7.3 二维数组名作函数实参 146
9.7.4 字符指针作函数实参 147
9.7.5 返回指针值的函数 147
9.7.6 函数指针 148
真题演练 149
9.8 main函数中的参数 150
课后总复习 151
第10章 编译预处理 154
10.1 宏替换 156
10.1.1 不带参数的宏定义 156
10.1.2 带参数的宏定义 157
真题演练 158
10.2 文件包含 159
课后总复习 159
第11章 结构体、共用体和用户定义类型 160
11.1 用typedef定义类型 162
11.2 结构体 162
11.2.1 结构体类型的说明 163
11.2.2 结构体变量的定义 164
11.2.3 结构体变量的初始化 165
11.2.4 结构体变量的引用 166
11.2.5 函数之间结构体变量的数据传递 166
真题演练 167
11.3 动态存储分配和链表 168
11.3.1 动态存储分配 168
11.3.2 动态链表的概念 169
11.3.3 利用结构体变量构成链表 170
11.4 共用体 173
11.4.1 共用体类型的说明和变量定义 173
11.4.2 共用体变量的引用 174
课后总复习 176
第12章 位运算 178
12.1 位运算符 180
12.2 位运算符详解 180
12.2.1 按位与运算 180
12.2.2 按位或运算 181
12.2.3 按位异或运算 181
12.2.4 按位非运算 182
12.2.5 左移运算 183
12.2.6 右移运算 183
真题演练 184
课后总复习 185
第13章 文件 186
13.1 文件概述 188
13.2 文件类型指针 189
13.3 文件的打开与关闭 189
13.3.1 文件的打开(fopen函数) 190
13.3.2 文件的关闭(fclose函数) 190
真题演练 191
13.4 文件的读/写 192
13.4.1 字符读/写函数fputc和fgetc 192
13.4.2 字符串读/写函数fputs和fgets 193
13.4.3 数据块读/写函数fread和fwrite 194
13.4.4 格式化读/写函数fprintf和fscanf 194
13.4.5 判断文件结束函数feof 195
13.5 文件的定位 195
13.5.1 rewind函数 196
13.5.2 fseek函数 196
13.5.3 ftell函数 196
真题演练 197
课后总复习 198
附录 200
附录A 无纸化上机指导 200
附录B 全国计算机等级考试二级C语言考试大纲 202
附录C 课后总复习参考答案 204