新書推薦:
《
分析性一体的涌现:进入精神分析的核心
》
售價:NT$
556.0
《
火枪与账簿:早期经济全球化时代的中国与东亚世界
》
售價:NT$
352.0
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:NT$
449.0
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:NT$
449.0
《
金托邦:江湖中的沉重正义
》
售價:NT$
275.0
《
易经今解:释疑·解惑·见微
》
售價:NT$
403.0
《
东欧史(全二册)-“中间地带”的困境
》
售價:NT$
1010.0
《
虚拟资本:金融怎样挪用我们的未来
》
售價:NT$
352.0
|
編輯推薦: |
本书是安徽省高等学校省级质量工程项目(一流教材建设),从C语言程序设计的基本思想出发,以基本概念-基本应用-能力培养为主线,注重案例驱动与算法的应用与实现,强调程序设计应用开发能力的培养。本次修订内容除对各章节的文字叙述进行了完善和修改,更新了部分经典实例外,着重思考了第二部分(核心技术)的组织结构顺序,目的是便于突出每章的重点核心内容,不再把多个重点难点混在一个章节,使学生能够重点明确、循序渐进地开展学习。
|
內容簡介: |
本书注重培养读者的程序阅读能力和程序设计能力,是一本集知识性和实用性的C语言程序设计教材。全书共11章,分三大部分:基础知识、核心技术、高级应用。本书真正遵循循序渐进的原则,结合C语言特点和初学者学习能力接受规律设计课程体系结构,每章重点突出,难点分散处理,以“基本概念-基本应用-能力培养”为主线,注重结合大量实例分析及算法的应用与实现,强调程序设计应用开发能力的培养。 本教材可作为高等院校、计算机水平考试、各类成人教育等教学用书,也可作为计算机爱好者的自学参考书。
|
關於作者: |
郭有强,教授,硕士生导师。从事计算机专业教学工作32年,主讲课程:《CCVC程序设计》等。主编教材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 格式输出函数printf37
2.6.2 格式输入函数scanf41
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 带参数的main193
本章小结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 左位移运算符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语言是一种在国际上广泛流行的计算机程序设计语言,从诞生之日起就一直保持着旺盛的生命力。它具有表达能力强、功能丰富、目标代码质量高、可移植性好、使用灵活方便、程序结构简洁清晰等特点。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语言程序设计教程(第2版)前言4 数组、指针的概念内容多且难懂,国内大部分教材对这两方面内容都是各用一章完成。这样,虽然整体组织结构上清晰,但从实际教学组织和学习效果看,学生往往分不清学习重点,因难点交织而难以掌握。本书首先各通过一章分别介绍数组、指针的基本概念和基本应用,然后通过指针与数组一章提高深化。这样处理后,学习难度呈现层次梯度,每部分内容学习目标性强,重难点突出,既便于学生对基本知识的掌握,又利于学生专心于能力提升。
以上调整,符合C语言特点和初学者的接受规律。本教材课程体系结构科学、组织合理、每章重点内容突出、知识难点分散处理,真正遵循了循序渐进的原则,使学生在建立正确程序设计理念的前提下,扎实地掌握利用C语言有关核心技术进行结构化程序设计的技术和方法,提高程序设计能力,并为进一步学习后续课程打下扎实的基础。
本书是安徽省高等学校省级质量工程项目一流教材建设,从C语言程序设计的基本思想出发,以基本概念基本应用能力培养为主线,注重案例驱动与算法的应用与实现,强调程序设计应用开发能力的培养。本书自2009年2月第1版出版发行以来,在多所院校得到很好的应用,颇受广大师生的好评。本书有配套的《C语言程序设计教程实验指导与课程设计第2版》实验教材,书中所有例题、习题源代码均在Visual C 6.0环境下调试通过。与本教材配套的还有完整的C语言课程教学大纲、课件、教学进度表、书中所有案例源代码、习题答案、习题源代码等,以上资源也可从清华大学出版社网站http:www.tup.tsinghua.edu.cnindex.html下载。
本教材可作为高等院校、计算机水平考试、各类成人教育等教学用书,也可作为计算机爱好者的自学参考书。
本书由郭有强负责总体设计、统稿,并编写第9、11章;马金金编写第1、7章,并负责本书全部源代码的测试及教学视频制作;朱洪浩编写第4、6章,并负责全书文字校对。参加编写的还有姚保峰,编写第2、3章;王磊编写第5、8章;马程编写第10章。感谢参加第1版编写工作的戚晓明、何爱华、刘娟等老师。
在本书的编写过程中参考了部分图书资料和网站资料,在此向文献作者表示衷心的感谢。清华大学出版社的编辑和校对人员为本书出版付出了心血,在此表示感谢!
感谢读者选择使用本书。由于作者水平有限,书中难免会有不足之处,恳请业界同人及广大读者朋友提出宝贵意见,敬请批评指正。
郭有强2021年1月
|
|