新書推薦:
《
汉娜·阿伦特与以赛亚·伯林 : 自由、政治与人性
》
售價:HK$
109.8
《
女性与疯狂(女性主义里程碑式著作,全球售出300万册)
》
售價:HK$
109.8
《
药食同源中药鉴别图典
》
售價:HK$
67.0
《
设计中的比例密码:建筑与室内设计
》
售價:HK$
87.4
《
冯友兰和青年谈心系列:看似平淡的坚持
》
售價:HK$
55.8
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
76.2
《
汗青堂丛书144·决战地中海
》
售價:HK$
168.0
《
逝去的武林(十周年纪念版 武学宗师 口述亲历 李仲轩亲历一九三零年代武人言行录)
》
售價:HK$
54.9
|
編輯推薦: |
该书定位准确,选材恰当,概念清晣,深入浅出,例题丰富,容易学习,在第三版的基础上,根据教学实践又作了调整修改,使之更切合教学的需要。是一本适合于高校计算机基础教育的比较好的C教材。
|
內容簡介: |
C语言是程序员的入门语言,也是许多大学为学生安排的第一门程序设计课程。本书充分考虑到这一点,在内容的编排上尽量符合初学者的要求,在实例的选择上从易到难,循序渐进,并且能够解决一些实际问题。本书主要内容包括:C语言概述、C语言的基本知识、顺序和选择结构程序设计、循环结构程序设计、函数、数组、指针、结构体等构造数据类型、文件和综合案例。
|
關於作者: |
林小茶 北京信息科技大学 信息管理学院 副教授 多年来一直从事程设计类课程的教学工作,有丰富的教学经验;出版了多本有关程序设计的教材,并有多本教材入选国家十一五规划教材、北京市精品教材以及国家级精品教材。
|
目錄:
|
第1章C语言概述.............................. 1
1.1
程序与程序设计语言 .................... 1
1.1.1
程序 .................................... 1
1.1.2
程序设计语言..................... 2
1.2
C 语言发展历史和主要特点.......... 3
1.2.1
C 语言的发展历史.............. 3
1.2.2
C 语言的主要特点.............. 4
1.3
C 语言的基本结构......................... 4
1.3.1
第一个程序......................... 5
1.3.2
第二个程序......................... 5
1.3.3
printf使用初步.................. 6
1.3.4
第三个程序......................... 7
1.4
程序的调试.................................... 7
1.4.1
调试步骤 ............................ 7
1.4.2
在 Visual Studio 2010 调试
环境下调试第一个程序...... 8
小结.......................................................12
习题.......................................................12
第2章C语言的基本知识.................. 13
2.1
变量 ..............................................13
2.2
常量 ..............................................15
2.3
C 语言的数据类型........................16
2.3.1
为什么要讨论数据类型.....16
2.3.2
C 语言有哪些数据类型 .....17
2.3.3
基本数据类型....................17
2.4
不同数据类型的变量说明............18
2.4.1
整型变量 ...........................18
2.4.2
浮点变量
...........................19
2.4.3
字符变量 ...........................20
2.5
不同数据类型的常量写法............20
2.5.1
整型常量 ...........................20
2.5.2
浮点常量 ...........................21
2.5.3
字符常量 ...........................21
2.6
不同数据类型的输入输出...........23
2.6.1
整型数据的输入输出 .......23
2.6.2
浮点数据的输入输出 .......24
2.6.3
字符数据的输入输出 .......25
2.6.4
用 getchar输入字符和用
putchar输出字符..............26
2.7
不同数据类型数据间的混合运算 27
2.7.1
自动转换............................28
2.7.2
强制转换............................28
2.7.3
安全类型转换与非安全类型
转换 ...................................29
2.8
字符集和标识符 ...........................30
2.8.1
字符集 ...............................31
2.8.2
标识符 ...............................31
2.9
典型错误及典型例题 ...................32
小结.......................................................35
习题.......................................................36
第3章 顺序和选择结构程序设计........37
3.1
结构化程序设计 ...........................37
3.1.1
结构化程序设计的 3 种
基本结构 ...........................37
3.1.2
结构化程序设计思想的
产生 ...................................42
3.2
语句与分程序...............................44
3.3
顺序结构程序设计 .......................45
3.4
算术运算符与赋值运算符............46
3.4.1
算术运算符的种类及运算.46
3.4.2
算术表达式及算术运算符
的优先级 ...........................47
3.4.3
算术运算符的结合性.........48
3.4.4
普通赋值运算符 ................48
3.4.5
复合赋值运算符 ................49
3.5
选择结构程序设计 .......................49
CONTENTS
目录
2 C语言程序设计(第四版)
3.5.1
问题提出与程序示例 ........49
3.5.2
if 形式................................51
3.5.3
ifelse 形式 ......................53
3.5.4
else if 形式.........................55
3.5.5
嵌套的 if 语句....................58
3.6
关系运算符与逻辑运算符............60
3.6.1
关系运算符........................60
3.6.2
逻辑运算符........................61
3.7
增 1减 1 运算符...........................62
3.8
求字节数运算符...........................63
3.9
switch 语句....................................65
3.10
条件运算符.................................68
3.11
程序举例.....................................70
3.12
典型错误及典型例题 .................73
小结.......................................................78
习题.......................................................79
第4章 循环结构程序设计..................
81
4.1
问题提出与程序示例 ...................81
4.2
while 语句 .....................................83
4.2.1
while 语句的语法和流程图83
4.2.2
使用 while 语句需要注意
的问题 ...............................84
4.3
dowhile 语句..............................86
4.3.1
dowhile 语句的语法和
流程图 ...............................86
4.3.2
使用 dowhile 语句
解决问题 ...........................86
4.3.3
使用 dowhile 语句需要
注意的问题........................88
4.4
for 语句.........................................89
4.4.1
for 语句的语法和流程图 ...89
4.4.2
使用 for 语句解决问题 ......90
4.4.3
使用 for 语句需要注意的
问题...................................91
4.5
多重循环 ......................................92
4.6
break 语句在循环语句中的用法 ..94
4.7
continue 语句 ................................96
4.7.1
continue 的用法 .................96
4.7.2
break 与 continue 的区别 ...96
4.8
程序举例 ......................................97
4.9
典型错误及典型例题 .................104
小结.....................................................108
习题.....................................................108
第5章 函数.....................................
111
5.1 问题提出与程序示例 .................111
5.2
函数基础 ....................................112
5.3
函数的定义.................................113
5.3.1
函数的定义形式 ..............113
5.3.2
函数的返回值..................114
5.4
函数调用 ....................................115
5.4.1
函数的调用方式 ..............115
5.4.2
嵌套调用..........................116
5.5
函数声明 ....................................118
5.6
参数传递 ....................................119
5.6.1
形参和实参......................119
5.6.2
形参的数据类型是基本
数据类型 .........................120
5.7
递归调用 ....................................121
5.8
变量的存储类别 .........................126
5.8.1
自动变量与外部变量.......126
5.8.2
静态变量..........................130
5.8.3
寄存器变量......................132
5.9
典型错误及典型例题 .................133
小结.....................................................136
习题.....................................................137
第6章 数组.....................................
138
6.1
问题提出与程序示例 .................138
6.2
一维数组 ....................................140
6.2.1
一维数组的定义 ..............140
6.2.2
一维数组的引用 ..............141
6.2.3
一维数组的初始化 ..........141
6.2.4
程序举例..........................142
6.3
数组作为函数的参数 .................146
6.4
字符串与字符串函数 .................149
3 目 录
6.4.1
字符数组 .........................149
6.4.2
使用字符串常量初始化
字符数组 .........................150
6.4.3
对字符数组进行输入
输出操作 .........................150
6.4.4
字符串函数......................153
6.4.5
程序举例 .........................157
6.5
二维数组 ....................................160
6.5.1 二维数组 OP 的定义........160
6.5.2
二维数组的引用 ..............161
6.5.3
二维数组的初始化 ..........162
6.5.4
程序举例 .........................162
6.6
典型错误及典型例题 .................168
小结.....................................................174
习题.....................................................174
第7章 指针.....................................
178
7.1
指针类型与指针运算符..............178
7.1.1
指针数据类型..................179
7.1.2
指针运算符和*的使用..180
7.2
空间的动态分配与指针运算......181
7.2.1
程序示例 .........................181
7.2.2
空指针 .............................182
7.2.3
存储器申请......................182
7.2.4
存储器释放......................184
7.2.5
指针值的算术运算 ..........184
7.3
指针与函数.................................187
7.3.1
形参的数据类型是
指针类型 .........................187
7.3.2
返回指针值的函数 ..........190
7.3.3
指向函数的指针 ..............191
7.4
指针与一维数组.........................195
7.4.1
问题提出与程序示例 ......195
7.4.2
数组名及指针作为
函数参数 .........................197
7.4.3
指针与字符串..................199
7.5
二级指针 ....................................201
7.6
指针数组 ....................................203
7.6.1
问题提出与程序示例.......203
7.6.2
指针数组的定义和使用...204
7.7
指针与二维数组 .........................207
7.7.1
用指针方法操作二维数组
.........................................207
7.7.2
动态的二维数组 ..............209
7.7.3
用指向数组的指针操作
二维数组 .........................211
7.8
命令行参数.................................213
7.9
典型错误及典型例题 .................217
小结.....................................................223
习题.....................................................224
第8章 结构体等构造数据类型.........
226
8.1
结构体 ........................................226
8.1.1
问题提出与程序示例.......226
8.1.2
结构体的声明和结构体
变量的定义......................227
8.1.3
结构体成员的引用 ..........228
8.1.4
结构体的初始化 ..............229
8.2
结构体数组.................................230
8.3
结构体与指针.............................231
8.3.1
指向结构体的指针 ..........231
8.3.2
结构体中的成员包含
指针 .................................234
8.3.3
用结构体类型指针
建立链表 .........................235
8.4
结构体与函数.............................240
8.4.1
结构体数据作为函数
的参数 .............................240
8.4.2
返回指向结构体的指针
的函数 .............................241
8.5
联合体 ........................................243
8.5.1
问题提出与程序示例.......243
8.5.2 联合体的声明和联合体
变量的定义......................244
8.5.3
联合体变量成员的引用...245
8.5.4
指向联合体变量的指针...246
4 C语言程序设计(第四版)
8.5.5
联合体变量与函数 ..........247
8.6
枚举 ............................................249
8.6.1
枚举的声明和枚举变量
的定义 .............................249
8.6.2
枚举变量的使用 ..............249
8.7
类型定义 ....................................250
8.8
程序举例 ....................................251
8.9
典型错误及典型例题 .................254
小结.....................................................259
习题.....................................................260
第9章 文件.....................................
263
9.1
问题提出与程序示例 .................263
9.2
文件操作的基本方法和
相关概念.....................................264
9.2.1
数据文件 .........................264
9.2.2
文件类型指针..................264
9.2.3
文件的打开......................265
9.2.4
文件的关闭......................267
9.2.5
文件操作顺序..................268
9.2.6
C 语言的设备文件...........269
9.3
文件的读写操作........................269
9.3.1
fputc函数与 fgetc函数..269
9.3.2
fprintf函数与 fscanf函数
.........................................273
9.3.3
fread函数与 fwrite函数 275
9.3.4
fgets和 fputs .................279
9.4
文件的定位.................................280
9.4.1
文件的顺序存取和
随机存取 .........................280
9.4.2
rewind函数.....................280
9.4.3
fseek函数 .......................281
9.5
程序举例 ....................................282
小结.....................................................287
习题.....................................................287
第10章 综合案例............................
290
附录A
|
內容試閱:
|
本书延续了前三版的特点,并在此基础上对所讲解的内容做了适当修订,以适合第一次学习
程序设计者的需求。
主要的修订内容包括:
(1)选用了一些新的案例。这些案例不但更适合初学者,也更有实际意义。例如,有关人的
姓名在计算机内的存储。
(2)教学内容的先后做了部分调整。尤其是第 2 章,因为该章的内容比较烦琐,学生也觉得
枯燥,重新调整后更利于教学,教师在使用时也可以根据情况增删该部分内容。第 6 章将二维数
组放到了最后,将字符数组和字符串的内容提前了。
(3)增加了第 10 章综合案例。尽管前 9 章的一些案例随着教学进程不断丰富,已经比较复
杂,但是笔者还是认为不够,为了让学生学到更多的程序设计案例,增加了第 10 章,希望对大
家有更大的帮助。
(4)将大部分程序的架构改为
int main
{
return 0;
}
习题中加*号的表示老师可以留作业,习题解答中未给出答案。
本书能够多次再版,要感谢所有使用本书作为教材和学习参考书的教师和读者,同时再次殷
切希望读者对本书的内容和编写方法提出宝贵的意见和建议。
由于编者水平有限,疏漏与不妥之处在所难免,敬请广大读者批评指正。
编 者
|
|