第1部分 实用教程 3
项目1 C语言概述 3
1.1 C语言的发展和特点 3
1.1.1 C语言的发展 3
1.1.2 C语言的特点 4
1.2 C程序基本结构 5
1.3 C程序运行的上机步骤 7
项目2 数据基本类型 11
2.1 标识符、常量和变量 11
2.1.1 标识符 11
2.1.2 常量 11
2.1.3 变量 12
2.2 整型数据类型 12
2.2.1 整型常量 12
2.2.2 整型变量 13
2.3 实型数据类型(浮点型数据) 14
2.3.1 实型常量 14
2.3.2 实型变量 14
2.4 字符型数据类型 15
2.4.1 字符型常量 15
2.4.2 字符型变量 16
2.4.3 字符串常量 17
2.5 新类型定义 18
项目3 C语言的基本运算 19
3.1 算术运算 19
3.1.1 算术运算符 19
3.1.2 算术表达式 19
3.2 赋值运算 20
3.2.1 赋值运算符 20
3.2.2 赋值表达式 21
3.3 自增/自减运算和逗号运算 22
3.3.1 自增/自减运算符及其表达式 22
3.3.2 逗号运算符及其表达式 23
3.4 关系运算和逻辑运算 24
3.4.1 关系运算符及其表达式 24
3.4.2 逻辑运算符及其表达式 24
3.5 位运算 25
3.5.1 位运算符 25
3.5.2 位运算表达式 26
3.5.3 逻辑运算符与位运算符的区别 28
3.6 数据类型转换 29
3.6.1 自动转换 29
3.6.2 强制转换 30
项目4 顺序程序设计 32
4.1 C语言的基本语句 32
4.2 数据输出 34
4.2.1 格式输出函数(printf()函数) 34
4.2.2 字符输出函数(putchar()函数) 39
4.3 数据输入 40
4.3.1 格式输入函数(scanf()函数) 40
4.3.2 字符输入函数(getchar()函数) 43
项目5 分支程序设计 44
5.1 if语句与条件运算符 44
5.1.1 if语句的三种形式 44
5.1.2 条件运算符 46
5.2 if语句的嵌套 47
5.3 switch语句 48
项目6 循环控制 51
6.1 goto语句及用goto语句构成循环 51
6.2 基本循环程序设计 52
6.2.1 while语句 52
6.2.2 do-while语句 53
6.2.3 for语句 55
6.3 循环的嵌套 60
6.4 break语句和continue语句 61
6.4.1 break语句 61
6.4.2 continue语句 62
项目7 数组 64
7.1 一维数组 64
7.1.1 一维数组的定义和初始化 64
7.1.2 一维数组元素的引用 65
7.2 二维数组 67
7.2.1 二维数组的定义和初始化 67
7.2.2 二维数组元素的引用 69
7.3 字符数组 72
7.3.1 字符数组的定义和初始化 72
7.3.2 字符串及其结束标志 73
7.3.3 字符数组的输入输出 74
7.3.4 字符串处理函数 75
项目8 函数及存储类别 80
8.1 函数的定义与调用 80
8.1.1 函数概述 80
8.1.2 函数定义的一般形式 81
8.1.3 函数调用的一般形式 83
8.1.4 函数说明 84
8.2 函数参数及函数返回值 85
8.2.1 函数参数 85
8.2.2 函数的返回值 87
8.3 函数调用的进一步讨论 88
8.3.1 函数的嵌套调用 88
8.3.2 函数的递归调用 89
8.4 存储类别 93
8.4.1 作用域和生存期 93
8.4.2 局部变量和全局变量 94
8.4.3 变量的存储类别 96
8.4.4 函数的存储类别 99
项目9 编译预处理 101
9.1 宏定义 101
9.1.1 不带参数的宏定义 101
9.1.2 带参数的宏定义 102
9.1.3 终止宏定义 103
9.2 文件包含 105
项目10 指针 107
10.1 指针的概念 107
10.1.1 地址和指针 107
10.1.2 指针变量的定义 108
10.2 指针的操作 109
10.2.1 指针变量的赋值及引用 109
10.2.2 指针的运算 111
10.3 指针与数组 112
10.3.1 指针与数组概述 113
10.3.2 一维数组和指针 113
10.3.3 二维数组和指针 115
10.4 指针与函数 118
10.4.1 指针作为函数的参数 118
10.4.2 返回指针的函数和指向函数的指针变量 122
项目11 结构体、共用体及枚举类型 126
11.1 结构体 126
11.1.1 结构体类型及变量的定义 126
11.1.2 结构体变量的初始化及引用 128
11.1.3 链表处理 136
11.2 共用体 142
11.2.1 共用体类型及变量的定义 143
11.2.2 共用体变量的初始化及引用 144
11.3 枚举类型 145
项目12 文件 149
12.1 文件概述 149
12.2 文件的打开与关闭 150
12.2.1 文件类型指针 150
12.2.2 文件的打开(fopen函数) 151
12.2.3 文件关闭(fclose函数) 153
12.3 文件的读写操作 153
12.3.1 fputc函数和fgetc函数(putc函数和getc函数) 153
12.3.2 fread函数和fwrite函数 157
12.3.3 fprintf函数和fscanf函数 160
12.3.4 其他读写函数 160
12.4 文件的定位 162
12.4.1 rewind函数 162
12.4.2 fseek函数和随机读写 162
12.4.3 ftell函数 164
12.5 文件的出错检测 164
12.5.1 ferror函数 164
12.5.2 clearerr函数 164
第2部分 习题与解答 167
习题1及参考答案 167
习题2及参考答案 169
习题3及参考答案 172
习题4及参考答案 175
习题5及参考答案 180
习题6及参考答案 187
习题7及参考答案 197
习题8及参考答案 205
习题9及参考答案 211
习题10及参考答案 217
习题11及参考答案 227
习题12及参考答案 232
第3部分 上机实训 247
实训1 247
实训2 249
实训3 251
实训4 251
实训5 253
实训6 255
实训7 257
实训8 258
实训9 260
实训10 262
实训11 263
实训12 265
附录 271
附录A 标准ASCII字符集 271
附录B C语言关键字 271
附录C C运算符的优先级与结合性 272
附录D Turbo C 2.0常用库函数 273
附录E Turbo C 2.0上机过程 276
附录F Turbo C 2.0常见编译错误信息 279