情境一 简单C程序设计 1
案例描述 2
案例相关知识 2
1.1 C语言程序的基本结构 2
1.1.1 简单的C语言程序 2
1.1.2 输入/输出函数 4
1.1.3 C语言程序的结构特点 4
1.2 运行C程序的步骤与方法 4
1.2.1 运行C程序的步骤 4
1.2.2 C语言的版本及运行环境 5
1.2.3 C语言的字符集 7
1.2.4 C语言的词汇 7
案例分析与实现 9
小结 10
习题 10
情境二 数据类型、运算符、表达式和算法 11
案例描述 11
案例相关知识 11
2.1 常量与变量 11
2.1.1 常量 12
2.1.2 简单宏定义 12
2.1.3 变量 13
2.2 数据类型 13
2.3 常用运算符与表达式 15
2.3.1 C语言的运算符分类 15
2.3.2 算术运算符和算术表达式 16
2.3.3 运算符的优先级和结合性 17
2.3.4 强制类型转换运算符 17
2.3.5 自增、自减运算符 17
2.3.6 赋值运算符和赋值表达式 18
2.3.7 逗号运算符和逗号表达式 19
2.4 程序的灵魂——算法 20
2.4.1 算法的概念 20
2.4.2 简单算法举例 20
2.4.3 算法的特性 21
2.4.4 算法的表示方法 21
案例分析与实现 23
小结 24
习题 25
情境三 顺序结构 26
案例描述 26
案例相关知识 26
3.1 数据输入/输出的概念及在C语言中的实现 26
3.1.1 字符数据的输入与输出 27
3.1.2 格式输入与输出 29
3.2 C语言程序的结构 35
3.2.1 顺序结构程序设计举例 35
3.2.2 C程序的结构 36
3.3 C语句 38
3.3.1 C语句的作用和分类 38
3.3.2 赋值语句 39
案例分析与实现 40
小结 42
习题 43
情境四 选择结构 44
案例描述 44
案例相关知识 45
4.1 关系运算符和关系表达式 45
4.1.1 关系运算符及其优先顺序 45
4.1.2 关系表达式 45
4.2 逻辑运算符和逻辑表达式 46
4.2.1 逻辑运算符及其优先顺序 46
4.2.2 逻辑表达式 47
4.3 条件运算符与条件表达式 47
4.4 if语句 48
4.4.1 简单if语句形式 48
4.4.2 if...else形式 49
4.4.3 if...else if形式 49
4.5 if语句的嵌套 51
4.6 switch语句 52
案例分析与实现 54
小结 56
习题 56
情境五 循环结构 58
案例描述 58
案例相关知识 58
5.1 while语句 59
5.1.1 while语句的形式 59
5.1.2 while语句的执行过程 59
5.1.3 while语句的拓展实例 62
5.2 do...while语句 64
5.2.1 do...while语句的形式 64
5.2.2 do...while语句的执行过程 64
5.2.3 do...while语句的拓展实例 65
5.3 for语句 67
5.3.1 for语句的形式 67
5.3.2 for语句的执行过程 68
5.3.3 for语句的拓展实例 70
5.4 循环的嵌套 72
5.4.1 循环嵌套的执行过程 72
5.4.2 循环嵌套的拓展实例 76
5.5 break语句和continue语句 77
5.5.1 break语句 77
5.5.2 continue语句 79
案例分析与实现 80
小结 81
习题 82
情境六 数组 84
案例描述 84
案例相关知识 84
6.1 一维数组 84
6.1.1 一维数组的定义 84
6.1.2 一维数组的引用 85
6.1.3 一维数组的初始化 85
6.1.4 一维数组的拓展实例 86
6.2 二维数组 88
6.2.1 二维数组的定义 88
6.2.2 二维数组的引用 88
6.2.3 二维数组的初始化 88
6.2.4 二维数组的拓展实例 89
6.3 字符数组 91
6.3.1 字符数组的定义 91
6.3.2 字符数组的初始化 92
6.3.3 字符及字符串操作的常用函数 92
6.3.4 字符数组的拓展实例 94
案例分析与实现 95
小结 97
习题 97
情境七 函数 98
案例描述 98
案例相关知识 98
7.1 函数的定义 98
7.1.1 无参函数的定义 98
7.1.2 空函数 101
7.1.3 有参函数的定义 101
7.2 函数的调用 101
7.2.1 函数调用的一般方法 101
7.2.2 函数的声明 102
7.2.3 函数的参数与返回值 102
7.3 函数的嵌套调用 103
7.3.1 数组名作为函数参数 103
7.3.2 嵌套调用 104
7.4 函数的递归调用 106
7.5 局部变量和全局变量 108
7.5.1 变量的作用域和生存期 108
7.5.2 变量的存储类型 108
7.5.3 内部函数和外部函数 112
案例分析与实现 113
小结 115
习题 116
情境八 指针 118
案例描述 118
案例相关知识 118
8.1 指针的定义 118
8.2 指针变量 119
8.2.1 指针变量的定义 119
8.2.2 指针变量的引用 119
8.2.3 指针变量的初始化 122
8.2.4 指针变量的运算 122
8.3 指针与数组 124
8.3.1 指向数组元素的指针 124
8.3.2 一维数组元素的指针访问方式 124
8.3.3 指向多维数组的指针变量 125
8.3.4 指针与字符串 126
8.4 指针与函数 128
8.4.1 指针变量作为函数参数 128
8.4.2 数组指针作为函数参数 129
8.4.3 指针作为函数的返回值 130
8.4.4 指向函数的指针 131
案例分析与实现 135
小结 136
习题 136
情境九 结构体和共用体 138
案例描述 138
案例相关知识 138
9.1 结构体类型 138
9.1.1 结构体类型的形式 138
9.1.2 结构体变量的定义 139
9.1.3 结构体变量的引用 141
9.1.4 结构体变量的初始化 143
9.1.5 结构体数组的定义 144
9.1.6 结构体与函数 147
9.1.7 结构体变量的指针 148
9.1.8 类型定义符typedef 150
9.2 共用体 151
9.2.1 共用体的形式 151
9.2.2 共用体变量的定义 151
9.2.3 共用体变量的引用 152
9.3 枚举类型 154
9.3.1 枚举类型的定义 154
9.3.2 枚举类型的引用 155
案例分析与实现 158
小结 159
习题 160
情境十 文件 161
案例描述 161
案例相关知识 161
10.1 文件概述 161
10.1.1 文件的定义 161
10.1.2 文件指针 163
10.1.3 文件的打开 163
10.1.4 文件的关闭 165
10.2 文件的常用操作 167
10.2.1 字符的读写 167
10.2.2 字符串的读写 169
10.2.3 数据块读写函数 171
10.2.4 格式化读写函数 173
10.2.5 文件的定位 176
10.2.6 文件的检测 181
案例分析与实现 182
小结 183
习题 184
附录A C语言中的关键字 185
附录B C语言的常用转义字符 186
附录C ASCII码对照表 187
附录D C语言中的运算符优先级对照表 189
附录E C语言中的常见错误中英文对照表 190
附录F C语言中的库函数 196
参考文献 202