新書推薦:
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:NT$
500.0
《
中国常见植物野外识别手册:青海册
》
售價:NT$
347.0
《
三星堆对话古遗址(从三星堆出发,横跨黄河流域,长江流域,对话11处古遗址,探源多元一体的中华文明)
》
售價:NT$
398.0
《
迷人的化学(迷人的科学丛书)
》
售價:NT$
653.0
《
宋代冠服图志(详尽展示宋代各类冠服 精美插图 考据严谨 细节丰富)
》
售價:NT$
398.0
《
形似神异:什么是中日传统政治文化的结构性差异
》
售價:NT$
254.0
《
养育不好惹的小孩
》
售價:NT$
352.0
《
加加美高浩的手部绘画技法 II
》
售價:NT$
407.0
|
編輯推薦: |
对于本书的编写,我们所追求的目标是:
1 既能作为一本学习C 语言程序设计的学习教材,又能作为一本C 语言程序设计的实验指导教材,也可作为一本探讨C 语言程序设计学习和实践的艺术书籍。
2 突出C 语言程序设计的应用重点和难点,不拘于具体语法细节的学习指导,而更注重C 语言程序设计的应用实践环节的上机实训。紧密联系教学实践,在教材中力求反映出学生学习相关知识的各类疑难问题,从学生学习的角度,对相关知识加以阐述和提炼。
3 引导读者良好的程序设计风格和程序设计思路,让读者能理解解决问题的方法,以达到触类旁通的效果。应用举例讲究经典实用而且丰富有趣,注重前后章节例题的连贯、一致和逐步深入。
4 主要面向初、中级读者群,又能兼顾高级读者的一些需求。内容既适合大多数初学者,又能满足少数高级读者深入学习的需求。先讲解基本知识,再探讨深层次的若干问题,以引起高级读者的兴趣。尽量把教学实践中学生学习中的问题反映到教材编写中,并加以解决,所以不但适用于学生读者,对教师读者而言,也有一定的参考价值。
5 进一步完善第1 版教材中的学习指导内容和上机实践题目的设计,突出重点,加强应用,力求表述更
|
內容簡介: |
《C语言程序设计(第2版)》是在第1版的基础上,作者根据近年来实际工作过程中积累的教学经验与学生在学习和使用C语言进行程序设计过程中的心得体会、遇到的各种问题及各种反馈意见,进行了总结讨论和分析提炼,修改并进一步完善了第1版的基本内容,增加了扩展C程序设计的相关新章节。《C语言程序设计(第2版)》内容分为三个部分,分别是基础篇第1~9章、进阶篇第10~13章和提高应用篇第14章,可以满足不同学时、不同层次学生的要求。在提高应用篇中,将C语言应用到数据结构中几种典型的复杂数据类型的表示和实现中,希望能为学习C语言程序设计的读者进一步理解和掌握C程序设计的方法提供引导、思考和启发。 《C语言程序设计(第2版)》力求对C语言程序设计中涉及的基本概念、基本理论、典型应用和语法规则等的表述更为规范、科学和准确,文字叙述更加精炼通顺、实验数据更为准确。另外,《C语言程序设计(第2版)》还为全部习题和案例程序提供了完整的注释、运行结果分析和解题说明等。 在《C语言程序设计(第2版)》中,不仅仅局限于对C语言程序设计知识的描述,还阐述了与C语言程序设计相关的其他知识,特别介绍了C语言在其他交叉学科和相关领域中的新应用,让读者对C语言程序设计的整个学科体系、不同的软件开发环境、工程实践背景等都有一个较清楚的了解和认识。 《C语言程序设计(第2版)》既可作为高等学校C语言程序设计课程的教材,也可作为C语言程序开发人员的参考书。
|
目錄:
|
目录
第1章 程序设计基础1
1.1 计算机系统概述1
1.1.1 硬件基础知识1
1.1.2 软件基础知识4
1.2 程序与程序设计语言5
1.2.1 程序的概念6
1.2.2 程序设计语言概述6
1.3 算法及其表示8
1.3.1 算法8
1.3.2 算法的特性10
1.3.3 算法的表示10
1.4 数据结构概述14
1.4.1 与数据结构相关的基本概念14
1.4.2 数据结构的含义14
1.4.3 常用的逻辑结构15
1.4.4 常用的存储结构15
1.4.5 数据的运算集合15
1.5 计算机中数据的表示16
1.5.1 数制及其转换16
1.5.2 计算机中数据的表示19
1.6 结构化程序设计概述24
1.6.1 结构化程序设计思想24
1.6.2 三种基本程序结构25
1.6.3 结构化程序设计举例26
1.7 本章学习小结28
1.8 习题28
第2章 C语言与C程序概述29
2.1 C语言概述29
2.1.1 C语言的发展背景29
2.1.2 C语言的特点30
2.2 C程序概述31
2.2.1 C程序结构31
2.2.2 C程序基本词汇符号34
2.2.3 C程序的书写风格36
2.2.4 C程序的运行步骤和方法39
2.3 本章学习小结41
2.4 习题41
第3章 数据类型、运算符和表达式42
3.1 基本数据类型42
3.1.1 void类型44
3.1.2 字符类型45
3.1.3 整数类型45
3.1.4 实数类型46
3.2 变量46
3.2.1 变量声明与定义46
3.2.2 变量初始化47
3.3 常量48
3.3.1 常量的表示48
3.3.2 代码常量52
3.4 运算符和表达式53
3.4.1 赋值运算符和赋值表达式54
3.4.2 算术运算符及表达式56
3.4.3 逗号运算符及逗号表达式58
3.4.4 关系运算符和逻辑运算符58
3.4.5 条件运算符60
3.4.6 常用标准函数的调用61
3.4.7 位运算符62
3.5 表达式求值64
3.5.1 优先级65
3.5.2 结合性65
3.5.3 表达式求值中的类型转换65
3.6 本章学习小结67
3.7 习题67
第4章 顺序结构程序设计70
4.1 C语言的语句71
4.1.1 空语句71
4.1.2 表达式语句71
4.1.3 复合语句72
4.1.4 控制语句73
4.2 输入输出概述73
4.2.1 流73
4.2.2 标准输入输出74
4.3 字符输入输出74
4.3.1 字符输出函数putchar74
4.3.2 字符输入函数getchar75
4.4 格式化输入输出76
4.4.1 格式化输出函数printf76
4.4.2 格式化输入函数scanf84
4.5 顺序结构程序设计的应用89
4.6 本章学习小结92
4.7 习题92
第5章 选择结构程序设计95
5.1 if语句概述95
5.2 if语句的使用96
5.2.1 单分支if语句96
5.2.2 双分支if语句97
5.2.3 多分支if语句99
5.2.4 if的嵌套100
5.3 条件运算符与条件表达式103
5.4 switch语句104
5.5 本章学习小结106
5.6 习题106
第6章 循环结构程序设计108
6.1 while当型循环108
6.2 dowhile型循环111
6.3 for循环113
6.4 循环嵌套及其使用115
6.5 break和continue语句122
6.5.1 break语句122
6.5.2 continue语句124
6.6 goto语句124
6.7 本章学习小结125
6.8 习题126
第7章 数组127
7.1 数组的基本概念127
7.2 一维数组的定义与使用129
7.2.1 一维数组的定义129
7.2.2 一维数组的初始化132
7.2.3 一维数组的应用134
7.3 二维数组的定义与使用147
7.3.1 二维数组的定义147
7.3.2 二维数组的初始化148
7.3.3 二维数组的应用150
7.4 字符数组与字符串156
7.4.1 字符数组的定义157
7.4.2 字符数组的初始化160
7.4.3 字符数组与字符串161
7.4.4 字符串处理函数161
7.5 多维数组164
7.6 本章学习小结165
7.7 习题166
第8章 函数基础168
8.1 函数的概念与定义168
8.1.1 函数的概念和分类168
8.1.2 函数的定义172
8.2 函数的参数与函数的返回值174
8.2.1 函数的参数174
8.2.2 函数参数的求值顺序175
8.2.3 函数的返回值176
8.3 函数的调用177
8.3.1 函数调用的概念177
8.3.2 函数调用的方式178
8.3.3 函数的原型说明178
8.3.4 函数的嵌套调用179
8.4 本章学习小结181
8.5 习题181
第9章 指针基础182
9.1 指针的基本概念182
9.1.1 指针变量的定义184
9.1.2 与指针运算紧密相关的两个运算符184
9.1.3 指针变量的使用185
9.1.4 const指针187
9.2 指针与数组188
9.2.1 指向一维数组元素的指针变量的定义189
9.2.2 通过指针变量使用一维数组元素190
9.2.3 指针与二维数组191
9.2.4 指针与数组作为函数的参数193
9.2.5 指针数组196
9.3 指针与字符串198
9.3.1 指针与字符、字符数组199
9.3.2 使用指针存储字符串200
9.4 本章学习小结201
9.5 习题201
第10章 数组、函数和指针的高级应用203
10.1 函数的递归调用204
10.1.1 递归函数的定义204
10.1.2 递归函数的应用举例204
10.2 函数使用const形参209
10.3 函数与数组210
10.3.1 数组元素作为函数的实参210
10.3.2 数组作为函数的参数211
10.4 变量的类型215
10.4.1 局部变量和全局变量215
10.4.2 变量存储类型说明218
10.5 全局函数和静态函数222
10.5.1 全局函数222
10.5.2 静态函数224
10.6 参数类型与数量可变的函数224
10.7 指针、数组与函数之间的关系224
10.7.1 数值型指针与数组作为函数的参数224
10.7.2 字符型指针与数组作为函数的参数228
10.7.3 指针数组229
10.7.4 返回指针类型的函数232
10.7.5 指向函数的指针234
10.7.6 命令行参数237
10.8 多级间址238
10.9 void型指针与动态内存分配241
10.9.1 void型指针241
10.9.2 动态存储分配243
10.10 本章学习小结247
10.11 习题248
第11章 结构体、共用体与枚举类型250
11.1 结构体250
11.1.1 结构体类型定义251
11.1.2 结构体变量的定义、初始化及引用251
11.1.3 成员包含结构体类型的结构体252
11.1.4 结构体变量的初始化253
11.1.5 结构体变量的引用255
11.2 结构体数组259
11.2.1 结构体数组的定义259
11.2.2 结构体变量数组的初始化260
11.2.3 结构体数组的引用261
11.3 指向结构体类型的指针262
11.4 结构体指针的应用267
11.4.1 包含指针成员的结构变量268
11.4.2 单向链表的简单操作273
11.5 共用体280
11.5.1 共用体类型定义282
11.5.2 共用体变量的声明282
11.5.3 共用体变量的引用283
11.6 枚举类型285
11.6.1 枚举类型变量的声明285
11.6.2 枚举变量的引用285
11.7 typedef定义类型287
11.8 本章学习小结289
11.9 习题289
第12章 文件290
12.1 流和文件290
12.1.1 流290
12.1.2 文件291
12.1.3 文件类型的指针292
12.1.4 标准文件292
12.2 文件的打开、关闭与读写292
12.2.1 fopen函数293
12.2.2 fclose函数294
12.2.3 fgetc与fputc函数294
12.2.4 fread与fwrite函数296
12.3 文件IO297
12.3.1 fprintf与fscanf函数297
12.3.2 fgets与fputs函数299
12.3.3 文件读写指针移动函数fseek与rewind300
12.3.4 ftell和feof函数300
12.4 本章学习小结302
12.5 习题302
第13章 编译预处理303
13.1 C预处理程序303
13.2 #define304
13.3 #include305
13.4 条件编译指令305
13.4.1 #if、#else、#elif和#endif306
13.4.2 #ifdef和#ifndef307
13.5 #undef308
13.6 本章学习小结309
13.7 习题309
第14章 C语言的应用典型数据结构及其实现311
14.1 线性表311
14.1.1 线性表的定义312
14.1.2 线性表的顺序表示和实现顺序表312
14.1.3 线性表的链式表示和实现链表317
14.1.4 线性表的应用约瑟夫环问题324
14.2 栈326
14.2.1 栈的定义326
14.2.2 栈的顺序存储结构顺序栈327
14.2.3 栈的链式存储结构链栈329
14.2.4 栈的应用数制转换和迷宫问题332
14.3 二叉树340
14.3.1 二叉树的定义340
14.3.2 二叉树的二叉链式存储结构和典型操作340
14.4 C语言的扩展C简介346
14.5 本章学习小结347
14.6 习题347
参考文献348
附录349
附录A ASCII表349
附录B 标准C函数库349
附录C 运算符的优先级与结合性349
|
內容試閱:
|
前言
目前,国内外C语言程序设计的相关教材较多,但是大多数教材着重于对C语言基本语法规则和基本概念的阐述,学生学完之后,并不能真正掌握和灵活使用C语言来解决一些实际应用问题。特别是有些教材,是为了让学生学完后,参加全国或者省计算机等级考试而编写的,其内容完全是为了应付等级考试的考试内容。再加上目前计算机等级考试中的C语言程序设计的考试内容、考试方法等还存在很多不完善的地方,考试内容和考试成绩并不能反映考生真正运用C语言进行程序设计来解决实际问题的能力和水平。因此,编写高质量的C程序设计教材和辅导学习丛书,培养学生思考问题、分析问题和解决问题的能力和水平,提高其计算机的应用能力水平,对学生来说是非常必要,也是非常重要的。
《C语言程序设计(第2版)》根据初学者的特点,由浅入深,循序渐进,旨在帮助学生掌握C语言程序设计的基本方法,理解领会C语言的特点和本质,提高学生运用C语言解决实际问题的综合能力。并增加了一些典型的应用案例和模拟试题分析等,对基本概念和规则的表述更为科学、文字更为精炼通顺、数据更为准确。案例程序都给出完整的注释、运行结果和分析说明,所有习题和上机实践题也都提供了参考答案或分析和解答提示等,以利于学生在解题时参考和对比。对考试模拟试卷的分析,力求更为详尽,重点突出,让学生了解解决问题的思路和方法,起到举一反三的作用,更方便学生进行练习、自我检查,尽量做到一题多解,着重对学生的分析及思考能力进行培养和训练。
我们根据近年来实际教学过程中,学生使用初版教材遇到的各种问题和反馈意见,组织教师和授课教师,总结讨论,分析提炼,经过细心筛选和整理,重新编著了《C语言程序设计》和《C语言程序设计学习指导与上机实践》,修改和进一步完善了第1版中的内容,增加了和学科发展及知识更新相关的新章节。全书内容分为三个部分,分别是基础篇第1~9章、进阶篇第10~13章和提高应用篇第14章,可以满足不同学时、不同层次学生学习的不同要求。在提高应用篇中,将C语言应用到数据结构中几种典型的复杂数据类型的表示和实现中,希望能为学习C语言程序设计的读者进一步理解和掌握C语言程序设计的方法提供引导、思考和启发。在C语言程序设计的开发平台上,不再描述和使用Turbo C,而是使用VC和Dev C进行描述和说明。另外,在本套书中,我们推行不求全面,但求实用的理念。尽量让读者都能寻找到各种知识点的方向和途径,指引出什么问题应该从哪些地方寻找答案。不再局限于C语言程序设计知识的描述,还阐述了与程序设计相关的其他知识,特别介绍了C语言在其他交叉学科和相关领域中的新应用,让读者对C语言程序设计的整个学科体系、不同的软件开发环境、工程实践背景等都有一个较清楚的了解和认识。
对于《C语言程序设计(第2版)》的编写,我们所追求的目标是:
1 既能作为一本学习C语言程序设计的学习教材,又能作为一本C语言程序设计的实验指导教材,也可作为一本探讨C语言程序设计学习和实践的艺术书籍。
2 突出C语言程序设计的应用重点和难点,不拘于具体语法细节的学习指导,而更注重C语言程序设计的应用实践环节的上机实训。紧密联系教学实践,在教材中力求反映出学生学习相关知识的各类疑难问题,从学生学习的角度,对相关知识加以阐述和提炼。
3 引导读者良好的程序设计风格和程序设计思路,让读者能理解解决问题的方法,以达到触类旁通的效果。应用举例讲究经典实用而且丰富有趣,注重前后章节例题的连贯、一致和逐步深入。
4 主要面向初、中级读者群,又能兼顾高级读者的一些需求。内容既适合大多数初学者,又能满足少数高级读者深入学习的需求。先讲解基本知识,再探讨深层次的若干问题,以引起高级读者的兴趣。尽量把教学实践中学生学习中的问题反映到教材编写中,并加以解决,所以不但适用于学生读者,对教师读者而言,也有一定的参考价值。
5 进一步完善第1版教材中的学习指导内容和上机实践题目的设计,突出重点,加强应用,力求表述更为科学、阐述更加准确。所有例题、习题和上机操作题,都经过调试、运行和分析,以便于学生进行自我测试、自我检查和自我提高。
6 增加大量的例题、实验上机题和考试模拟试题等,对各个知识点进行详尽的分析、研究和探讨,旨在帮助学生通过学习和练习,真正理解和掌握C语言程序设计的理论知识和实践能力。设置各种不同层次等级的题目,以适用于不同的读者对象。
7 增加C语言程序设计在其他工程实践项目中的应用,让学生进一步理解C语言程序设计在各个工程领域中的应用实践情况,激发他们运用C语言解决专业问题的兴趣,切实提高他们应用C语言程序设计解决实际工程问题的能力和水平。
《C语言程序设计》第1版由刘韶涛、潘秀霞、应晖编著,第2版中的所有章节内容包括新增加的内容、习题和参考答案等都由刘韶涛进行全面的修订、补充和完善。计算机科学与技术学院的缑锦院长、田晖副院长、王靖副院长、范慧琳副教授、余坚副教授等对教材的编写给予了全程的指导和关心,并给出了很多建设性的意见和建议。华侨大学教务处也对教材的编写和立项等工作给予了大力的支持,在此一并表示衷心的感谢!
由于时间仓促,加上编者水平有限,书中难免存在不妥之处,恳请广大读者批评指正,我们的联系邮箱是shaotaol@hqu.edu.cn。
《C语言程序设计(第2版)》提供配套课件、教学大纲、教案和习题参考答案,可扫描下方对应二维码获取。
作者寄语 课件 教学大纲 教案 习题参考答案
编 者
2019年9月
|
|