发表于2024-11-27
基本信息
书名:C语言解惑(创新性的从程序“错误”的角度出发进行讲授,通过对比程序的对错、程序的好坏,使读者具备编织高质量程序的能力)
原价:79元
作者:刘振安刘燕君
出版社:机械工业出版社
出版日期:2014-10-1
ISBN:9787111479857
字数:
页码:528
版次:1
装帧:平装
开本:16开
商品标识:711147985
编辑推荐
创新性地从“错误”的角度出发进行讲授,通过对比程序的对错、程序的好坏,使读者具备编制高质量程序的能力从对比程序的对错到对比程序的质量,循序渐进地引领读者成为编程高手。
内容提要
本书分为两篇共25章。第一篇共11章,重点分析编程中存在的典型错误,通过对比正确与错误的程序,使读者加深印象,尽快掌握C语言编程基础知识并提高编程能力。第二篇共14章,除保持第一篇的特点之外,重点关注能运行而编程质量不好的程序,通过寻找“好”的替代程序,引导读者提高实用编程能力。本书选用案例讲授,争取起到雨打沙滩、滴滴入骨的效果。
本书涉及的内容深浅均有,其中不乏编程高手也会产生混淆的内容,各类人群都能在其中找到满足自己需要的知识并有一定收获。本书不仅对社会读者极有参考价值,还能帮助在校生进行课程设计训练,完成毕业实习或毕业论文。本书既可以作为手册随时查阅,又可以作为自学或培训班的参考资料。
目录
目录Contents
前言
第一篇C语言编程中的对与错
第1章初涉C语言者的困惑2
1.1中文字符以假乱真2
1.2象形字体扰乱视听3
1.3都是注释惹的祸4
1.4千万不要忘记我4
1.5别把分号放错地方4
1.6少了花括号就是行不通6
1.7scanf要“&”不要“ ”6
1.8老大就是要在最前面6
1.9记住我就会受益无穷7
第2章用好printf和scanf一对活宝9
2.1printf输出的小奥妙9目录Contents
前言
第一篇C语言编程中的对与错
第1章初涉C语言者的困惑2
1.1中文字符以假乱真2
1.2象形字体扰乱视听3
1.3都是注释惹的祸4
1.4千万不要忘记我4
1.5别把分号放错地方4
1.6少了花括号就是行不通6
1.7scanf要“&”不要“ ”6
1.8老大就是要在最前面6
1.9记住我就会受益无穷7
第2章用好printf和scanf一对活宝9
2.1printf输出的小奥妙9
2.2printf输出整数或字符11
2.3输入的格式配对错误12
2.4空格让scanf莫名其妙14
2.5回车键打乱scanf的阵脚15
2.6字符输入要搞特殊化15
2.7别混淆字符数组和字符17
2.8一维数组更要特殊对待19
2.9输出值的操作符20
2.10引入指针更方便23
2.11指针的困惑24
第3章基本数据类型26
3.1混合运算要小心26
3.2数据类型的后缀符号28
3.3基本数据的初始化28
3.4注意编译系统的差别29
3.5不要用错等于运算符30
3.6不要用错逗号运算符31
第4章程序控制语句34
4.1控制流程运算容易出现的问题34
4.1.1写错关系运算符34
4.1.2混淆表达式和关系表达式的值36
4.1.3混淆逻辑表达式和逻辑表达式的值37
4.1.4混淆逻辑运算符和位运算符38
4.2程序控制语句容易出现的问题39
4.2.1条件分支语句的错误39
4.2.2控制重复的分支语句44
4.2.3运算符优先级错误53
4.2.4求值顺序55
第5章数组与指针是重点58
5.1一维数组越界和初始化错误58
5.1.1一维数组越界错误58
5.1.2一维数组初始化错误60
5.2数组赋值错误61
5.3指针地址的有效性64
5.4配合使用一维数组与指针69
5.4.1使用一维数组名简化操作69
5.4.2使用指针操作一维数组71
5.4.3使用一维字符数组78
5.4.4不要忘记指针初始化79
5.5多维数组与指针81
5.5.1数组操作及越界和初始化错误81
5.5.2二维数组与指针85
5.5.3二维数组与指向一维数组的指针89
第6章函数是核心91
6.1函数的声明与定义91
6.2函数变量的作用域93
6.3函数变量类型的匹配95
6.4函数的返回路径95
6.5函数参数的设计及传递96
6.6传递指针不一定改变原来参数的值98
6.7函数的返回值99
6.7.1无返回值的void类型函数100
6.7.2函数返回值问题102
第7章宏与const106
7.1用const代替无参数的宏定义106
7.2有参数的宏定义109
第8章库函数112
8.1引用的库函数与头文件不匹配112
8.2与库函数的参数类型不匹配113
8.3对库函数的作用理解不对114
8.4充分利用库函数printf的功能118
8.4.1printf的函数原型119
8.4.2printf函数的格式控制符120
第9章结构134
9.1结构定义和赋值错误134
9.2结构作为函数参数及函数的返回值140
9.3使用结构数组和指针容易出现的错误145
9.4其他注意事项147
第10章联合与枚举148
10.1联合148
10.2枚举153
第11章状态机159
第二篇C语言编程中的好与坏
第12章注意编译系统的差别170
12.1打开所有编译开关170
12.2克服依靠编译系统产生的错误170
第13章测试与调试程序174
13.1预防措施174
13.1.1书写格式和注意事项174
13.1.2命名注意事项176
13.1.3程序注释178
13.2使用条件编译180
13.3消灭警告信息183
13.4使用简单的输出信息调试程序185
13.5编写error函数194
13.6使用集成环境提供的调试手段197
13.6.1一个简单的实例197
13.6.2编译程序198
13.6.3排错199
13.6.4基本调试命令简介200
13.6.5程序与汇编调试窗口203
13.7调试程序实例204
13.8软件测试206
13.8.1模块测试209
13.8.2组装测试211
13.8.3确认测试211
13.9程序的测试与调试212
13.10测试用例设计技术214
13.10.1逻辑覆盖法215
13.10.2等价划分法218
13.10.3边值分析法219
13.10.4因果图法219
13.10.5错误猜测法220
第14章正确使用变量、常量和指针221
14.1基本数据类型的变量初始化221
14.2不要混淆字符和字符串222
14.3指针的初始化224
14.4指针相等228
14.5使用const232
14.5.1左值和右值232
14.5.2推荐使用const定义常量234
14.5.3对函数传递参数使用const限定符236
14.5.4对指针使用const限定符237
14.6使用volatile变量240
14.7变量的存储地址分配242
第15章正确使用宏246
15.1不要使用不存在的运算符246
15.2正确使用定义的宏247
15.3正确定义宏的参数248
15.4使用宏定义函数250
第16章控制语句252
16.1运算顺序错误252
16.2采用更明确的条件254
16.3设计存在的问题256
16.3.1没有涵盖全部条件256
16.3.2条件超出范围261
16.3.3减少循环次数264
16.4正确选择运算符273
16.5优先级和求值顺序错误277
第17章位运算285
17.1位运算典型错误285
17.2位运算典型实例290
第18章再论数组与指针295
18.1一维数值数组和指针295
18.1.1使用数组偏移量造成数组越界295
18.1.2使用数组名进行错误运算296
18.1.3错误使用数组下标和指向数组指针的下标298
18.1.4小结299
18.2一维字符数组和指针301
18.2.1字符数组的偏移量301
18.2.2字符数组不对称编程综合实例303
18.3动态内存307
18.3.1非数组的指针307
18.3.2NULL指针309
18.4二维数组和指针310
18.4.1二维数组的界限310
18.4.2二维数组的一维特性312
18.4.3指向二维数组的指针314
18.5数组和指针应用实例318
第19章再论函数325
19.1函数变量的作用域325
19.1.1块结构之间的变量屏蔽规则325
19.1.2程序和文件内的变量328
19.1.3多文件变量作用域331
19.2函数的参数337
19.2.1完璧归赵338
19.2.2多余的参数340
19.2.3传递的参数与函数参数
匹配问题342
19.2.4等效替换参数345
19.3函数的类型和返回值347
19.3.1函数的类型力求简单347
19.3.2实参要与函数形参的类型匹配349
19.3.3正确设计函数的返回方式351
19.3.4正确设计和使用函数指针356
19.3.5如何解读函数声明361
第20章再论库函数365
20.1getchar函数的返回类型不是字符365
20.2setbuf函数与其他函数的配合368
20.3错误使用errno函数377
20.4模拟设计printf函数379
20.4.1具有可变参数的函数379
20.4.2设计简单的打印函数382
20.4.3利用宏改进打印函数387
20.5scanf和sscanf函数392
20.5.1sscanf函数的使用方法394
20.5.2sscanf函数用法举例395
20.6探讨printf函数398
第21章再论结构400
21.1同类型结构变量之间的整体赋值400
21.2使用键盘赋值405
21.2.1为结构变量赋值405
21.2.2为结构指针变量赋值407
21.2.3为链表赋值411
21.2.4为结构数组的变量赋值412
21.2.5为含有指针域的结构数组赋值413
21.3使用结构作为函数的参数417
21.3.1结构变量的传数值与传地址值417
21.3.2结构数组传地址值418
21.4结构函数的返回值421
21.5修改传递的结构参数的值430
21.6优先使用结构指针传递参数435
第22章使用文件常见错误分析439
22.1文件的打开与关闭439
22.2文件的读写450
22.3其他读写函数464
22.4文件的定位467
22.5操作出错检测及错误标志的复位469
22.6文件的内存分配470
22.7小结470
第23章多文件编程472
23.1多文件编程错误浅析472
23.2单文件结构475
23.3一个源文件和一个头文件475
23.4多文件结构477
第24章发布C程序483
24.1两种版本的异同483
24.2两种版本的设置484
第25章典型问题486
25.1计算机解题具有多解的特点486
25.2应对算法进行优化487
25.3优化时要避免出现新的错误488
25.4扩展程序要注意是否满足全部条件494
25.5注意函数设计的多样化和效率496
25.6使用多文件编程502
25.7使用状态机设计程序507
附录AC语言操作符的优先级513
附录B简化优先级记忆口诀515
附录C7位ASCII代码表517
主要参考文献518
作者介绍
暂无
文摘
暂无
媒体推荐
暂无
火炮概论 下载 mobi pdf epub txt 电子书 格式 2024
火炮概论 下载 mobi epub pdf 电子书评分
评分
评分
评分
评分
评分
评分
评分
火炮概论 mobi epub pdf txt 电子书 格式下载 2024