任务1 C程序设计概述 1
1.1 C语言的产生和发展 1
1.2 C语言的特点 2
1.3 C语言的版本 2
1.4 C语言程序的构成和书写格式 3
1.4.1 C语言程序的构成 3
1.4.2 C语言程序的书写格式 3
1.5 Turbo C的操作过程 5
1.5.1 Turbo C 2.0简介和启动 5
1.5.2 Turbo C 2.0集成开发环境 5
1.5.3 C语言程序的上机步骤 6
1.5.4 程序调试方法 6
实训 7
任务小结 9
思考与练习 9
任务2 C语言程序设计的基本概念 11
2.1 标识符、常量和变量 11
2.1.1 标识符 11
2.1.2 常量和变量 12
2.2 数据类型 14
2.2.1 整型数据 14
2.2.2 实型数据 16
2.2.3 字符型数据 18
2.2.4 变量赋初值 21
2.3 运算符与表达式 22
2.3.1 运算符简介 22
2.3.2 算术运算符和算术表达式 23
2.3.3 赋值运算符和赋值表达式 24
2.3.4 逗号运算符和逗号表达式 25
2.3.5 自加、自减运算符 26
2.3.6 强制类型转换运算符 27
2.4 各类数值型数据之间的混合运算 27
实训 29
任务小结 30
思考与练习 30
任务3 顺序结构程序设计 32
3.1 程序设计的三种基本结构 32
3.2 C程序设计的语句 33
3.3 标准库函数 35
3.4 数据输出 36
3.4.1 单字符输出函数putchar 36
3.4.2 字符串输出函数puts 37
3.4.3 格式输出函数printf 37
3.5 数据输入 41
3.5.1 单字符输入函数getchar 41
3.5.2 字符串输入函数gets 41
3.5.3 格式输入函数scanf 42
实训 46
任务小结 48
思考与练习 48
任务4 选择结构程序设计 51
4.1 关系运算符与关系表达式 51
4.2 逻辑运算符与逻辑表达式 53
4.3 条件运算符与条件表达式 56
4.4 if语句 58
4.4.1 单分支if语句 58
4.4.2 双分支if语句 59
4.4.3 嵌套的if语句 61
4.5 switch语句 66
4.6 程序举例 68
实训 70
任务小结 74
思考与练习 75
任务5 循环结构程序设计 78
5.1 while语句 78
5.2 do-while语句 80
5.3 for语句 82
5.4 循环结构的嵌套 84
5.5 break、continue和goto语句在循环结构中的作用 85
5.5.1 break语句 85
5.5.2 continue语句 87
5.5.3 goto语句 88
5.6 程序举例 89
实训 91
任务小结 93
思考与练习 94
任务6 数组 96
6.1 一维数组 96
6.1.1 一维数组的定义 97
6.1.2 一维数组的引用和初始化 98
6.1.3 一维数组程序举例 99
6.2 二维数组 101
6.2.1 二维数组的定义 101
6.2.2 二维数组的引用和初始化 102
6.2.3 二维数组程序举例 102
6.3 字符数组 104
6.3.1 字符数组的定义 104
6.3.2 字符数组的引用和初始化 104
6.3.3 字符数组与字符串的关系 105
6.3.4 字符数组的输入输出 106
6.3.5 字符串处理函数 107
6.4 程序举例 111
实训 113
任务小结 116
思考与练习 116
任务7 函数 119
7.1 函数的定义和返回值 120
7.1.1 函数的分类 120
7.1.2 函数的定义 120
7.1.3 函数的返回值 121
7.2 函数的调用方式 122
7.2.1 函数的调用 122
7.2.2 函数的调用方式 123
7.3 函数的说明 124
7.3.1 函数说明的形式 124
7.3.2 函数说明的位置 125
7.4 函数调用时数据的传递 126
7.5 程序举例 127
实训 129
任务小结 131
思考与练习 131
任务8 指针 135
8.1 变量的地址和指针 136
8.2 指针变量 136
8.2.1 指针变量的定义 136
8.2.2 指针变量的引用 137
8.3 指针与数组 139
8.3.1 指向数组元素的指针变量的定义与赋值 139
8.3.2 通过指针引用数组元素 139
8.3.3 指针变量的运算 141
8.3.4 指向多维数组的指针 142
8.4 指针与字符串 144
8.4.1 字符数组 144
8.4.2 字符指针 144
8.5 指向函数的指针 144
8.5.1 函数的指针 144
8.5.2 用函数指针作为函数参数 146
8.5.3 返回指针值的函数 147
8.6 指针数组 148
8.6.1 指针数组的概念 148
8.6.2 指向指针的指针 150
8.6.3 命令行参数 152
8.7 程序举例 153
实训 155
任务小结 156
思考与练习 157
任务9 编译预处理 160
9.1 宏定义 160
9.1.1 不带参数的宏 161
9.1.2 带参数的宏 162
9.2 文件包含 164
9.3 条件编译 165
任务小结 166
思考与练习 166
任务10 结构体与共用体 168
10.1 定义结构体 169
10.1.1 结构体类型定义 169
10.1.2 结构体类型变量的定义和使用 169
10.1.3 结构体数组 171
10.2 指向结构体数据的指针 173
10.2.1 指向结构体变量的指针 173
10.2.2 指向结构体数组的指针 175
10.3 共用体类型的定义 176
10.3.1 共用体类型变量的定义 176
10.3.2 共用体变量的引用 177
实训 178
任务小结 179
思考与练习 179
任务11 文件 182
11.1 文件的概念 182
11.1.1 文件与文件名 182
11.1.2 文件的分类 183
11.2 文件类型指针 183
11.3 打开和关闭文件 184
11.3.1 文件的打开 184
11.3.2 文件的关闭 186
11.4 文件的读写 187
11.4.1 字符读写函数fgetc和fputc 187
11.4.2 字符串读写函数fgets和fputs 190
11.4.3 数据块读写函数fread和fwrite 192
11.4.4 格式化读写函数fscanf和fprintf 194
11.5 文件的定位 196
11.6 文件检测函数 198
实训 199
任务小结 200
思考与练习 201
任务12 综合实训 203
12.1 职工工资管理系统 203
12.1.1 需求分析 203
12.1.2 概要设计 204
12.1.3 详细设计 205
12.1.4 程序清单 207
12.2 学生成绩管理系统 216
12.2.1 需求分析 216
12.2.2 概要设计 216
12.2.3 详细设计 218
12.2.4 程序清单 220
任务小结 229
附录A C运算符的优先级及其结合性 230
附录B ASCII码 231
附录C C库函数 239
参考文献 251