1 C语言程序设计概述 1
1.1 程序设计的基本概念 1
1.1.1 计算机语言 1
1.1.2 程序概述 2
1.1.3 算法及其描述 3
1.1.4 结构化程序设计 6
1.1.5 C语言的特点 7
1.2 C语言程序的结构和书写格式 8
1.2.1 C语言程序的结构 8
1.3.1 Turbo C 2.0的安装 9
1.3 C语言程序运行环境简介 9
1.2.2 C语言程序的书写格式 9
1.3.2 Turbo C 2.0的启动、退出与设置 10
1.3.3 Turbo C 2.0的使用 11
习题 12
实验 13
2 数据类型和表达式 14
2.1 标识符、常量、变量 14
2.1.1 标识符 14
2.1.2 常量 14
2.2 基本数据类型 15
2.2.1 整型数据 15
2.1.3 变量 15
2.2.2 实型数据 16
2.2.3 字符型数据 17
2.2.4 变量初始化 18
2.3 运算符和表达式 18
2.3.1 算术运算符和算术表达式 18
2.3.2 赋值运算符和赋值表达式 19
2.3.3 关系运算符和关系表达式 19
2.3.4 逻辑运算符和逻辑表达式 20
2.3.5 自增运算符、自减运算符及表达式 21
2.3.7 不同类型数据间的转换 22
2.3.6 逗号运算符和逗号表达式 22
习题 23
实验 24
3 简单C语言程序设计 26
3.1 顺序结构程序执行流程 26
3.2 C语言的基本语句 26
3.2.1 赋值语句 26
3.2.2 表达式语句 27
3.3.3 复合语句 27
3.2.4 空语句 27
3.3 数据输出函数 27
3.3.1 printf()函数 28
3.3.2 putchar()函数 29
3.3.3 puts()函数 30
3.4 数据输入函数 30
3.4.1 scanf()函数 30
3.4.2 getchar()函数 31
3.4.3 gets()函数 32
习题 32
实验 33
4 选择结构程序设计 35
4.1 if语句 35
4.1.1 if语句的格式 35
4.1.2 if语句的嵌套 37
4.1.3 条件运算符 38
4.2 switch语句 40
4.2.1 switch语句的一般格式 40
4.2.2 switch语句的执行过程 40
4.3 程序举例 41
习题 44
5 循环结构程序设计 47
5.1 while语句 47
5.2 do-while语句 48
5.3 for语句 49
5.4 循环的嵌套 51
5.5.1 break语句 53
5.5 break语句和continue语句 53
5.5.2 continue语句 54
5.6 goto语句 55
5.7 程序举例 55
习题 59
6 数组 61
6.1 一维数组 61
6.1.1 一维数组的定义 61
6.1.2 数组元素的引用与一维数组的初始化 61
6.1.3 程序应用举例 62
6.2.1 二维数组的定义 65
6.2 二维数组 65
6.2.2 二维数组的初始化与数组元素的引用 66
6.2.3 二维数组应用举例 66
6.3 字符数组 68
6.3.1 字符数组的定义 68
6.3.2 字符数组的初始化 68
6.3.3 字符数组的输入输出 69
6.3.4 字符串处理函数 69
6.3.5 字符数组应用举例 72
6.4 数组应用举例 75
习题 79
实验 82
7.1 库函数 84
7 函数 84
7.2 函数的定义和调用 87
7.2.1 函数的定义 87
7.2.2 函数的调用 88
7.3 函数的返回值及其类型 89
7.4 函数调用时参数间的传递 90
7.4.1 将变量、常量、数组元素作为参数的传递 90
7.4.2 将数组名作为参数的传递 91
7.5 函数说明 91
7.6 函数的嵌套调用 93
7.7 函数的递归调用 93
7.8.1 变量的作用域 95
7.8 作用域和存储类型 95
7.8.2 变量的存储类型 98
7.9 内部函数和外部函数 101
7.9.1 内部函数 101
7.9.2 外部函数 101
7.10 程序举例 102
习题 106
实验 110
8 编译预处理 112
8.1 宏定义 112
8.1.1 无参宏定义 112
8.1.2 带参宏定义 115
8.2 文件包含 119
习题 120
9 指针和指针变量 123
9.1 指针和指针变量的概念 123
9.2 指针变量的定义和对指针变量的操作 124
9.2.1 指针变量的定义与指针变量的赋值 124
9.2.2 对指针变量的操作 125
9.2.3 指针变量作为函数参数 127
9.3 数组的指针及利用指针对数组进行的操作 129
9.3.1 通过指针引用数组元素 129
9.3.2 二维数组和指针 133
9.3.3 二维数组名和指针数组作为实参 138
9.4 利用字符串的指针对字符串进行操作 139
9.4.1 字符串的表示和引用 139
9.4.2 字符串指针作函数参数 142
9.5 利用指向函数的指针变量调用函数 143
9.6 返回指针值的函数 144
9.7 主函数main()的形参 146
9.8 指向指针的指针变量 147
9.9 函数的指针和指向函数的指针变量 148
9.10 指针内容程序举例 150
习题 155
10.1.1 结构体类型的定义 164
10 结构体和共用体 164
10.1 结构体 164
10.1.2 结构体变量的定义、引用和初始化 165
10.1.3 结构体数组 168
10.1.4 结构体类型的指针变量 169
10.1.5 结构体的指针作为函数的参数 171
10.1.6 用指针处理链表 172
10.2 共用体 181
10.2.1 共用体的定义 182
10.2.2 共用体变量的定义和引用 182
10.2.3 共用体类型数据的特点 184
10.3.1 枚举类型的定义和枚举变量的说明 185
10.3 枚举类型 185
10.3.2 枚举变量的赋值和使用 186
习题 187
实验 188
11 位运算 189
11.1 位运算符 189
11.1.1 按位取反 189
11.1.2 移位 190
11.1.3 按位与 191
11.1.4 按位或 191
11.2.1 位段的定义和位段变量的说明 192
11.2 位段 192
11.1.5 按位异或 192
11.2.2 位段的使用 194
习题 195
实验 195
12 文件操作 196
12.1 文件概述 196
12.1.1 文件与文件名 196
12.1.2 文件的分类 196
12.1.5 文件类型FILE 197
12.2 文件指针 197
12.1.6 ANSI C语言的缓冲文件系统 197
12.1.4 构成文件的基本单元与流式文件 197
12.1.3 读文件与写文件 197
12.3 打开和关闭文件 198
12.3.1 文件的打开——fopen()函数 198
12.3.2 文件的关闭——fclose()函数 200
12.4 常用文件操作函数 200
12.4.1 文件的输入输出 200
12.4.2 缓冲文件的定位函数 206
12.4.3 文件检测函数 208
习题 208
实验 210
参考文献 212