C语言程序设计 / 高等学校计算机基础教育规划教材
¥39.00定价
作者: 徐立辉、刘冬莉
出版时间:2016年11月
出版社:清华大学出版社
- 清华大学出版社
- 9787302455226
- 1-1
- 123878
- 16开
- 2016年11月
- 工学
- 软件工程
- TP312C
- 计算机
- 本专科、高职高专
内容简介
本书是为将C语言作为入门语言的程序设计课程编写的教材,目的是培养学生的程序设计基本能力和创新能力以及良好的程序设计风格。本书以程序设计为主线,以编程应用为驱动,采取循序渐进、通俗易懂的方法,主要讲解程序设计的基本思想、方法,同时介绍了C语言相关的语法知识。本书以全国计算机等级考试新需求为出发点,教学环境为Visual C 6.0平台。全书共11章。第1章介绍C语言程序的基本结构、运行C语言程序的步骤与程序开发环境以及算法的表示;第2章介绍C语言的数据类型、运算符与表达式;第3章~第5章介绍基本控制结构组成,包括顺序、选择和循环结构;第6章介绍数组,包括一维数组、二维数组和字符数组;第7章介绍函数;第8章介绍指针;第9章介绍结构体与共用体;第10章介绍文件;第11章介绍C语言课程设计案例。本书可作为高等学校“C语言程序设计”课程的教学用书,也可作为自学C语言和参加全国计算机等级考试的参考书。
目录
目录
第1章C程序设计概述1
1.1程序设计的基本概念1
1.1.1程序1
1.1.2程序设计2
1.1.3程序设计语言2
1.2C语言简介4
1.2.1C语言的发展历史4
1.2.2C语言的特点5
1.2.3如何学习C语言6
1.3C语言程序的基本结构7
1.3.1简单的C语言程序7
1.3.2C语言程序的编写要求10
1.4运行C语言程序的步骤与程序开发环境11
1.4.1运行C语言程序的步骤11
1.4.2开发环境Microsoft Visual
C 6.012
1.5算法20
1.5.1算法概述20
1.5.2算法的表示22
1.6结构化程序设计的思想和方法24
习题125
第2章数据类型、运算符与表达式27
2.1标识符、常量与变量27
2.1.1标识符27
2.1.2常量28
2.1.3变量30
2.2C语言的数据类型31
2.3基本数据类型32
2.3.1整型数据32
2.3.2实型数据36
2.3.3字符型数据38
2.4运算符和表达式41
2.4.1C运算符与表达式简介41
2.4.2算术运算符和算术表达式42
2.4.3赋值运算符和赋值表达式48
2.4.4逗号运算符和逗号表达式50
2.5综合程序举例51
习题254
第3章顺序结构55
3.1C程序的语句55
3.1.1C语句概述55
3.1.2赋值语句56
3.2数据输出函数57
3.2.1printf函数57
3.2.2putchar函数60
3.3数据输入函数61
3.3.1scanf函数61
3.3.2getchar函数65
3.4标准库函数65
3.5顺序结构程序举例67
习题371
[1]〖3〗C语言程序设计目录〖3〗[3]第4章选择结构72
4.1关系运算72
4.1.1关系运算符72
4.1.2关系表达式72
4.2逻辑运算73
4.2.1逻辑运算符73
4.2.2逻辑表达式73
4.3if语句75
4.3.1if语句和选择结构75
4.3.2if语句的嵌套79
4.3.3条件运算符和条件表达式81
4.4switch语句和break语句83
4.5选择结构程序举例85
习题489
第5章循环结构91
5.1循环语句91
5.1.1while语句91
5.1.2do...while语句92
5.1.3for语句94
5.1.4用goto语句和if语句构成循环96
5.2循环的嵌套97
5.3结束循环的语句99
5.3.1break语句99
5.3.2continue语句100
5.4循环结构应用举例100
习题5108
第6章数组110
6.1数组的概念110
6.2一维数组110
6.2.1一维数组的定义110
6.2.2一维数组的引用112
6.2.3一维数组的初始化113
6.2.4一维数组应用举例114
6.3二维数组119
6.3.1二维数组的定义119
6.3.2二维数组的引用121
6.3.3二维数组的初始化121
6.3.4二维数组应用举例123
6.4字符数组128
6.4.1字符数组的定义128
6.4.2字符数组的初始化128
6.4.3字符数组的引用129
6.4.4字符串130
6.4.5字符数组的输入与输出130
6.4.6字符串处理函数132
6.4.7字符数组应用举例135
习题6138
第7章函数140
7.1函数的概念140
7.2定义函数的一般形式141
7.3函数的值和函数参数143
7.3.1实际参数和形式参数143
7.3.2函数的返回值144
7.4函数的调用形式146
7.4.1调用函数的一般形式146
7.4.2调用函数的方式147
7.4.3对被调用函数的原型声明147
7.5函数的嵌套调用149
7.6函数的递归调用152
7.7数组作为函数的参数155
7.7.1使用数组元素作为实参155
7.7.2使用数组名作为函数的形参和实参155
7.7.3使用二维数组名作为函数的参数157
7.8局部变量和全局变量158
7.8.1局部变量158
7.8.2全局变量159
7.9变量的存储类别161
7.9.1静态存储方式和动态存储方式161
7.9.2自动变量162
7.9.3静态变量162
7.9.4寄存器变量164
7.9.5外部变量165
7.9.6用static声明全局变量167
7.10内部函数和外部函数167
7.10.1内部函数168
7.10.2外部函数168
7.11编译预处理168
7.11.1宏定义169
7.11.2文件包含172
7.11.3条件编译174
习题7175
第8章指针177
8.1指针的基本概念177
8.1.1变量的地址177
8.1.2指针变量178
8.2指针变量的定义与引用178
8.2.1指针变量的定义与初始化178
8.2.2指针变量的引用179
8.2.3使用指针变量作为函数的参数181
8.3指针的运算183
8.3.1指针变量的赋值运算183
8.3.2指针变量的算术运算185
8.3.3指针变量的关系运算186
8.4指针与数组186
8.4.1指向一维数组元素的指针186
8.4.2使用指针引用一维数组元素187
8.4.3使用一维数组名或指向一维数组的指针作为函数的参数188
8.4.4指针与二维数组192
8.4.5指向二维数组元素的指针193
8.4.6使用指向二维数组的指针作为函数的参数195
8.5指向字符串的指针变量196
8.5.1字符串的表示形式196
8.5.2使用指向字符串的指针作为函数的参数199
8.5.3字符指针变量与字符数组的区别200
8.6指针数组201
8.6.1指针数组的一般定义形式201
8.6.2指针数组的应用202
8.7指针数组作为main函数的形参204
8.7.1带参数的main函数的一般形式204
8.7.2命令行参数的应用206
8.8指向指针的指针变量207
8.8.1指向指针的指针变量的一般定义形式207
8.8.2指向指针的指针变量的应用207
8.8.3多级指针的概念209
8.9指向函数的指针变量210
8.9.1指向函数的指针变量的一般定义形式210
8.9.2使用函数指针变量调用函数211
8.9.3使用指向函数的指针作为函数的参数212
8.10返回指针的函数214
8.10.1返回指针的函数的定义形式214
8.10.2返回指针的函数的应用214
8.11指向void的指针变量和指针的数据类型小结215
8.11.1指向void的指针变量215
8.11.2指针的数据类型小结216
8.12指针程序举例216
习题8225
第9章结构体与共用体227
9.1结构体227
9.1.1结构体类型和结构体变量227
9.1.2结构体类型的定义228
9.1.3结构变量的定义229
9.2结构体变量成员的引用方法231
9.2.1结构体变量的引用231
9.2.2结构体变量的赋值231
9.3结构体变量的初始化232
9.4结构体数组233
9.5结构体指针234
9.5.1指向结构体变量的指针234
9.5.2指向结构体数组的指针236
9.5.3结构体在函数传递中的应用237
9.6动态存储分配238
9.7用结构体和指针处理链表241
9.7.1链表的概念241
9.7.2建立链表242
9.7.3输出链表243
9.7.4对链表的插入操作244
9.7.5对链表的删除操作245
9.8共用体249
9.8.1共用体的概念249
9.8.2共用体类型的定义250
9.8.3共用体变量的定义250
9.8.4共用体变量成员的引用方法251
9.9枚举类型252
9.9.1枚举类型的定义252
9.9.2枚举变量的说明253
9.9.3枚举变量的赋值和使用253
9.10类型定义符typedef255
9.10.1典型用法256
9.10.2典型类型的别名定义形式256
习题9257
第10章文件259
10.1文件概述259
10.1.1文件的基本知识259
10.1.2文件类型指针260
10.2文件的打开与关闭261
10.2.1打开文件261
10.2.2关闭文件262
10.3文件的读与写263
10.3.1字符的输入与输出263
10.3.2字符串的输入与输出265
10.3.3文件的格式化输入与输出265
10.3.4文件的数据块输入与输出266
10.4文件的其他常用函数268
10.4.1文件的定位268
10.4.2出错检测271
10.5位运算与位运算符271
10.5.1按位与运算符271
10.5.2按位或运算符272
10.5.3按位取反运算符272
10.5.4按位异或运算符273
10.5.5左移运算符274
10.5.6右移运算符274
10.5.7复合赋值运算符275
10.5.8位运算举例275
习题10277
第11章课程设计案例278
附录AC语言中的关键字300
附录B运算符的优先级和结合性301
附录C常用字符与ASCII编码对照表303
附录DANSI C的常用库函数304
附录EVisual C 6.0菜单的中英文对照310
参考文献315
第1章C程序设计概述1
1.1程序设计的基本概念1
1.1.1程序1
1.1.2程序设计2
1.1.3程序设计语言2
1.2C语言简介4
1.2.1C语言的发展历史4
1.2.2C语言的特点5
1.2.3如何学习C语言6
1.3C语言程序的基本结构7
1.3.1简单的C语言程序7
1.3.2C语言程序的编写要求10
1.4运行C语言程序的步骤与程序开发环境11
1.4.1运行C语言程序的步骤11
1.4.2开发环境Microsoft Visual
C 6.012
1.5算法20
1.5.1算法概述20
1.5.2算法的表示22
1.6结构化程序设计的思想和方法24
习题125
第2章数据类型、运算符与表达式27
2.1标识符、常量与变量27
2.1.1标识符27
2.1.2常量28
2.1.3变量30
2.2C语言的数据类型31
2.3基本数据类型32
2.3.1整型数据32
2.3.2实型数据36
2.3.3字符型数据38
2.4运算符和表达式41
2.4.1C运算符与表达式简介41
2.4.2算术运算符和算术表达式42
2.4.3赋值运算符和赋值表达式48
2.4.4逗号运算符和逗号表达式50
2.5综合程序举例51
习题254
第3章顺序结构55
3.1C程序的语句55
3.1.1C语句概述55
3.1.2赋值语句56
3.2数据输出函数57
3.2.1printf函数57
3.2.2putchar函数60
3.3数据输入函数61
3.3.1scanf函数61
3.3.2getchar函数65
3.4标准库函数65
3.5顺序结构程序举例67
习题371
[1]〖3〗C语言程序设计目录〖3〗[3]第4章选择结构72
4.1关系运算72
4.1.1关系运算符72
4.1.2关系表达式72
4.2逻辑运算73
4.2.1逻辑运算符73
4.2.2逻辑表达式73
4.3if语句75
4.3.1if语句和选择结构75
4.3.2if语句的嵌套79
4.3.3条件运算符和条件表达式81
4.4switch语句和break语句83
4.5选择结构程序举例85
习题489
第5章循环结构91
5.1循环语句91
5.1.1while语句91
5.1.2do...while语句92
5.1.3for语句94
5.1.4用goto语句和if语句构成循环96
5.2循环的嵌套97
5.3结束循环的语句99
5.3.1break语句99
5.3.2continue语句100
5.4循环结构应用举例100
习题5108
第6章数组110
6.1数组的概念110
6.2一维数组110
6.2.1一维数组的定义110
6.2.2一维数组的引用112
6.2.3一维数组的初始化113
6.2.4一维数组应用举例114
6.3二维数组119
6.3.1二维数组的定义119
6.3.2二维数组的引用121
6.3.3二维数组的初始化121
6.3.4二维数组应用举例123
6.4字符数组128
6.4.1字符数组的定义128
6.4.2字符数组的初始化128
6.4.3字符数组的引用129
6.4.4字符串130
6.4.5字符数组的输入与输出130
6.4.6字符串处理函数132
6.4.7字符数组应用举例135
习题6138
第7章函数140
7.1函数的概念140
7.2定义函数的一般形式141
7.3函数的值和函数参数143
7.3.1实际参数和形式参数143
7.3.2函数的返回值144
7.4函数的调用形式146
7.4.1调用函数的一般形式146
7.4.2调用函数的方式147
7.4.3对被调用函数的原型声明147
7.5函数的嵌套调用149
7.6函数的递归调用152
7.7数组作为函数的参数155
7.7.1使用数组元素作为实参155
7.7.2使用数组名作为函数的形参和实参155
7.7.3使用二维数组名作为函数的参数157
7.8局部变量和全局变量158
7.8.1局部变量158
7.8.2全局变量159
7.9变量的存储类别161
7.9.1静态存储方式和动态存储方式161
7.9.2自动变量162
7.9.3静态变量162
7.9.4寄存器变量164
7.9.5外部变量165
7.9.6用static声明全局变量167
7.10内部函数和外部函数167
7.10.1内部函数168
7.10.2外部函数168
7.11编译预处理168
7.11.1宏定义169
7.11.2文件包含172
7.11.3条件编译174
习题7175
第8章指针177
8.1指针的基本概念177
8.1.1变量的地址177
8.1.2指针变量178
8.2指针变量的定义与引用178
8.2.1指针变量的定义与初始化178
8.2.2指针变量的引用179
8.2.3使用指针变量作为函数的参数181
8.3指针的运算183
8.3.1指针变量的赋值运算183
8.3.2指针变量的算术运算185
8.3.3指针变量的关系运算186
8.4指针与数组186
8.4.1指向一维数组元素的指针186
8.4.2使用指针引用一维数组元素187
8.4.3使用一维数组名或指向一维数组的指针作为函数的参数188
8.4.4指针与二维数组192
8.4.5指向二维数组元素的指针193
8.4.6使用指向二维数组的指针作为函数的参数195
8.5指向字符串的指针变量196
8.5.1字符串的表示形式196
8.5.2使用指向字符串的指针作为函数的参数199
8.5.3字符指针变量与字符数组的区别200
8.6指针数组201
8.6.1指针数组的一般定义形式201
8.6.2指针数组的应用202
8.7指针数组作为main函数的形参204
8.7.1带参数的main函数的一般形式204
8.7.2命令行参数的应用206
8.8指向指针的指针变量207
8.8.1指向指针的指针变量的一般定义形式207
8.8.2指向指针的指针变量的应用207
8.8.3多级指针的概念209
8.9指向函数的指针变量210
8.9.1指向函数的指针变量的一般定义形式210
8.9.2使用函数指针变量调用函数211
8.9.3使用指向函数的指针作为函数的参数212
8.10返回指针的函数214
8.10.1返回指针的函数的定义形式214
8.10.2返回指针的函数的应用214
8.11指向void的指针变量和指针的数据类型小结215
8.11.1指向void的指针变量215
8.11.2指针的数据类型小结216
8.12指针程序举例216
习题8225
第9章结构体与共用体227
9.1结构体227
9.1.1结构体类型和结构体变量227
9.1.2结构体类型的定义228
9.1.3结构变量的定义229
9.2结构体变量成员的引用方法231
9.2.1结构体变量的引用231
9.2.2结构体变量的赋值231
9.3结构体变量的初始化232
9.4结构体数组233
9.5结构体指针234
9.5.1指向结构体变量的指针234
9.5.2指向结构体数组的指针236
9.5.3结构体在函数传递中的应用237
9.6动态存储分配238
9.7用结构体和指针处理链表241
9.7.1链表的概念241
9.7.2建立链表242
9.7.3输出链表243
9.7.4对链表的插入操作244
9.7.5对链表的删除操作245
9.8共用体249
9.8.1共用体的概念249
9.8.2共用体类型的定义250
9.8.3共用体变量的定义250
9.8.4共用体变量成员的引用方法251
9.9枚举类型252
9.9.1枚举类型的定义252
9.9.2枚举变量的说明253
9.9.3枚举变量的赋值和使用253
9.10类型定义符typedef255
9.10.1典型用法256
9.10.2典型类型的别名定义形式256
习题9257
第10章文件259
10.1文件概述259
10.1.1文件的基本知识259
10.1.2文件类型指针260
10.2文件的打开与关闭261
10.2.1打开文件261
10.2.2关闭文件262
10.3文件的读与写263
10.3.1字符的输入与输出263
10.3.2字符串的输入与输出265
10.3.3文件的格式化输入与输出265
10.3.4文件的数据块输入与输出266
10.4文件的其他常用函数268
10.4.1文件的定位268
10.4.2出错检测271
10.5位运算与位运算符271
10.5.1按位与运算符271
10.5.2按位或运算符272
10.5.3按位取反运算符272
10.5.4按位异或运算符273
10.5.5左移运算符274
10.5.6右移运算符274
10.5.7复合赋值运算符275
10.5.8位运算举例275
习题10277
第11章课程设计案例278
附录AC语言中的关键字300
附录B运算符的优先级和结合性301
附录C常用字符与ASCII编码对照表303
附录DANSI C的常用库函数304
附录EVisual C 6.0菜单的中英文对照310
参考文献315