第1章 C语言概述 1
1.1 C语言概况 1
1.2 C语言的特点 1
1.3 C语言程序简介 2
一、简单的C程序介绍 2
二、C程序结构 4
1.4 C语言程序的运行(Turbo C 2.0的使用) 5
一、主菜单 6
二、Turbo C 2.0的配置文件 13
习题 13
第2章 C语言程序设计基础 14
2.1 算法与程序设计步骤 14
一、算法的概念 14
二、程序设计步骤 16
2.2 常量与变量 17
一、常量 17
二、变量 18
2.3 C语言的数据类型 19
一、整型数据 20
二、实型数据 22
三、字符型数据 23
2.4 数据类型的混合运算 25
一、自动类型转换 25
二、强制类型转换 25
2.5 算术运算 25
一、算术运算符 26
二、算术表达式 26
三、自增、自减运算 27
2.6 赋值运算 28
一、赋值运算符 28
二、赋值表达式 28
三、复合赋值运算 29
2.7 逗号运算 30
习题 31
第3章 顺序结构程序设计 32
3.1 C程序的组成 32
3.2 赋值语句 34
3.3 数据的输入与输出 34
一、数据的输出函数 35
二、数据的输入函数 39
习题 42
第4章 分支结构程序设计 44
4.1 关系运算 44
一、关系运算符 44
二、关系表达式 45
4.2 逻辑运算符和逻辑表达式 45
一、逻辑运算符 45
二、逻辑表达式 46
4.3 if语句 47
一、if语句的一般格式 47
二、if语句的执行过程 48
三、if语句的使用 49
四、if语句的嵌套 51
五、条件运算 53
4.4 switch语句 55
习题 57
第5章 循环结构程序设计 59
5.1 循环的概念 59
5.2 当型循环——while语句 59
一、while语句的一般格式 59
二、while语句的功能 60
三、while语句的使用 61
5.3 直到型循环——do-while语句 63
一、do-while语句的一般格式 63
二、do-while语句的功能 63
三、do-while语句的使用 64
5.4 计数循环——for语句 64
一、for语句的一般格式 64
二、for语句的功能及执行过程 65
三、for语句的使用 66
5.5 break和continue语句 67
一、break语句 67
二、continue语句 68
5.6 循环的嵌套 69
一、循环嵌套的概念 69
二、循环嵌套的执行流程 69
三、循环嵌套中的break语句 70
四、应用举例 70
5.7 循环小结 71
一、三种循环的异同点 71
二、综合应用举例 71
5.8 goto语句 73
习题 73
第6章 数组 75
6.1 数组的定义和引用 75
一、数组的定义 75
二、数组的引用 76
三、数组的初始化 78
四、数组应用举例 80
6.2 字符型数组 84
一、字符型数组的定义 84
二、字符型数组的初始化 85
三、字符型数组的访问 86
四、字符串常量及结束标志 87
五、字符型数组的输入输出 88
六、字符串处理函数 90
6.3 综合应用举例 93
习题 95
第7章 函数 98
7.1 函数的概念 98
7.2 函数的定义 98
7.3 函数的参数和返回值 100
一、函数的形参 100
二、函数的返回值 101
7.4 函数的调用 102
一、函数调用的一般格式 102
二、函数的实参及数据传递方式 104
三、函数调用的方式 105
四、函数声明 105
7.5 函数的嵌套调用、递归调用 107
一、函数的嵌套调用 107
二、函数的递归调用 108
7.6 数组作函数参数 110
一、数组元素作函数的实参 110
二、数组名作函数参数 111
三、多维数组名作函数参数 112
7.7 变量的作用域及存储类型 113
一、变量的作用域 113
二、变量的存储类型(生存期) 115
7.8 内部函数和外部函数 120
一、内部函数 121
二、外部函数 121
7.9 小结 122
习题 123
第8章 预处理命令 124
8.1 宏定义 124
一、不带参数的宏定义 124
二、带参数的宏定义 126
8.2 “文件包含”处理 130
8.3 条件编译 131
一、第一种形式 131
二、第二种形式 132
三、第三种形式 132
习题 133
第9章 指针 135
9.1 地址和指针的概念 135
一、地址概念 135
二、指针概念 137
9.2 指针变量的定义和引用 137
一、指针变量的定义 138
二、指针变量的引用 138
三、指针的运算 140
四、空指针和void指针 143
9.3 数组和指针 144
一、指向数组元素的指针 144
二、利用指针引用数组元素 145
三、数组名作为函数参数 148
四、指向多维数组的指针和指针变量 155
五、指针数组 159
9.4 字符串和指针 163
一、字符串的表示形式 163
二、使用字符串指针变量与字符数组的区别 169
9.5 指针与函数 171
一、函数指针变量 171
二、指针型函数 173
三、main函数的参数 175
9.6 指向指针的指针 176
一、一级指针和二级指针的概念 176
二、二级指针的定义和使用 177
9.7 用指针进行内存动态分配 179
一、如何进行动态内存分配 179
二、常用的动态内存分配函数 179
9.8 有关指针的数据类型和指针运算的小结 181
一、有关指针的数据类型的小结 181
二、指针运算小结 181
三、几种常见的指针错误 182
习题 184
第10章 结构体与共用体 185
10.1 概述 185
10.2 定义结构体类型变量的方法 186
一、先定义结构体,再定义结构体变量 186
二、声明结构体类型的同时定义结构体变量 186
三、直接定义结构体类型变量 186
10.3 结构体变量的引用 188
10.4 结构体变量的初始化 188
10.5 结构体数组 189
一、定义结构体数组 189
二、结构体数组初始化 190
三、结构体数组应用举例 190
10.6 指向结构体类型数据的指针 192
一、指向结构体变量的指针 192
二、指向结构体数组的指针 194
三、结构体指针变量作函数参数 196
10.7 共用体 197
一、共用体的概念 197
二、共用体变量的引用方式 198
三、共用体类型数据的特点 198
10.8 枚举类型 200
一、枚举类型的声明和枚举变量的定义 201
二、枚举类型变量的赋值和使用 201
10.9 用typedef定义类型 203
习题 204
第11章 位运算 206
11.1 位运算符和位运算 206
一、六种运算符 206
二、复合赋值运算符 209
11.2 位运算实例 209
习题 210
第12章 文件 211
12.1 C文件概述 211
一、文件的基本概念 211
二、文件的分类 211
三、文件的缓冲系统 212
四、文件指针类型 212
12.2 文件的打开与关闭 212
一、文件的打开——fopen()函数 213
二、文件的关闭——fclose()函数 214
12.3 文件的读写 214
一、读/写文件中的一个字符——fgetc()和fputc() 214
二、读/写一个字符串——fgets()和fputs() 216
三、读/写文件中数据块函数——fread()和fwrite() 216
四、对文件进行格式化读/写——fscanf()和fprintf() 217
五、读/写函数的选用原则 217
12.4 位置指针与文件定位 217
一、位置指针复位函数rewind() 218
二、随机读写函数fseek() 218
三、返回文件当前位置的函数ftell() 218
习题 219