情境一 简单C程序设计 1
1.1 C语言基本知识 1
1.1.1 C语言程序的基本结构和书写特点 1
1.1.2 输入/输出函数 2
1.1.3 C语言的结构特点 3
1.2 简单的C语言程序 3
1.2.1 C语言程序的执行过程 3
1.2.2 C语言的版本及运行环境 4
1.2.3 C语言的字符集 6
1.2.4 C语言词汇 6
习题 9
情境二 数据类型、运算符和表达式 10
2.1 常量与变量 10
2.1.1 常量 10
2.1.2 简单宏定义 11
2.1.3 变量 12
2.2 C语言的数据类型 12
2.3 常用运算符与表达式 14
2.3.1 C语言的运算符分类 14
2.3.2 算术运算符和算术表达式 14
2.3.3 算术表达式与运算符的优先级和结合性 15
2.3.4 强制类型转换运算符 16
2.3.5 自增、自减运算符 16
2.3.6 赋值运算符和赋值表达式 17
2.3.7 逗号运算符和逗号表达式 19
习题 21
情境三 顺序结构 22
3.1 基本输入/输出操作 22
3.1.1 字符数据的输入/输出 22
3.1.2 格式输入与输出 24
3.2 顺序结构程序设计举例 30
3.2.1 C程序的结构 31
3.2.2 赋值语句 32
习题 35
情境四 选择结构 36
4.1 if语句 36
4.1.1 C语言中语句的分类 36
4.1.2 关系运算符、逻辑运算符 38
4.1.3 简单if语句形式 39
4.1.4 if...else形式 40
4.1.5 if...else...if形式 41
4.2 if语句的嵌套 42
4.3 条件运算符与条件表达式 43
4.4 switch语句 44
习题 48
情境五 循环结构 49
5.1 while语句 49
5.2 do…while语句 54
5.3 for语句 58
5.4 循环的嵌套 63
5.4.1 循环嵌套的执行过程 63
5.4.2 循环嵌套结构的拓展实例 67
5.5 break语句和continue语句 68
5.5.1 break语句 68
5.5.2 continue语句 70
5.6 几种循环的比较 71
习题 73
情境六 数组 75
6.1 一维数组 75
6.1.1 一维数组的定义 75
6.1.2 一维数组的引用 76
6.1.3 一维数组的初始化 76
6.1.4 一维数组拓展实例 77
6.2 二维数组 79
6.2.1 二维数组的定义 79
6.2.2 二维数组的初始化 79
6.2.3 二维数组的引用 80
6.2.4 二维数组的拓展实例 80
6.3 字符数组 83
6.3.1 字符数组的定义 83
6.3.2 字符数组的初始化 83
6.3.3 字符及字符串操作的常用函数 83
6.3.4 字符数组的拓展实例 85
习题 89
情境七 函数 90
7.1 函数的定义 90
7.1.1 无参函数的定义 90
7.1.2 空函数 92
7.1.3 有参函数的定义 93
7.2 函数的调用 94
7.2.1 函数调用的一般方法 94
7.2.2 函数的声明 95
7.2.3 函数的参数与返回值 95
7.3 函数的嵌套调用 97
7.3.1 数组名作为函数参数 97
7.3.2 嵌套调用 98
7.4 函数的递归调用 100
7.5 局部变量和全局变量 102
习题 110
情境八 指针 112
8.1 指针变量 112
8.1.1 地址和指针的概念 112
8.1.2 指针变量的定义 113
8.1.3 指针变量的初始化 114
8.1.4 指针变量的引用 114
8.1.5 指针变量的运算 115
8.2 指针与数组 117
8.2.1 指向数组元素的指针 117
8.2.2 一维数组元素的指针访问方式 117
8.2.3 指向多维数组的指针变量 117
8.2.4 指针与字符串 119
8.3 指针与函数 121
8.3.1 指针变量作为函数的参数 121
8.3.2 数组指针作为函数的参数 124
8.3.3 指针作为函数的返回值——指针型函数 124
8.3.4 指向函数的指针——函数型指针 126
习题 129
情境九 结构体、共用体 131
9.1 结构类型 131
9.1.1 结构体类型的形式 131
9.1.2 结构体变量的定义 132
9.1.3 结构体变量的引用 134
9.1.4 结构体变量的初始化 136
9.1.5 结构体数组的定义 137
9.1.6 结构体与函数 141
9.1.7 结构体变量的指针 142
9.1.8 类型定义符Typedef 145
9.2 共用体 146
9.2.1 共用体的形式 146
9.2.2 共用体变量的定义 146
9.2.3 共用体变量的引用 147
9.3 枚举类型 150
9.3.1 枚举类型的定义 150
9.3.2 枚举变量的引用 151
习题 157
情境十 文件 159
10.1 文件概述 159
10.1.1 文件分类 159
10.1.2 文件指针 160
10.1.3 文件的打开 161
10.1.4 文件的关闭 163
10.2 文件的常用操作 165
10.2.1 字符的读/写 165
10.2.2 字符串的读/写 167
10.2.3 数据块读/写函数 169
10.2.4 文件的定位 174
10.2.5 文件的检测 179
习题 183
情境十一 综合案例 184
附录A 常用转义字符 196
附录B ASCII码表 197
附录C C语言运算符优先级及其结合性 199
附录D 常用C语言标准库函数 201
参考文献 220