第1篇 C语言程序设计学习指导
第1章 C语言概述 1
1.1 本章要点 1
1.1.1 C语言的特点 1
1.1.2 C语言程序的结构 1
1.1.3 C语言源程序的编辑、编译、连接和运行 1
1.2 习题 2
1.3 习题参考答案 2
第2章 数据类型、运算符和表达式 3
2.1 本章要点 3
2.1.1 C语言的数据类型 3
2.1.2 标识符 3
2.1.3 常量 3
2.1.4 变量 4
2.1.5 数据类型的转换 4
2.1.6 C语言运算符的优先级和结合性 5
2.1.7 算术运算符和算术表达式 6
2.1.8 自增运算符和自减运算符 6
2.1.9 赋值运算符和赋值表达式 6
2.1.10 复合赋值运算符 6
2.1.11 逗号运算符 6
2.2 本章难点 6
2.2.1 运算符的优先级 6
2.2.2 运算符的结合性 7
2.2.3 复合赋值运算 7
2.2.4 赋值类型转换 7
2.3 例题分析 8
2.4 习题 9
2.4.1 单项选择题 9
2.4.2 填空题 12
2.4.3 阅读程序写结果题 13
2.4.4 编写程序题 15
2.5 习题参考答案 15
2.5.1 单项选择题答案 15
2.5.2 填空题答案 15
2.5.3 阅读程序写结果题答案 16
2.5.4 编写程序题参考答案 16
第3章 程序设计初步 17
3.1 本章要点 17
3.1.1 格式输入函数scanf() 17
3.1.2 格式输出函数printf() 18
3.1.3 单字符输入函数getchar() 18
3.1.4 单字符输出函数putchar() 18
3.1.5 赋值语句 19
3.1.6 复合语句和空语句 19
3.1.7 顺序结构 19
3.2 本章难点 20
3.2.1 printf()函数中的格式字符、附加格式符和转义符 20
3.2.2 scanf()函数中的格式字符和附加格式符 20
3.3 例题分析 21
3.4 习题 22
3.4.1 单项选择题 22
3.4.2 填空题 24
3.4.3 阅读程序写结果题 26
3.4.4 编写程序题 26
3.5 习题参考答案 27
3.5.1 单项选择题答案 27
3.5.2 填空题答案 27
3.5.3 阅读程序写结果题答案 28
3.5.4 编写程序题参考答案 28
第4章 选择结构程序的设计 31
4.1 本章要点 31
4.1.1 关系运算符与关系表达式 31
4.1.2 逻辑运算符与逻辑表达式 31
4.1.3 二分支选择结构——if语句 32
4.1.4 条件运算符和条件表达式 33
4.1.5 多分支选择结构——switch语句 34
4.2 本章难点 34
4.2.1 if语句的嵌套 34
4.2.2 条件表达式的使用 35
4.2.3 switch语句和break语句的使用 35
4.3 例题分析 36
4.4 习题 38
4.4.1 单项选择题 38
4.4.2 填空题 41
4.4.3 阅读程序写结果题 42
4.4.4 编写程序题 44
4.5 习题参考答案 44
4.5.1 单项选择题答案 44
4.5.2 填空题答案 45
4.5.3 阅读程序写结果题答案 45
4.5.4 编写程序题参考答案 45
第5章 循环结构程序的设计 48
5.1 本章要点 48
5.1.1 while语句构成的循环 48
5.1.2 do-while语句构成的循环 48
5.1.3 for语句构成的循环 49
5.1.4 goto语句以及goto语句构成的循环 49
5.1.5 多重循环 50
5.1.6 break语句和continue语句 50
5.2 本章难点 51
5.2.1 循环结构的理解 51
5.2.2 3种循环结构的比较 51
5.2.3 多重循环 52
5.3 例题分析 52
5.4 习题 55
5.4.1 单项选择题 55
5.4.2 填空题 57
5.4.3 阅读程序写结果题 59
5.4.4 编写程序题 63
5.5 习题参考答案 64
5.5.1 单项选择题答案 64
5.5.2 填空题答案 64
5.5.3 阅读程序写结果题答案 65
5.5.4 编写程序题参考答案 66
第6章 数组 72
6.1 本章要点 72
6.1.1 一维数组 72
6.1.2 二维数组 72
6.1.3 字符数组 73
6.2 本章难点 74
6.2.1 数组元素的下标 74
6.2.2 字符串和字符数组 74
6.2.3 字符串处理函数 75
6.3 例题分析 75
6.4 习题 78
6.4.1 单项选择题 78
6.4.2 填空题 80
6.4.3 阅读程序写结果题 82
6.4.4 编写程序题 86
6.5 习题参考答案 87
6.5.1 单项选择题答案 87
6.5.2 填空题答案 87
6.5.3 阅读程序写结果题答案 87
6.5.4 编写程序题参考答案 88
第7章 函数 95
7.1 本章要点 95
7.1.1 函数的定义 95
7.1.2 函数的参数和返回值 96
7.1.3 函数调用 96
7.1.4 函数声明 97
7.1.5 数组名作为函数参数 97
7.1.6 全局变量和局部变量 97
7.1.7 变量的存储类别 97
7.1.8 内部函数与外部函数 98
7.2 本章难点 98
7.2.1 参数的传递 98
7.2.2 函数的声明 98
7.2.3 函数的递归调用 98
7.2.4 数组名作为函数参数 99
7.2.5 变量的作用范围 99
7.2.6 静态存储类别 99
7.3 例题分析 99
7.4 习题 101
7.4.1 单项选择题 101
7.4.2 填空题 103
7.4.3 阅读程序写结果题 106
7.4.4 编写程序题 108
7.5 习题参考答案 109
7.5.1 单项选择题答案 109
7.5.2 填空题答案 109
7.5.3 阅读程序写结果题答案 110
7.5.4 编写程序题参考答案 110
第8章 预处理命令 113
8.1 本章要点 113
8.1.1 不带参数的宏 113
8.1.2 带参数的宏 113
8.1.3 文件包含 114
8.1.4 条件编译 114
8.2 本章难点 115
8.2.1 宏展开 115
8.2.2 条件编译 115
8.3 例题分析 115
8.4 习题 116
8.4.1 单项选择题 116
8.4.2 填空题 119
8.4.3 阅读程序写结果题 120
8.4.4 编写程序题 121
8.5 习题参考答案 121
8.5.1 单项选择题答案 121
8.5.2 填空题答案 121
8.5.3 阅读程序写结果题答案 122
8.5.4 编写程序题参考答案 122
第9章 指针 124
9.1 本章要点 124
9.1.1 指针变量的定义 124
9.1.2 指针变量的赋值 124
9.1.3 对指针变量的操作 125
9.1.4 指向指针变量的指针变量 126
9.1.5 数组与指针 126
9.1.6 指针数组 127
9.1.7 指向函数的指针变量 127
9.1.8 带参数的main()函数 127
9.1.9 void类型的指针 128
9.2 本章难点 128
9.2.1 指针变量的概念 128
9.2.2 对指针变量的操作 129
9.2.3 字符指针变量与字符数组的区别 130
9.3 例题分析 130
9.4 习题 136
9.4.1 单项选择题 136
9.4.2 填空题 140
9.4.3 阅读程序写结果题 141
9.4.4 编写程序题(要求使用指针) 144
9.5 习题参考答案 144
9.5.1 单项选择题答案 144
9.5.2 填空题答案 145
9.5.3 阅读程序写结果题答案 145
9.5.4 编写程序题参考答案 145
第10章 结构体与其他数据类型 150
10.1 本章要点 150
10.1.1 结构体概述 150
10.1.2 定义结构体类型变量的方法 150
10.1.3 结构体变量的引用和初始化 150
10.1.4 结构体数组 151
10.1.5 指向结构体数据的指针 151
10.1.6 用指针处理链表 152
10.1.7 共用体 153
10.1.8 枚举类型 153
10.1.9 用typedef定义类型 154
10.2 本章难点 154
10.2.1 在函数之间传递结构体数据 154
10.2.2 结构体与共用体的区别 154
10.2.3 链表操作 155
10.3 例题分析 155
10.4 习题 159
10.4.1 单项选择题 159
10.4.2 填空题 162
10.4.3 阅读程序写结果题 166
10.4.4 编写程序题 170
10.5 习题参考答案 171
10.5.1 单项选择题答案 171
10.5.2 填空题答案 171
10.5.3 阅读程序写结果题答案 172
10.5.4 编写程序题参考答案 173
第11章 位运算 179
11.1 本章要点 179
11.1.1 位运算符和位运算 179
11.1.2 位运算的优先级 180
11.1.3 位段 181
11.2 例题分析 181
11.3 习题 183
11.3.1 单项选择题 183
11.3.2 填空题 183
11.3.3 阅读程序写结果题 184
11.3.4 编写程序题 185
11.4 习题参考答案 185
11.4.1 单项选择题答案 185
11.4.2 填空题答案 186
11.4.3 阅读程序写结果题答案 186
11.4.4 编写程序题参考答案 186
第12章 文件 188
12.1 本章要点 188
12.1.1 文件概述 188
12.1.2 文件类型指针 188
12.1.3 文件的打开和关闭 188
12.1.4 文件的读/写 190
12.1.5 文件定位 191
12.1.6 文件检测 192
12.2 本章难点 192
12.2.1 文件位置指针的合理定位 192
12.2.2 各文件读/写函数的区别 193
12.3 例题分析 193
12.4 习题 197
12.4.1 单项选择题 197
12.4.2 填空题 199
12.4.3 阅读程序写结果题 201
12.4.4 编写程序题 202
12.5 习题参考答案 203
12.5.1 单项选择题答案 203
12.5.2 填空题答案 203
12.5.3 阅读程序写结果题答案 203
12.5.4 编写程序题参考答案 203
第2篇 C语言程序设计实验教程
实验一 熟悉C-Free的运行环境和开发C程序的步骤 208
实验二 数据类型、运算符、表达式 215
实验三 简单C程序设计 219
实验四 选择结构程序设计 222
实验五 循环结构程序设计 226
实验六 数组的应用(一) ——数值数据的数组 229
实验七 数组的应用(二)——字符数据的数组 232
实验八 函数 235
实验九 指针 238
实验十 结构体与共用体 241
实验十一 文件 244
C语言是广泛使用的一种计算机语言,由于它具有功能丰富、灵活性强、可移植性好、语言简洁、应用面广等特性,所以深受广大用户的喜爱。
初学C语言的人,可能感觉学起来比较吃力,具体表现为:不知该如何理解C语言的概念,如何正确使用C语言的语句和语法,如何设计编写程序,如何综合运用C语言知识处理实际问题。有鉴于此,为了帮助读者学好C语言,顺利通过各级各类相关考试,并能熟练将其运用于实际工作,我们组织长期从事C语言教学工作的教师,编写了这本《C语言程序设计学习指导与实验教程(第三版)》。
本书分为两方面内容,一方面是为读者提供C语言的学习指导,另一方面是C语言的实验教程。在学习指导部分,对C语言各章知识的要点和难点进行了整理归纳和深入分析,以使读者明确各章应该着重掌握的知识和深入理解的问题。在学习指导部分,选择了一些典型例题进行分析,以使读者理解各章知识,学会灵活运用各章知识。在学习指导部分,选编了相应练习题,每道题基本上都给出了参考答案。这些练习题既可以训练读者去理解和掌握C语言的基本概念与基本语句,又可以训练读者编写程序、学习编程的方法和技巧。对于每一道编写程序题,本书只给出了一种参考答案,因为每个问题一般都有多种编程方法,所以读者不要受参考答案的限制。在实验教程部分,介绍了C语言开发软件系统C-Free的使用方法;根据C语言的教学内容,本书设计了11个上机练习实验,为读者在计算机上进行程序的编辑、运行和调试进行详细的指导。在实验教程部分,对于每个实验,本书均列出了该实验要达到的目的、该实验所涉及的C语言知识要点、该实验要做的具体内容以及实验完成后的思考问题。认真完成这些实验,能够极大地提高读者的编程能力。
除主编和副主编外,参加本书编写工作的还有王广伟、乐天、江有福、叶其宏、李鑫、朱本浩、毕振波、郑芸、宋广军、张威、吴远红、侯志凌、顾沈明、高禹、崔振东、黄海峰、管林挺等。
由于编者水平有限,书中难免存在错误与不足之处,诚恳欢迎读者批评指正。我们的邮箱是huchenhao@263.net,电话是010-62796045。
编 者
2015年12月
¥150.00
¥268.00
¥98.00
¥398.00
¥498.00
¥118.00