图书信息
C语言程序设计(第2版)
作者:李忠月、励龙昌、虞铭财
定价:49元
印次:2-1
ISBN:9787302483557
出版日期:2017.10.01
印刷日期:2017.08.23
内容简介
本书采用“实例导入问题提出解释与应用”的叙述模式,以生动有趣的案例引入,从情境中提出问题,建立数学模型,获得解决方法,最后实现应用。全书共分12章,包括概述、分支结构、循环结构、函数、数组、指针、结构等内容。
图书目录
第1章概述/1
1.1计算机程序设计语言1
1.1.1机器语言1
1.1.2汇编语言1
1.1.3高级语言2
1.2用程序设计语言编写程序的步骤2
1.2.1编码2
1.2.2编译2
1.2.3调试3
1.2.4维护3
1.3结构化程序设计方法4
1.4算法4
1.4.1算法的特性5
1.4.2算法的描述5
1.5关于C程序设计语言8
1.5.1C语言出现的历史背景8
1.5.2C语言的特点9
1.6简单的C语言程序10
1.6.1输出hello,world10
1.6.2计算a+b11
1.6.3计算分段函数的值12
1.6.4按先大后小的顺序输出两个整数13
1.6.5华氏温度与摄氏温度的转换14
练习16
第2章类型、运算符与表达式/19
2.1变量19
2.1.1变量的命名规则19
2.1.2变量的声明20
2.2数据类型及长度21〖1〗C语言程序设计(第2版)目录[3]〖3〗2.2.1short与long限定符21
2.2.2signed与unsigned限定符21
2.2.3每种数据类型的printf和scanf格式转换符22
2.3常量25
2.3.1整数常量与浮点数常量25
2.3.2字符常量25
2.3.3字符串常量26
2.3.4符号常量27
2.3.5枚举常量27
2.4常量表达式28
2.5算术运算符28
2.6关系运算符与逻辑运算符28
2.7自增运算符与自减运算符31
2.8逗号运算符31
2.9赋值运算符与赋值表达式32
2.10条件运算符与条件表达式33
2.11一元运算符sizeof34
2.12类型转换34
2.13运算符的优先级及求值次序36
练习37
第3章分支结构/44
3.1实例导入44
3.2语句与程序块45
3.3ifelse语句45
3.4elseif语句48
3.5switch语句50
3.6应用实例:学生成绩管理56
练习58
第4章循环结构/62
4.1实例导入62
4.2while循环65
4.3for循环70
4.4dowhile循环74
4.5三种循环语句的比较76
4.6循环结构的嵌套77
4.7break语句与continue语句83
4.8goto语句与标号88
4.9专题1:正整数的拆分89
4.10专题2:迭代法92
4.11应用实例:学生成绩管理95
练习96
第5章输入与输出/109
5.1getchar()函数109
5.2putchar()函数110
5.3printf()函数113
5.4scanf()函数114
5.5应用实例:求和116
练习122
第6章函数/126
6.1实例导入126
6.2函数的基本知识129
6.2.1函数的定义129
6.2.2函数的调用130
6.2.3函数的声明135
6.2.4函数设计的基本原则138
6.3函数的嵌套调用139
6.4函数的递归调用139
6.5变量的存储类型145
6.6变量的类别145
6.6.1外部变量与内部变量145
6.6.2静态变量147
6.6.3寄存器变量148
6.7变量的作用域与生存期148
6.7.1变量的作用域148
6.7.2变量的生存期149
6.7.3内存空间及分配方式149
6.8程序块结构156
6.9变量的初始化156
6.10预处理157
6.10.1文件包含157
6.10.2宏替换157
6.10.3条件编译159
6.11专题3:最大公约数的求解161
6.11.1bruteforce算法161
6.11.2欧几里德算法162
6.11.3更相减损法164
练习165
第7章数组/177
7.1实例导入177
7.2一维数组180
7.2.1一维数组的定义180
7.2.2一维数组元素的引用181
7.2.3一维数组的初始化181
7.2.4一维数组的应用举例182
7.3二维数组184
7.3.1二维数组的定义184
7.3.2二维数组元素的引用184
7.3.3二维数组的初始化185
7.3.4二维数组的应用举例186
7.4字符数组192
7.4.1字符数组的定义和引用192
7.4.2字符数组的初始化192
7.4.3字符数组的输入/输出193
7.4.4字符数组的应用举例195
7.5数组与函数参数197
7.5.1数组元素作函数实参197
7.5.2数组作函数实参198
7.6查找和排序201
7.6.1查找201
7.6.2排序203
7.7专题4:进制转换206
7.7.1十进制整数转换成其他进制整数206
7.7.2其他进制整数转换成十进制整数208
7.8专题5:素数209
7.8.1素数判定的基本方法209
7.8.2一定范围内所有素数的求解217
7.9应用实例:学生成绩管理220
练习222
第8章指针/240
8.1实例导入240
8.2指针的基本知识246
8.2.1指针变量的声明246
8.2.2指针变量的初始化246
8.2.3指针变量的基本运算246
8.3指针与数组249
8.3.1指针与一维数组249
8.3.2指针与多维数组258
8.4指针与函数259
8.4.1指针作为函数的参数259
8.4.2指针作为函数的返回值263
8.4.3指向函数的指针266
8.5字符指针与函数267
8.6指针数组269
8.6.1指针数组的声明269
8.6.2指针数组的初始化269
8.6.3指针数组与二维数组的区别269
8.7命令行参数270
8.8指向指针的指针271
8.9动态分配272
8.9.1动态分配内存272
8.9.2释放内存272
8.9.3void类型273
8.9.4动态数组273
8.9.5查找malloc中的错误275
练习275
第9章结构/297
9.1实例导入297
9.2结构的基本知识302
9.2.1结构类型的定义303
9.2.2结构变量的定义303
9.2.3结构成员的访问304
9.2.4对结构变量的操作304
9.2.5结构变量的初始化306
9.2.6结构的嵌套307
9.3结构数组308
9.4结构指针311
9.5typedef313
9.6结构与函数314
9.7单链表315
9.7.1单链表的创建316
9.7.2单链表的输出316
9.7.3单链表的插入316
9.7.4单链表的删除319
9.7.5链表的综合操作319
9.8联合321
9.9枚举324
9.9.1枚举类型的定义324
9.9.2枚举变量的定义324
9.9.3对枚举变量的操作325
9.10应用实例:学生成绩管理327
9.10.1用结构数组实现328
9.10.2用单链表实现329
练习332
第10章位运算/342
10.1原码、反码和补码342
10.2位运算符343
10.2.1与运算符343
10.2.2或运算符343
10.2.3异或运算符343
10.2.4取反运算符344
10.2.5左移运算符和右移运算符344
10.3位赋值运算符347
10.4位域348
练习349
第11章文件/352
11.1实例导入353
11.2C语言中文件的使用354
11.2.1声明FILE类型的变量355
11.2.2打开文件355
11.2.3执行I/O操作356
11.2.4关闭文件356
11.3字符I/O357
11.3.1读字符函数fgetc()357
11.3.2写字符函数fputc()357
11.4行I/O360
11.4.1读字符串函数fgets()360
11.4.2写字符串函数fputs()360
11.5格式化I/O361
11.5.1格式化输出函数fprintf()和sprintf()361
11.5.2格式化输入函数fscanf()和sscanf()361
11.6数据块读写363
11.6.1数据块读函数fread()363
11.6.2数据块写函数fwrite()363
11.7文件的定位363
11.7.1fseek()函数363
11.7.2ftell()函数365
11.7.3rewind()函数365
11.8错误检测函数366
11.8.1clearerr()函数366
11.8.2feof()函数366
11.8.3ferror()函数366
11.9应用实例:学生成绩管理366
练习371
第12章大串讲/376
12.1顺序输出整数的各位数字376
12.2计算阶乘之和378
12.3Fibonacci数列380
12.4计算函数的值383
12.5在有序数组中插入一个元素384
附录A常用字符与ASCII码对照表/388
附录B常用的C语言库函数/390
B.1数学函数390
B.2字符处理函数391
B.3字符串处理函数392
B.4实用函数393
附录C与具体实现相关的限制/394
参考文献/395