译者序
前言
作者简介
审校者简介
第一部分 C语言的基础知识
第1章 运行Hello, World!程序2
1.1 技术要求2
1.2 编写第一个C语言程序3
1.3 了解程序开发流程4
1.3.1 编辑5
1.3.2 编译6
1.3.3 运行9
1.3.4 验证10
1.3.5 重复10
1.4 创建、录入并保存第一个C语言程序12
1.5 编译第一个C语言程序13
1.6 运行第一个C语言程序14
1.7 添加注释14
1.7.1 怎样写好注释15
1.7.2 给Hello, world!程序添加注释17
1.8 学着在代码上做实验18
1.9 小结19
第2章 了解程序的结构21
2.1 技术要求21
2.2 语句与代码块22
2.2.1 在语句与代码块中试验各种转义序列23
2.2.2 了解分隔符的用法25
2.2.3 了解空白的用法27
2.2.4 了解C语言的各种语句30
2.3 了解C语言的函数32
2.4 了解如何定义函数32
2.4.1 了解函数的标识符33
2.4.2 了解函数的语句块35
2.4.3 了解函数的返回值35
2.4.4 通过函数的参数传递数值37
2.5 执行顺序42
2.6 了解如何声明函数43
2.7 小结46
第3章 基本的数据类型47
3.1 技术要求47
3.2 了解数据类型48
3.3 字节与数据块51
3.4 如何在C语言代码中表示整数52
3.4.1 如何在C语言代码中表示正整数与负整数53
3.4.2 如何在C语言代码中采用大小不同的数据块来表示整数53
3.5 如何在C语言中表示小数55
3.6 如何在C语言中表示单个字符55
3.7 如何在C语言中表示布尔值56
3.8 如何在C语言中查询各种数据类型的大小57
3.8.1 sizeof()运算符57
3.8.2 各种数据类型的取值范围59
3.9 小结60
第4章 使用变量并为变量赋值61
4.1 技术要求62
4.2 选用合适的类型来表示数据值62
4.3 学习变量的用法62
4.3.1 给变量命名63
4.3.2 显式地指定变量类型64
4.3.3 显式地指定变量类型并初始化65
4.4 学习常量的用法66
4.4.1 字面常量66
4.4.2 用预处理指令定义常量值68
4.4.3 显式地定义某种类型的常量69
4.4.4 给常量命名69
4.5 把类型适当的值赋给变量70
4.5.1 通过赋值语句显式地赋值71
4.5.2 通过给函数传递参数来赋值71
4.5.3 通过return语句来赋值73
4.6 小结74
第5章 运算符与表达式75
5.1 技术要求76
5.2 表达式与运算符76
5.3 在数字值上执行运算78
5.4 类型转换83
5.4.1 隐式类型转换83
5.4.2 显式类型转换87
5.5 字符型数据支持的操作88
5.6 逻辑运算符与关系运算符89
5.7 位运算符92
5.8 条件运算符94
5.9 序列运算符95
5.10 复合赋值运算符96
5.11 在一条表达式中给多个变量赋值97
5.12 增量运算符97
5.13 运算符之间的优先次序以及括号的用法99
5.14 小结100
第6章 用条件语句控制程序流102
6.1 技术要求103
6.2 了解各种条件表达式103
6.3 if() ... else ...语句104
6.4 switch() ...语句107
6.5 多个if() ... else ...语句111
6.6 嵌套的if() ... else ...语句114
6.7 小结117
第7章 循环与迭代119
7.1 技术要求119
7.2 重复执行代码120
7.3 蛮力法实现重复执行代码122
7.4 while () ...循环语句124
7.5 for() ...循环语句127
7.6 do ... while()循环语句129
7.7 如何把一种循环改写成另一种循环131
7.8 善用goto语句以实现无条件跳转132
7.9 用break与continue语句来控制循环136
7.10 无限循环139
7.11 小结140
第8章 创建并使用枚举值141
8.1 技术要求141
8.2 枚举值142
8.2.1 定义枚举类型与枚举值143
8.2.2 使用枚举值145
8.3 用switch()...语句判断枚举变量的取值148
8.4 小结152
第二部分 复杂的数据类型
第9章 创建并使用结构体154
9.1 技术要求155
9.2 结构体155
9.2.1 声明结构体156
9.2.2 初始化结构体并访问其中的字段160
9.3 用函数操作结构体161
9.4 包含其他结构体的结构体163
9.4.1 用函数初始化结构体165
9.4.2 复用某个函数以打印大结构体中的多个小结构体166
9.5 从结构体入手理解面向对象编程169
9.6 小结170
第10章 用typedef创建自定义数据类型171
10.1 技术要求171
10.2 用typedef给固有类型起别名172
10.3 用typedef简化枚举类型的用法174
10.4 用typedef简化结构体类型的用法176
10.5 typedef的其他用法179
10.6 几个有用的编译器选项179
10.7 把自定义类型及typedef说明符放在头文件中180
10.8 小结183
第11章 数组185
11.1 技术要求185
11.2 声明并初始化数组186
11.3 访问数组中的元素189
11.4 通过循环来操作数组192
11.5 使用函数来操作数