课后习题 7 1
第1章 认识C语言 1
1-1 缘起 2
1-2 C语言的特点 2
1-3 C语言与您 4
1-4 程序的规划与操作 5
1-5 编写第一个C语言程序 9
1-6 程序代码的编译、执行与保存 9
1-7 编译与执行的过程 10
1-8 本书的编排与惯例 11
课后习题 12
第2章 简单的C语言 13
2-1 一个简单的例子 14
2-2 C语言解析 15
2-2-1 include宏命令及头文件 15
2-2-4 变量 17
2-2-3 花括号、段及主体 17
2-2-2 main函数 17
2-2-5 变量的赋值 18
2-2-6 为什么要声明变量 19
2-2-7 printf函数 19
2-3 标识符及关键字 20
2-3-1 标识符 20
2-3-2 关键字 20
2-4 再举一个简单的例子 20
2-5 调试 21
2-5-1 语法错误(Syntax Error) 21
2-5-2 语义错误(Semantic Error) 21
2-6 提高程序的可读性 22
课后习题 23
第3章 变量与数据类型 25
3-3 基本的数据类型 26
3-1 简单的实例 26
3-2 变量与常量 26
3-3-1 整型类型int 27
3-3-2 字符类型char 29
3-3-3 浮点数类型float 32
3-3-4 双精度浮点数类型double 33
3-4 数据类型的转换 33
课后习题 35
第4章 格式化的输入与输出 36
4-1 printf函数 37
4-1-1 使用printf函数 37
4-1-2 printf函数的修饰符(Modifier) 39
4-1-3 不同类型的输出 41
4-1-4 printf函数的换行 43
4-2 scanf函数 44
4-2-1 scanf函数的使用 45
4-2-2 scanf函数的使用方式 47
4-2-3 字符串的输入 50
8-5-3 const修饰符 1 50
4-3 输入输出字符的函数 52
4-3-1 getchar与putchar函数 52
4-3-2 getche与putch函数 53
4-3-3 getch函数 53
课后习题 54
第5章 运算符、表达式与语句 56
5-1 运算符 57
5-1-1 赋值运算符 57
5-1-2 一元运算符 58
5-1-3 算术运算符 59
5-1-4 关系运算符与if语句 61
5-1-5 自增与自减运算符 62
5-1-6 逻辑运算符 63
5-1-7 括号运算符 65
5-2 运算符的优先级 65
5-3 表达式 66
5-4-1 类型转换的规则 69
5-4 表达式的类型转换 69
5-4-2 强制类型转换 70
第6章 循环 73
6-1 结构化程序设计 74
6-1-1 顺序结构 74
6-1-2 选择结构 75
6-1-3 循环结构 76
6-2 for循环 76
6-3 while循环 79
6-3-1 使用while循环 80
6-3-2 无穷循环的产生 82
6-4 do while循环 83
6-5 空循环 86
6-6 我要使用哪一种循环 87
6-7 嵌套循环 88
6-8 循环的跳离 93
6-8-1 break语句 94
第10章 指针 1 95
6-8-2 continue 语句 95
课后习题 97
第7章 选择性语句 99
7-1 我的程序会转弯——if语句 100
7-2 其他选择 102
7-2-1 if-else语句 102
7-2-2 更多的选择——嵌套if语句 105
7-2-3 else if语句 106
7-2-4 非常选择——if与else的配对问题 108
7-3 if的简洁版——条件运算符 110
7—4 更好用的多重选择——switch语句 112
7-4-1 switch语句与break语句 112
7-4-2 不加break语句的switch语句 118
7-5 goto语句 119
课后习题 121
第8章 函数与预处理命令 122
8-1 简单的函数 123
8-2 函数的基本结构 124
8-2-1 函数原型的声明、编写与调用 124
8-2-2 函数的自变量与参数 126
8-2-3 函数的常量返回值 128
8-3-1 局部变量 132
8-3 变量的等级 132
8-3-3 外部变量 135
8-3-4 静态外部变量 137
8-3-5 寄存器变量 139
8-4 同时使用多个函数 141
8-4-1 调用多个函数 141
8-4-2 函数之间的相互调用 142
8-4-3 递归函数 143
8-5 预处理命令——define 148
8-5-1 define预处理 148
8-5-2 为什么要用define 149
8-5-4 define的另一功能——宏——取代简单的函数 150
8-5-5 使用自变量的宏 151
8-5-6 宏号的使用 152
8-5-7 使用函数还是使用宏 153
8-6 再来看看include预处理命令 153
8-6-1 使用自定义的头文件 153
8-6-2 标准的头文件 155
8-6-3 头文件与函数原型 155
课后习题 155
第9章 数组与字符串 157
9-1 一维数组 158
9-1-1 数组的声明 158
9-1-2 数组中元素的表示方法 159
9-1-3 数组初始化赋值 159
9-1-4 数组的输入与输出 160
9-1-5 数组越界的检查 163
9-2 二维数组以上的多维数组 165
9-2-1 二维数组的声明与初始化赋值 165
9-2-2 二维数组元素的引用及存取 166
9-2-3 多维数组 168
9-3 传递数组给函数 169
9-3-1 以一维数组为自变量来传递 169
9-3-2 冒泡排序法 174
9-3-3 传递多维数组 178
9-3-4 传递“值”还是“地址”到函数 181
9-4 字符串 184
9-4-1 字符串常数 184
9-4-2 字符串的声明与初始化的赋值 184
9-5 字符串的输入与输出函数 185
9-5-1 scanf与 printf函数 185
9-5-2 gets与 puts函数 186
9-6 字符串数组 187
9-6-1 字符串数组的声明与初始化赋值 187
9-6-2 字符串数组元素的引用及存取 188
课后习题 192
10-1 指针概述 196
10-1-1 什么是指针 196
10-1-2 为什么要用指针 198
1 0-2 指针变量 198
10-2-1 指针变量的定义 198
10-2-2 指针变量的使用 199
10-3指针运算符 202
10-3-1 地址运算符 202
10-3-2 按照地址取值运算符 203
10-3-3 定义指针变量所指类型的重要性 203
10-4 指针的运算 204
10-4-1 指针的赋值运算与赋值 204
10-4-2 指针的加法与减法运算 206
10-4-3 指针的减法运算 208
10-5 指针与函数 208
10-6 指针与数组 215
10-6-1 指针与数组的关系 216
10-6-2 字符串数组与指针数组 219
10-7 指向指针的指针——双重指针 221
课后习题 226
第11章 结构体与其他数据类型 227
11-1 结构体 228
11-1-1 结构体的声明 228
11-1-2 结构体变量的使用及初始化赋值 229
11-2 嵌套结构体 232
1 1-3 结构体数组 234
11-4 结构体指针 238
11-5 以结构体为自变量传递到函数 240
11-5-1 将整个结构体传递到函数 241
11-5-2 将结构体字段分别传递 242
11-5-3 传递结构体的地址 243
11-6 共用体(Union) 245
11-6-1 共用体的定义及声明 246
11-6-2 共用体与结构体的差异 247
11-6-3 共用体的使用及初始化赋值 249
11-7 枚举类型(Enumeration) 251
11-7-1 枚举类型的定义及声明 252
1 1-7-2 枚举类型的使用及初始化赋值 252
11-8 使用自定义的类型——typedef 258
课后习题 261
第12章 文件 263
1 2-2 文件的操作方式 264
12-1 文件的概念 264
1 2-3 有缓冲区的文件处理函数 265
12-3-1 文件处理函数的整理 267
12-3-2 文件处理函数的练习 268
1 2-4 无缓冲区的文件处理函数 278
12-4-1 文件处理函数的整理 279
12-4-2 文件处理函数的练习 280
12-5 二进制文件的使用 283
12-5-1 二进制文件有缓冲区函数使用 283
12-5-2 二进制文件无缓冲区函数使用 287
12-6 文本模式及二进制模式的比较 290
12-6-1 以文本模式存储数值 290
12-6-2 以二进制模式存储数值 292
12-6-3 换行与文件结束的讨论 294
12-6-4 输出相对应字符的十六进制码 296
12-7-1 顺序存取(Sequential Access) 298
12-7 顺序存取与随机存取 298
12-7-2 随机存取(Random Access) 299
课后习题 302
第13章 大型程序的发展 303
13-1 程序的模块化 304
13-2 各自编译的实例 304
13-3 条件式编译 307
13-3-1 if、else与endif命令 308
13-3-2 elif命令 308
13-3-3 ifdef和ifndef命令 309
13-3-4 undef命令 310
13-4 命令行参数的使用 311
课后习题 314
第14章 位运算 315
14-1 数字系统、位和字节 316
14-2-2 带有正负号的二进制整数 317
14-2 二进制系统 317
14-2-1 二进制的整数表示方式 317
14-3其他的进制系统 320
14-3-1 八进制系统 320
1 4-3-2 十六进制系统 321
1 4-4位运算符 322
14-4-1 位逻辑运算符 322
14-4-2 位位移运算符 325
14-5位段 329
课后习题 331
附录 333
附录A Dev C++的使用 334
附录B 常用的函数库 347
附录C ASCII码表 356