C语言程序设计
书 号:9787113123369
丛 书 名:面向21世纪高等院校计算机规划教材
作 者:刘 浩 杜忠友 姜庆娜 李学东 徐遵义
译 者:
开 本:16开
装 帧:平装
正文语种:
出 版 社:中国铁道出版社有限公司
定 价:32元
-
内容简介
本书主要内容包括:C语言概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组与字符串,函数,对函数的进一步讨论,指针,结构体、共用体、枚举和用户定义的类型,位运算,文件,上机实验与指导。 -
前言
“C语言程序设计”在许多高校都作为程序设计语言的第一门课程进行教学。笔者从事C语言程序设计课程的教学已有20余年,在不断融合课程发展趋势和从事教学改革实践的过程中,积累了许多教学经验,有不少收获和感悟。笔者感到有必要将其整理出来,与大家共享。本书在编写过程中,以教育部高等学校非计算机专业计算机基础课程教学指导分委员会《关于进一步加强高等学校计算机基础教学的意见暨计算机基础课程教学基本要求》(简称“白皮书”)和中国高等院校计算机基础教育改革课题教研组发布的《中国高等院校计算机基础教育课程体系2008》(简称CFC2008)为指导。这有利于体现新的教学思维和时代感。
本课程向学习者介绍结构化(模块化)程序设计的基本思想和方法,通过学习结构化程序设计语言,了解用计算机解决问题的一般方法,掌握程序设计的思路和基本方法,掌握编写和调试简单应用程序的方法,使之养成利用计算机解决工作、生活中的实际问题的习惯,提高应用计算机的能力和素质。
本书的主要特色如下:
一、按照认识规律,对章节顺序做了合理安排,做到先易后难、循序渐进,叙述表达注重图文并茂、通俗易懂,理论讲解注重结合实际应用、能力(特别是编程能力和调试能力)训练,并适时融入了分析、启发、引导性的内容和思考性的问题,有助于学习者很快进入角色,进而对本书、本课程产生兴趣,易于教学,易于自学。
二、内容的详与略、宏观总揽与细节说明的关系控制得当,提纲挈领、纲举目张,使得学习者思路清晰、概念清楚,容易把握程序设计的基本思想。
三、例题、习题视野广阔、生动典型而有吸引力,能够使学习者在学习探求过程中“阅尽人间春色”,领略程序设计领域的经典题目,也会使学习者在吸引力、求知欲的作用下,在兴趣盎然的氛围中更好地领会、理解和掌握所学的语法规则、算法及程序设计的思想、方法、技巧,从而取得理想的学习效果。
四、最后一章是上机实验与指导,这有助于结合实际,强化操作,加强实践环节,激励创新意识,使学习者有针对性地进行上机实验,提高编程能力和调试能力。课本和实验融为一体,使得一书在手,课本实验全有,体现了全面性特色。
五、本书配有教学课件,供教、学双方参考使用。课件可从http://edu.tqbooks.net/down Load网站下载。
六、做到提升学生的知识—能力—素质,把握教学的难度—深度—强度,体现基础—技术—应用,提供教材—实验—课件支持。
本书共分13章,内容包括:C语言概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组与字符串,函数,对函数的进一步讨论,指针,结构体、共用体、枚举和用户定义的类型,位运算,文件,上机实验与指导。另外还有4个附录:ASCII字符编码一览表,C语言的关键字及其用途,C语言运算符的优先级别和结合方向,C语言库函数。
本书适合作为高等院校C语言程序设计课程的教材,也可作为高职高专、成人高等教育、社会培训班的教材,还可作为C语言自学者的教材或参考书。
本书由山东建筑大学的刘浩教授、杜忠友教授、姜庆娜副教授、李学东副教授、徐遵义副教授编著。为了集思广义,组织山东建筑大学的多位老师参与编写:王晓闽老师参与了第1章的编写,孙晓燕老师参与了第2章的编写,张海林老师参与了第3章的编写,靳天飞老师和何淑娟老师参与了第6章的编写,姜玉波老师参与了第7章的编写,解艳艳老师参与了第8章的编写,李锋老师参与了第11章的编写,赵欣老师参与了 第12章的编写,商学院的吴学霞老师参与了第4章的编写。
本书参考了大量的国内外文献,在此向这些文献的作者表示深深的敬意和衷心的感谢!
奉献给读者的这本书虽经反复修改,力求精益求精,但由于篇幅较大、问题复杂、个人水平等原因,难免会有疏漏、不妥甚至错讹之处,恳请各位专家和读者提出宝贵意见(E-mail:du-zy@163.com),以便再版时将您的意见纳入书中,使本书越来越精品化,更好地为读者服务。
编 者
2011年1月 -
目录
第1章 C语言概述 1
1.1 C语言的产生过程及特点 1
1.1.1 C语言的产生过程 1
1.1.2 C语言的特点 2
1.2 C语言程序的结构、书写格式和简单的C语言程序 3
1.2.1 C语言程序的结构 3
1.2.2 C语言程序的书写格式 4
1.2.3 简单的C语言程序 4
1.3 C语言程序的开发过程及开发环境 6
1.3.1 C语言程序的开发过程 6
1.3.2 Turbo C集成开发环境及其使用 7
1.3.3 Visual C++开发环境及其使用 9
1.4 算法和结构化程序设计 15
1.4.1 算法 15
1.4.2 结构化程序设计 16
1.4.3 简单程序的设计 17
习题1 17
第2章 数据类型、运算符与表达式 19
2.1 C语言的数据类型 19
2.2 常量、变量 21
2.2.1 常量 21
2.2.2 变量 24
2.2.3 变量赋初值 25
2.3 C语言的运算符和表达式 25
2.3.1 算术运算符和算术表达式 26
2.3.2 赋值运算符和赋值表达式 27
2.3.3 复合的赋值表达式 28
2.3.4 逗号运算符和逗号表达式 29
2.4 不同类型数据之间的转换 30
2.4.1 自动类型转换 30
2.4.2 强制类型转换 31
习题2 32
第3章 顺序结构程序设计 34
3.1 简单示例及顺序结构的特点 34
3.2 赋值语句 35
3.3 数据输入/输出 35
3.3.1 格式输出函数——printf函数 36
3.3.2 格式输入函数——scanf函数 40
3.3.3 字符输出函数——putchar函数 44
3.3.4 字符输入函数——getchar函数 45
3.4 C语句概述 45
3.4.1 复合语句 46
3.4.2 空语句 46
3.4.3 表达式语句 47
3.4.4 控制语句 47
3.4.5 函数调用语句 47
3.5 应用举例 47
习题3 49
第4章 选择结构程序设计 51
4.1 关系运算符和关系表达式 51
4.1.1 关系运算符及其优先顺序 51
4.1.2 关系表达式 52
4.2 逻辑运算符和逻辑表达式 52
4.2.1 逻辑运算符及其优先顺序 52
4.2.2 逻辑表达式 53
4.3 if语句 54
4.3.1 if语句与单分支结构 54
4.3.2 if…else语句与两分支结构 55
4.3.3 else…if语句与多分支结构 56
4.3.4 if…else语句的嵌套与分支的嵌套结构 57
4.4 条件表达式构成的选择结构 59
4.4.1 条件运算符 59
4.4.2 条件表达式与两分支结构 59
4.5 switch语句 60
4.5.1 break语句 60
4.5.2 switch语句与多分支结构 60
4.6 goto语句和标号 64
4.7 应用举例 65
习题4 68
第5章 循环结构程序设计 71
5.1 while语句与用while语句构成的循环结构 71
5.1.1 while语句 71
5.1.2 while构成的循环结构 71
5.2 do…while语句与用do…while语句构成的循环结构 73
5.2.1 do…while语句 73
5.2.2 do…while构成的循环结构 74
5.3 for语句与用for语句构成的循环结构 75
5.3.1 for语句 75
5.3.2 for构成的循环结构 76
5.4 三种循环的比较和嵌套 78
5.4.1 三种循环的比较 78
5.4.2 三种循环的嵌套 79
5.5 循环结构中的break语句和continue语句 81
5.5.1 循环结构中的break语句 81
5.5.2 continue语句 82
5.6 应用举例 84
习题5 89
第6章 数组与字符串 93
6.1 一维数组 93
6.1.1 一维数组的定义 93
6.1.2 一维数组的初始化 94
6.1.3 一维数组的引用 94
6.1.4 一维数组应用举例 95
6.2 二维数组 101
6.2.1 二维数组的定义 101
6.2.2 二维数组的初始化 101
6.2.3 二维数组的引用 102
6.2.4 二维数组应用举例 102
6.3 多维数组 105
6.4 字符数组和字符串 106
6.4.1 字符数组的定义 106
6.4.2 字符数组的赋值——字符串的存储方法 106
6.4.3 字符串的输入 108
6.4.4 字符串的输出 109
6.4.5 字符串运算函数 110
6.4.6 二维字符数组 112
6.4.7 字符数组和字符串应用举例 113
习题6 115
第7章 函数 117
7.1 概述 117
7.2 函数的定义 118
7.2.1 有参函数定义的一般格式 118
7.2.2 无参函数定义的一般格式 119
7.2.3 空函数 120
7.3 函数的返回值 120
7.3.1 return语句 120
7.3.2 函数的返回值 120
7.4 函数的调用 123
7.4.1 函数的调用格式 123
7.4.2 函数调用时的语法要求 124
7.4.3 调用函数和被调函数之间的数据传递 124
7.5 函数的声明 125
7.6 函数的嵌套调用 126
7.7 函数的递归调用 127
7.8 库函数的调用 129
7.9 数组作函数参数 134
7.9.1 数组元素作函数实参 134
7.9.2 数组名作函数参数 134
7.10 应用举例 136
习题7 138
第8章 对函数的进一步讨论 141
8.1 局部变量和全局变量 141
8.1.1 局部变量 141
8.1.2 全局变量 142
8.2 变量的存储属性 143
8.2.1 变量的存储类型 143
8.2.2 局部变量使用的存储类型 144
8.2.3 全局变量使用的存储类型 148
8.3 函数的存储属性 152
8.3.1 内部函数 152
8.3.2 外部函数 152
8.4 编译预处理 153
8.4.1 宏定义 153
8.4.2 文件包含 155
8.4.3 条件编译 157
习题8 160
第9章 指针 162
9.1 地址、指针的概念和指针变量 162
9.1.1 地址与指针 162
9.1.2 指针运算符&和* 163
9.1.3 指针变量的定义 163
9.1.4 指针变量的赋值 164
9.1.5 指针变量的使用 164
9.1.6 指针运算 167
9.2 指针与函数 167
9.2.1 指针作函数参数 167
9.2.2 指向函数的指针 169
9.2.3 返回指针的函数(函数的返回值是指针) 170
9.3 指针与数组 172
9.3.1 指针与一维数组 172
9.3.2 指针与二维数组 178
9.3.3 指针数组 182
9.4 指针与字符串 183
9.5 指向指针的指针 184
9.6 main函数的参数 185
9.7 指针与内存的动态存储分配 187
9.7.1 内存动态存储分配函数 187
9.7.2 内存动态存储分配函数的应用 188
习题9 190
第10章 结构体、共用体、枚举和用户定义的类型 193
10.1 结构体和结构体变量 193
10.1.1 结构体类型的定义 193
10.1.2 结构体变量的定义 194
10.1.3 结构体变量的初始化 196
10.1.4 结构体变量的引用 196
10.1.5 结构体变量应用举例 197
10.2 结构体数组 198
10.2.1 结构体数组的定义 198
10.2.2 结构体数组的初始化 199
10.2.3 结构体数组的引用 200
10.2.4 结构体数组应用举例 200
10.3 结构体指针 201
10.3.1 指向一个结构体变量的指针 201
10.3.2 指向一个结构体数组的指针 202
10.4 结构体与函数 204
10.4.1 结构体的成员作函数参数 204
10.4.2 结构体变量作函数参数 204
10.4.3 指向结构体的指针作函数参数 206
10.4.4 结构体数组作函数参数 207
10.4.5 函数的返回值是结构体类型 210
10.4.6 函数的返回值是指向结构体变量或结构体数组元素的指针 214
10.5 链表 216
10.5.1 用指针和结构体构成链表 216
10.5.2 链表的基本操作 218
10.6 共用体 221
10.6.1 共用体类型的定义 221
10.6.2 共用体变量的定义 221
10.6.3 共用体变量的引用 222
10.6.4 共用体应用举例 223
10.7 枚举 225
10.7.1 枚举类型的定义 225
10.7.2 枚举变量的定义 225
10.7.3 枚举变量的引用 226
10.7.4 枚举应用举例 227
10.8 用typedef定义新类型名 228
习题10 229
第11章 位运算 230
11.1 位运算简介 230
11.1.1 位逻辑运算符 230
11.1.2 移位运算符 233
11.2 位赋值运算符 234
11.3 位段 234
11.4 应用举例 236
习题11 238
第12章 文件 240
12.1 C文件的概念 240
12.2 文件的打开和关闭 241
12.2.1 文件类型指针 241
12.2.2 fopen函数 242
12.2.3 fclose函数 243
12.3 文件的读/写 243
12.3.1 fgetc和fputc(putc和getc)函数 243
12.3.2 fread函数和fwrite函数 245
12.3.3 fscanf函数和fprintf函数 248
12.3.4 fgets函数和fputs函数 249
12.4 文件的定位及出错检测 250
12.4.1 顺序存取和随机存取 250
12.4.2 rewind函数 251
12.4.3 fseek函数 251
12.4.4 ftell函数 251
12.4.5 出错检测函数 252
习题12 254
第13章 上机实验与指导 255
上机实验1 C程序的运行环境和运行C程序的方法 255
上机实验2 数据类型、运算符与表达式 256
上机实验3 顺序结构程序设计 257
上机实验4 顺序结构程序设计(续) 259
上机实验5 选择结构程序设计 259
上机实验6 选择结构程序设计(续) 261
上机实验7 循环结构程序设计 261
上机实验8 循环结构程序设计(续) 263
上机实验9 选择、循环结构程序设计 263
上机实验10 一维数组 264
上机实验11 二维数组 265
上机实验12 字符数组和字符串 266
上机实验13 函数(一) 267
上机实验14 函数(二) 268
上机实验15 函数(三) 268
上机实验16 指针(一) 270
上机实验17 指针(二) 271
上机实验18 指针(三) 272
上机实验19 结构体与链表 272
上机实验20 共用体与枚举 273
上机实验21 位操作 273
上机实验22 文件 274
附录A ASCII字符编码一览表 275
附录B C语言的关键字及其用途 277
附录C C语言运算符的优先级别和结合方向 278
附录D C语言库函数 280
参考文献 286 -
作者介绍
主要著译者顺序姓名学历职称学科专长通讯地址1 刘浩教授 主任 工作单位山东建筑大学 邮政编码 250101电话13864050693 2 工作单位 邮政编码 电话 3 工作单位 邮政编码 电话 审校者(主审者) 学历 工作单位 邮政编码 电话 职称 工作单位 邮政编码 电话 -
编辑推荐
-
书评书荐
-
附件下载
图书推荐