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