目 录
第1章C语言和结构化程序设计1
1.1C语言的产生过程及特点1
1.1.1C语言的产生过程1
1.1.2C语言的特点2
1.2C语言程序的结构、书写格式和简单的C语言程序3
1.2.1C语言程序的结构3
1.2.2C语言程序的书写格式4
1.2.3简单的C语言程序4
1.3C语言程序的开发过程及开发环境6
1.3.1C语言程序的开发过程6
1.3.2Turbo C集成开发环境及其使用7
1.3.3Dev C++集成开发环境及其使用10
1.3.4Visual C++开发环境及其使用13
1.4算法和结构化程序设计18
1.4.1算法18
1.4.2结构化程序设计21
1.4.3简单程序的设计21
习题123
第2章数据类型、运算符与表达式24
2.1C语言的数据类型25
2.2常量、变量27
2.2.1常量27
2.2.2变量30
2.2.3变量赋初值31
2.3C语言的运算符和表达式31
2.3.1算术运算符和算术表达式32
2.3.2赋值运算符和赋值表达式34
2.3.3复合的赋值表达式35
2.3.4逗号运算符和逗号表达式35
2.4不同类型数据之间的转换36
2.4.1自动类型转换36
2.4.2强制类型转换38
习题239
第3章顺序结构程序设计41
3.1顺序结构的程序特点42
3.2赋值语句42
3.3数据输入输出43
3.3.1格式输出函数——printf函数43
3.3.2格式输入函数——scanf函数48
3.3.3字符输出函数——putchar函数52
3.3.4字符输入函数——getchar函数53
3.4C语句概述54
3.4.1复合语句54
3.4.2空语句54
3.4.3表达式语句55
3.4.4控制语句55
3.4.5函数调用语句55
3.5应用举例56
习题358
第4章选择结构程序设计60
4.1关系运算符和关系表达式60
4.1.1关系运算符及其优先顺序60
4.1.2关系表达式61
4.2逻辑运算符和逻辑表达式62
4.2.1逻辑运算符及其优先顺序62
4.2.2逻辑表达式63
4.3if语句63
4.3.1if语句与单分支结构63
4.3.2if…else语句与双分支结构64
4.3.3else…if语句与多分支结构65
4.3.4if…else语句的嵌套与分支的嵌套结构67
4.4条件表达式构成的选择结构69
4.4.1条件运算符69
4.4.2条件表达式与双分支结构69
4.5switch语句70
4.5.1break语句70
4.5.2switch语句与多分支结构71
4.6goto语句和标号74
4.7应用举例75
习题479
第5章循环结构程序设计82
5.1while语句与用while语句构成的循环结构83
5.1.1while语句83
5.1.2while构成的循环结构83
5.2do…while语句与用do…while语句构成的循环结构85
5.2.1do…while语句85
5.2.2do…while构成的循环结构85
5.3for语句与用for语句构成的循环结构87
5.3.1for语句87
5.3.2for语句构成的循环结构87
5.4三种循环的比较和嵌套90
5.4.1三种循环的比较90
5.4.2三种循环的嵌套90
5.5循环结构中的break语句和continue语句92
5.5.1循环结构中的break语句92
5.5.2continue语句94
5.6应用举例95
习题5101
第6章数组与字符串105
6.1一维数组105
6.1.1一维数组的定义105
6.1.2一维数组的初始化106
6.1.3一维数组的引用107
6.1.4一维数组应用举例107
6.2二维数组113
6.2.1二维数组的定义113
6.2.2二维数组的初始化114
6.2.3二维数组的引用114
6.2.4二维数组应用举例115
6.3多维数组117
6.4字符数组和字符串119
6.4.1字符数组的定义119
6.4.2字符数组的赋值——字符串的存储方法120
6.4.3字符串的输入121
6.4.4字符串的输出122
6.4.5字符串运算函数123
6.4.6二维字符数组125
6.4.7字符数组和字符串应用举例126
习题6128
第7章函数131
7.1概述131
7.2函数的定义132
7.2.1有参函数定义的一般格式132
7.2.2无参函数定义的一般格式133
7.2.3空函数133
7.3函数的返回值133
7.3.1return语句133
7.3.2函数的返回值134
7.4函数的调用136
7.4.1函数的调用格式136
7.4.2函数调用时的语法要求137
7.4.3调用函数和被调函数之间的数据传递137
7.5函数的声明138
7.6函数的嵌套调用140
7.7函数的递归调用140
7.8库函数的调用142
7.9数组作函数参数147
7.9.1数组元素作函数实参147
7.9.2数组名作函数参数148
7.10应用举例149
习题7151
第8章对函数的进一步讨论154
8.1局部变量和全局变量154
8.1.1局部变量154
8.1.2全局变量155
8.2变量的存储属性156
8.2.1变量的存储类型156
8.2.2局部变量使用的存储类型157
8.2.3全局变量使用的存储类型160
8.3函数的存储属性164
8.3.1内部函数164
8.3.2外部函数165
8.4编译预处理165
8.4.1宏定义165
8.4.2文件包含168
8.4.3条件编译170
习题8172
第9章指针174
9.1地址、指针的概念和指针变量174
9.1.1地址与指针174
9.1.2指针运算符&和175
9.1.3指针变量的定义175
9.1.4指针变量的赋值176
9.1.5指针变量的使用176
9.1.6指针运算178
9.2指针与函数179
9.2.1指针作函数参数179
9.2.2指向函数的指针180
9.2.3返回指针的函数(函数的返回值是指针)182
9.3指针与数组184
9.3.1指针与一维数组184
9.3.2指针与二维数组190
9.3.3指针数组193
9.4指针与字符串195
9.5指向指针的指针196
9.6main函数的参数197
9.7指针与内存的动态存储分配198
9.7.1内存动态存储分配函数198
9.7.2内存动态存储分配函数的应用200
习题9201
第10章用户自己定义的数据类型205
10.1结构体和结构体变量205
10.1.1结构体类型的定义205
10.1.2结构体变量的定义206
10.1.3结构体变量的初始化208
10.1.4结构体变量的引用208
10.1.5结构体变量应用举例209
10.2结构体数组210
10.2.1结构体数组的定义210
10.2.2结构体数组的初始化211
10.2.3结构体数组的引用212
10.2.4结构体数组应用举例212
10.3结构体指针213
10.3.1指向一个结构体变量的指针213
10.3.2指向一个结构体数组的指针215
10.4结构体与函数216
10.4.1结构体的成员作函数参数216
10.4.2结构体变量作函数参数217
10.4.3指向结构体的指针作函数参数218
10.4.4结构体数组作函数参数219
10.4.5函数的返回值是结构体类型222
10.4.6函数的返回值是指向结构体变量或结构体数组元素的指针226
10.5链表228
10.5.1用指针和结构体构成链表229
10.5.2链表的基本操作230
10.6共用体233
10.6.1共用体类型的定义233
10.6.2共用体变量的定义233
10.6.3共用体变量的引用234
10.6.4共用体应用举例235
10.7枚举237
10.7.1枚举类型的定义237
10.7.2枚举变量的定义238
10.7.3枚举变量的引用238
10.7.4枚举应用举例239
10.8用typedef定义新类型名240
习题10241
第11章位运算243
11.1位运算简介243
11.1.1位逻辑运算符243
11.1.2移位运算符245
11.2位赋值运算符246
11.3位段247
11.4应用举例249
习题11251
第12章文件的读写操作253
12.1C文件的概念253
12.2文件的打开和关闭254
12.2.1文件类型指针254
12.2.2fopen函数255
12.2.3fclose函数256
12.3文件的读/写256
12.3.1fgetc和fputc(putc和getc)函数256
12.3.2fread函数和fwrite函数258
12.3.3fscanf函数和fprintf函数261
12.3.4fgets函数和fputs函数262
12.4文件的定位及出错检测264
12.4.1顺序存取和随机存取264
12.4.2rewind函数264
12.4.3fseek函数264
12.4.4ftell函数265
12.4.5出错检测函数265
习题12267
第13章上机实验与指导269
上机实验1C程序的运行环境和运行C程序的方法269
上机实验2数据类型、运算符与表达式270
上机实验3顺序结构程序设计271
上机实验4顺序结构程序设计(续)273
上机实验5选择结构程序设计274
上机实验6选择结构程序设计(续)276
上机实验7循环结构程序设计277
上机实验8循环结构程序设计(续)278
上机实验9选择、循环结构程序设计278
上机实验10一维数组280
上机实验11二维数组280
上机实验12字符数组和字符串282
上机实验13函数(一)283
上机实验14函数(二)284
上机实验15函数(三)285
上机实验16指针(一)286
上机实验17指针(二)287
上机实验18指针(三)288
上机实验19结构体与链表289
上机实验20共用体与枚举289
上机实验21位操作290
上机实验22文件290
第14章总结292
14.1数据的类型及表示形式292
14.1.1数据的类型292
14.1.2数据的表示形式292
14.2运算符与表达式293
14.3算法294
14.4三种基本结构294
14.5用函数实现模块化程序设计294
14.6用文件实现数据的输入输出295
附录AASCII字符编码一览表296
附录BC语言的关键字及其用途297
附录CC语言运算符的优先级别和结合方向299
附录DC语言库函数301
参考文献307