全新正版 极速发货
¥ 40.13 6.7折 ¥ 59.8 全新
库存4件
作者郭有强 马金金 朱洪浩 姚保峰 王磊 马程
出版社清华大学出版社
ISBN9787302555360
出版时间2021-01
装帧平装
开本16开
定价59.8元
货号1202201354
上书时间2024-11-23
C语言是一种在国际上广泛流行的计算机程序设计语言,从诞生之日起就一直保持着旺盛的生命力。它具有表达能力强、功能丰富、目标代码质量高、可移植性好、使用灵活方便、程序结构简洁清晰等特点。C语言既具有高级语言的优点,又具有低级语言的某些特点,能够用来编写各种系统软件和应用软件。C语言是一种结构化的程序设计语言,函数结构为实现程序的模块化设计提供了强有力的支持。C 、Java都是在C语言的基础上发展起来的,尽管如此,它们目前依然没有可取代C语言的迹象。尤其C11标准发布以后,C语言的旺盛生命力再次得到了保持和延续。因此,大部分高等院校都把C语言作为理工类专业的程序设计语言基础课程。
很多初学者感到学习C语言比较困难,尤其在核心内容上,如函数的参数传递、数组、指针等。为了使学生能够更好地理解和掌握核心重点内容,作者总结了30年的教学经验与不足,仔细分析了国内同类教材的体系结构,真正按照“循序渐进、深入浅出”的思路重构了核心内容的体系结构,进而形成了本修订版。本书共分3篇: 基础知识、核心技术和高级应用。主要修订内容及调整如下。
全书共11章。第1篇(基础知识)包括C语言概述,数据类型、运算符及表达式,程序流程控制;第2篇(核心技术)包括函数、指针、数组、指针与数组;第3篇(高级应用)包括结构体与共用体、文件、编译预处理与位运算及综合应用举例。修订内容除了对各章节的文字叙述进行了完善和修改,更新了部分经典实例外,着重思考了第2篇(核心技术)的组织结构顺序,目的是突出每章的重点、核心内容,不再把多个重点、难点混在一章内,使学生能够重点明确、循序渐进地开展学习。区别于其他国内教材,本教材按照函数、指针、数组、指针与数组的顺序进行组织,这样考虑的原因如下。
(1) 函数、指针、数组都是C语言的核心内容,每部分内容学生都不容易掌握,因此应分别突出本章重点,不能内容混杂,以便学生掌握本章学习重点,攻克本章学习难点。
(2) 函数是C语言的基本单位,其重要性不言而喻,应该在整个教学体系中前置。指针、数组既是C语言的重点又是难点。指针的基本知识放在数组之前是为了解释清楚数组名的有关问题。由于指针、数组都是比较复杂的内容,因此指针、数组两章只分别介绍基本概念和基本应用,后面增加“指针与数组”一章专门处理指针与数组的结合应用问题,通过每章内容设计分层次提高难度。
(3) 函数一章突出函数的有关内容,不涉及数组和指针;指针一章主要阐述指针的基本概念和基本应用,不涉及数组问题;数组一章主要阐述数组的基本概念和基本应用,不涉及指针的问题;指针与数组一章有针对性地专门阐述指针与数组的结合应用问题(两个重难点的结合)。这样安排,每章的内容聚焦、指向性强,前面的内容掌握后,后面渐进展开其他内容,并结合前面的内容逐步提高,真正做到“循序渐进”。
以上调整,符合C语言特点和初学者的接受规律。本教材课程体系结构科学、组织合理、每章重点内容突出、知识难点分散处理,真正遵循了循序渐进的原则,使学生在建立正确程序设计理念的前提下,扎实地掌握利用C语言有关核心技术进行结构化程序设计的技术和方法,提高程序设计能力,并为进一步学习后续课程打下扎实的基础。
本教材可作为高等院校、计算机水平考试、各类成人教育等教学用书,也可作为计算机爱好者的自学参考书。
本书由郭有强负责总体设计、统稿,并编写第9、11章;马金金编写第1、7章,并负责本书全部源代码的测试及教学视频制作;朱洪浩编写第4、6章,并负责全书文字校对。参加编写的还有姚保峰,编写第2、3章;王磊编写第5、8章;马程编写第10章。感谢参加第1版编写工作的戚晓明、何爱华、刘娟等老师。
在本书的编写过程中参考了部分图书资料和网站资料,在此向文献作者表示衷心的感谢。清华大学出版社的编辑和校对人员为本书出版付出了心血,在此表示感谢!
感谢读者选择使用本书。由于作者水平有限,书中难免会有不足之处,恳请业界同人及广大读者朋友提出宝贵意见,敬请批评指正。
郭有强2021年1月
本书注重培养读者的程序阅读能力和程序设计能力,是一本集知识性和实用性的C语言程序设计教材。全书共11章,分三大部分:基础知识、核心技术、高级应用。本书真正遵循循序渐进的原则,结合C语言特点和初学者学习能力接受规律设计课程体系结构,每章重点突出,难点分散处理,以“基本概念-基本应用-能力培养”为主线,注重结合大量实例分析及算法的应用与实现,强调程序设计应用开发能力的培养。 本教材可作为高等院校、计算机水平考试、各类成人教育等教学用书,也可作为计算机爱好者的自学参考书。
郭有强,教授,硕士生导师。从事计算机专业教学工作32年,主讲课程:《C/C /VC 程序设计》等。主编教材14部,其中8本为安徽省规划教材和一流教材。安徽省教学名师,安徽省计算机学会副理事长。
第1篇 基 础 知 识
第1章 C语言概述3
1.1 程序与程序设计语言3
1.1.1 程序3
1.1.2 程序设计语言4
1.1.3 程序设计5
1.2 算法6
1.2.1 算法的含义6
1.2.2 算法的特性8
1.2.3 算法的表示9
1.3 C语言简介11
1.3.1 C语言的发展11
1.3.2 C语言的特点12
1.3.3 简单的C语言程序13
1.4 C语言程序开发过程15
1.4.1 问题分析与算法设计15
1.4.2 编辑程序15
1.4.3 编译与连接17
1.4.4 运行与调试18
本章小结18
习题119
第2章 数据类型、运算符及表达式21
2.1 语法基础21
2.1.1 基本字符集21
2.1.2 词汇22
2.1.3 语句23
2.2 基本数据类型24
2.3 常量26
2.3.1 数值常量26
2.3.2 字符常量28
2.3.3 字符串常量29
2.3.4 符号常量29
2.4 变量30
2.4.1 变量的定义30
2.4.2 整型变量31
2.4.3 实型变量32
2.4.4 字符变量34
2.5 数据类型转换35
2.5.1 自动转换35
2.5.2 强制转换36
2.6 数据的输入与输出37
2.6.1 格式输出函数printf()37
2.6.2 格式输入函数scanf()41
2.6.3 单字符输入输出函数44
2.7 运算符和表达式46
2.7.1 运算符、表达式、优先级和结合性46
2.7.2 算术运算符与算术表达式48
2.7.3 赋值运算符与赋值表达式50
2.7.4 自增、自减运算符与表达式53
2.7.5 关系运算符与关系表达式53
2.7.6 逻辑运算符与逻辑表达式54
2.7.7 逗号运算符及逗号表达式57
2.7.8 条件运算符与条件表达式58
2.7.9 sizeof运算符59
本章小结59
习题260
第3章 程序流程控制63
3.1 顺序结构程序设计63
3.2 选择结构程序设计64
3.2.1 if语句64
3.2.2 switch语句70
3.3 循环结构程序设计73
3.3.1 while语句73
3.3.2 dowhile语句76
3.3.3 for循环77
3.3.4 循环的嵌套80
3.3.5 几种循环的比较82
3.4 跳转控制语句83
3.4.1 break语句83
3.4.2 continue语句84
3.4.3 return语句85
本章小结85
习题386
第2篇 核 心 技 术
第4章 函数93
4.1 函数的定义与调用93
4.2 函数参数传递98
4.2.1 值传递方式98
4.2.2 地址传递方式99
4.3 函数的嵌套调用与递归调用100
4.3.1 函数的嵌套调用100
4.3.2 函数的递归调用101
4.4 变量的作用域与存储类别103
4.4.1 变量的作用域104
4.4.2 变量的存储类别107
本章小结112
习题4113
第5章 指针121
5.1 指针、指针变量的概念121
5.1.1 地址与指针121
5.1.2 指针变量122
5.2 指针变量122
5.2.1 指针变量的定义122
5.2.2 多级指针125
5.2.3 指向void类型的指针126
5.3 指针变量作为函数参数127
5.4 指针函数与函数指针130
5.4.1 指针函数130
5.4.2 函数指针131
本章小结133
习题5134
第6章 数组140
6.1 一维数组140
6.2 数组作函数参数145
6.2.1 数组元素作函数实参145
6.2.2 数组名作函数参数146
6.3 二维数组与多维数组147
6.3.1 二维数组147
6.3.2 多维数组151
6.4 字符数组152
6.4.1 字符数组的定义与初始化152
6.4.2 字符串与字符数组154
6.4.3 字符数组的输入和输出155
6.4.4 字符串处理函数156
本章小结163
习题6163
第7章 指针与数组172
7.1 内存的动态分配172
7.1.1 动态内存分配函数172
7.1.2 动态数组174
7.2 指向一维数组的指针变量176
7.2.1 一维数组的指针变量176
7.2.2 指针变量表示数组元素176
7.2.3 数组指针作函数参数179
7.3 指向二维数组的指针变量182
7.3.1 二维数组地址的表示182
7.3.2 指向二维数组的指针变量185
7.4 指针与字符串187
7.4.1 字符串的指针表示187
7.4.2 字符串指针作函数参数189
7.4.3 字符串指针变量与字符数组的区别190
7.5 指针数组190
7.5.1 指针数组的定义190
7.5.2 指针数组处理多个字符串192
7.5.3 带参数的main()193
本章小结195
习题7196
第3篇 高 级 应 用
第8章 结构体与共用体205
8.1 结构体类型205
8.1.1 结构体类型的定义205
8.1.2 结构体变量的定义与引用206
8.2 结构体数组211
8.2.1 结构体数组的定义与引用211
8.2.2 结构体数组作为函数参数213
8.3 指向结构体类型的指针变量217
8.3.1 结构体指针变量217
8.3.2 指向结构体数组的指针变量218
8.4 链表219
8.4.1 单链表的建立220
8.4.2 单链表的基本操作224
8.5 共用体类型229
8.5.1 共用体类型的定义230
8.5.2 共用体变量的引用231
8.5.3 共用体与结构体的不同233
8.6 枚举类型234
8.6.1 枚举类型的定义234
8.6.2 枚举变量的定义235
8.6.3 枚举变量的引用236
8.7 typedef重定义类型名237
本章小结238
习题8239
第9章 文件247
9.1 文件及文件指针247
9.1.1 文件的概念247
9.1.2 文件指针248
9.2 文件的打开与关闭249
9.2.1 文件的打开249
9.2.2 文件关闭函数251
9.3 文件的读写251
9.3.1 字符读写函数251
9.3.2 字符串读写函数254
9.3.3 数据块读写函数255
9.3.4 格式化读写函数258
9.4 文件的随机读写260
9.4.1 文件定位260
9.4.2 随机读写数据块261
9.5 文件检测函数263
本章小结264
习题9264
第10章 编译预处理与位运算268
10.1 宏定义与宏替换268
10.2 文件包含273
10.3 条件编译274
10.4 数的机器码表示方法279
10.4.1 字节与位279
10.4.2 原码、反码、补码279
10.5 位运算符和位运算280
10.5.1 按位取反运算符~281
10.5.2 按位与运算符&282
10.5.3 按位或运算符|282
10.5.4 按位异或运算符^283
10.5.5 左位移运算符<<284
10.5.6 右位移运算符>>285
10.6 位域(位段)287
10.6.1 位域的定义和位域变量的说明287
10.6.2 位域的使用288
本章小结289
习题10 290
第11章 综合应用举例296
11.1 通讯录管理程序296
11.1.1 项目要求296
11.1.2 项目分析296
11.1.3 总体设计296
11.1.4 代码实现297
11.1.5 测试结果305
11.2 学生成绩管理系统306
11.2.1 项目要求306
11.2.2 项目分析306
11.2.3 总体设计306
11.2.4 代码实现307
11.2.5 测试结果319
本章小结320
附录A 标准ASCII 码表321
附录B 运算符的优先级和结合性322
附录C C语言的库函数324
参考文献330
本书是安徽省高等学校省级质量工程项目(一流教材建设),从C语言程序设计的基本思想出发,以“基本概念-基本应用-能力培养”为主线,注重案例驱动与算法的应用与实现,强调程序设计应用开发能力的培养。本次修订内容除对各章节的文字叙述进行了完善和修改,更新了部分经典实例外,着重思考了第二部分(核心技术)的组织结构顺序,目的是便于突出每章的重点核心内容,不再把多个重点难点混在一个章节,使学生能够重点明确、循序渐进地开展学习。
— 没有更多了 —
以下为对购买帮助不大的评价