新書推薦:
《
微观经济学(第三版)【2024诺贝尔经济学奖获奖者作品】
》
售價:HK$
155.7
《
Python贝叶斯深度学习
》
售價:HK$
89.4
《
文本的密码:社会语境中的宋代文学
》
售價:HK$
67.2
《
启微·狂骉年代:西洋赛马在中国
》
售價:HK$
78.4
《
有趣的中国古建筑
》
售價:HK$
67.0
《
十一年夏至
》
售價:HK$
76.2
《
如何打造成功的商业赛事
》
售價:HK$
89.5
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:HK$
58.2
編輯推薦:
本书以自主开发的CC程序设计学习与实验系统为载体介绍C程序设计的过程,以案例组织教材内容,为方便读者学习,教材中例题案例、实验题、课后习题给出了编程提示及答案。
內容簡介:
本书共分10章,分别介绍C程序编程初步、顺序结构程序设计、选择结构程序设计、循环结构程序设计、数组、函数、指针、结构体与其他构造类型、文件,以及用Visual C 2010开发通讯录管理程序综合实例。 本书既可作为高等学校C程序设计教材,也可作为C程序设计爱好者的参考书,通过配套的CC程序设计学习与实验系统进行学习,效果更佳。
目錄 :
目录
第1章 C程序设计初步 1
1.1 简单的C程序 1
1.2 基本的输入输出函数 3
1.2.1 scanf函数的简单应用 3
1.2.2 printf函数的简单应用 6
1.3 C程序的基本结构 6
1.4 C程序的开发环境 8
1.4.1 CC程序设计学习与实验系统 8
1.4.2 Visual C 2010 11
1.4.3 CC 程序设计学习与实验系统与Visual C 2010直通车 15
1.5 算法 16
1.6 综合实例:学生成绩管理程序(一) 21
1.7 常见程序错误及解决方法 22
1.8 学习C程序设计的方法 25
1.8.1 学习C程序设计是否过时 25
1.8.2 如何学习C程序设计 26
本章小结 30
习题1 30
实验1 C程序集成实验环境 31
第2章 顺序结构程序设计 41
2.1 顺序结构程序引例 41
2.2 标识符 42
2.3 编程规范 42
2.4 基本数据类型 44
2.5 常量与变量 44
2.5.1 常量 44
2.5.2 变量 48
2.6 运算符与表达式 56
2.6.1 常用的运算符与表达式 56
2.6.2 赋值运算符与赋值表达式 57
2.6.3 算术运算符与算术表达式 61
2.6.4 条件运算符与条件表达式 64
2.6.5 逗号运算符与逗号表达式 65
2.6.6 位运算符与位表达式 66
2.7 常见的数学函数与表达式 70
2.8 顺序结构程序设计 71
2.8.1 C语句 71
2.8.2 数据的输入输出 72
2.9 顺序结构程序举例 79
2.10 综合实例:学生成绩管理程序(二) 84
2.11 常见程序错误及解决方法 85
本章小结 87
习题2 87
实验2 顺序结构程序设计 89
第3章 选择结构程序设计 91
3.1 选择引例 91
3.2 选择条件 92
3.2.1 关系运算符和关系表达式 92
3.2.2 逻辑运算符和逻辑表达式 92
3.3 if语句 93
3.3.1 if语句的一般形式 93
3.3.2 用if语句实现简单的选择结构 96
3.3.3 用if语句实现多分支选择结构 99
3.4 switch语句 104
3.4.1 switch语句的一般形式 104
3.4.2 用switch语句实现多分支选择结构 106
3.5 应用举例 109
3.6 综合实例:学生成绩管理程序(三) 116
3.7 常见程序错误及解决方法 119
本章小结 120
习题3 120
实验3 选择程序设计 124
第4章 循环结构程序设计 128
4.1 循环引例 128
4.2 while语句 129
4.3 dowhile语句 131
4.4 for语句 135
4.5 循环结构的比较 137
4.6 break和continue语句 139
4.6.1 break语句 139
4.6.2 continue语句 141
4.7 循环的嵌套 143
4.8 循环程序举例 147
4.9 综合实例:学生成绩管理程序(四) 158
4.10 常见程序错误及解决方法 160
本章小结 162
习题4 163
实验4 循环结构程序设计 166
第5章 数组 170
5.1 数组引例 170
5.2 一维数组 171
5.2.1 一维数组的定义 171
5.2.2 一维数组的引用 172
5.2.3 一维数组的初始化 173
5.2.4 一维数组的应用 173
5.3 二维数组及多维数组 176
5.3.1 二维数组的定义 176
5.3.2 二维数组的引用 177
5.3.3 二维数组的初始化 178
5.3.4 二维数组的应用 179
5.4 字符数组与字符串 182
5.4.1 字符数组的定义 182
5.4.2 字符数组的引用 183
5.4.3 字符数组的初始化 183
5.4.4 字符串和字符串结束标志 184
5.4.5 字符数组的输入输出 185
5.4.6 字符串处理函数 187
5.4.7 字符数组的应用 192
5.5 排序与查找 194
5.6 应用举例 200
5.7 综合实例:学生成绩管理程序(五) 202
5.8 常见程序错误 212
本章小结 212
习题5 213
实验5 数组 215
第6章 函数 218
6.1 函数概念 218
6.2 函数的定义与调用 220
6.2.1 函数的定义 220
6.2.2 函数调用 221
6.2.3 形式参数和实际参数 224
6.2.4 函数的返回值 225
6.3 函数的嵌套调用和递归 226
6.3.1 函数的嵌套调用 226
6.3.2 函数的递归调用 228
6.4 数组作为函数参数 232
6.5 变量的作用域及存储类型 238
6.5.1 动态存储方式与静态存储方式 238
6.5.2 变量的作用域 239
6.6 外部、内部函数 243
6.7 预处理命令 244
6.8 应用举例 246
6.9 综合实例:学生成绩管理程序(六) 250
6.10 常见程序错误及解决方法 260
本章小结 263
习题6 264
实验6 函数 267
第7章 指针 270
7.1 指针引例 270
7.2 指针和指针变量 271
7.2.1 指针的概念 271
7.2.2 指针变量的定义和引用 271
7.2.3 指针变量作为函数参数 273
7.3 指针与数组 275
7.3.1 通过指针访问一维数组 275
7.3.2 通过指针访问二维数组 279
7.3.3 通过指针访问字符串 282
7.3.4 用数组名作为函数参数 285
7.3.5 指针数组 287
7.4 指针与函数 290
7.4.1 指向函数的指针 290
7.4.2 返回指针值的函数 293
7.5 指向指针型数据的指针 295
7.6 动态数组 298
7.6.1 内存的动态分配 298
7.6.2 动态数组的应用 300
7.7 应用举例 301
7.8 综合实例:学生成绩管理程序(七) 305
7.9 常见程序错误及解决方法 315
本章小结 316
习题7 316
实验7 指针 318
第8章 结构体与其他构造类型 321
8.1 结构体引例 321
8.2 结构体类型和结构体变量 323
8.2.1 定义结构体类型 323
8.2.2 结构体变量的定义 325
8.2.3 结构体变量的初始化和引用 327
8.3 结构体数组 331
8.3.1 结构体数组的定义 331
8.3.2 结构体数组的初始化和引用 332
8.4 结构体指针 334
8.4.1 指向结构体变量的指针 334
8.4.2 指向结构体数组的指针 336
8.4.3 向函数传递结构体 337
8.5 链表 339
8.5.1 链表的定义 339
8.5.2 建立动态链表 341
8.5.3 链表的删除 344
8.5.4 链表的插入 345
8.6 共用体类型 347
8.7 枚举类型 350
8.8 用typedef声明新类型名 352
8.9 应用举例 354
8.10 综合实例:学生成绩管理程序(八) 359
8.11 常见程序错误及解决方法 369
本章小结 370
习题8 370
实验8 结构体与其他构造类型 374
第9章 文件 377
9.1 文件引例 377
9.2 C文件概述 378
9.3 文件的打开与关闭 379
9.3.1 文件类型指针 379
9.3.2 文件的打开函数 379
9.3.3 文件的关闭函数 381
9.4 文件的读写 382
9.4.1 文件读写函数 382
9.4.2 文件的读写举例 385
9.5 文件定位 388
9.5.1 文件定位函数fseek 函数 388
9.5.2 文件出错检测函数 389
9.6 文件综合举例 391
9.7 综合实例:学生成绩管理程序(九) 394
9.8 常见程序错误及解决方法 403
本章小结 404
习题9 404
实验9 文件 406
第10章 综合实例:用Visual C 2010 开发通讯录管理程序 410
10.1 较大程序的开发过程 410
10.2 综合程序设计实例 411
10.2.1 题目的内容要求 411
10.2.2 程序的功能设计 412
10.2.3 程序的数据设计 413
10.2.4 程序的函数设计 414
10.2.5 用Visual C 2010开发通讯录管理程序 415
10.2.6 整体调试 444
10.2.7 程序维护 444
10.3 用Visual C 2010编写较大程序的注意事项 444
本章小结 445
习题10 445
参考文献 446
附录A 用Visual C 2010编写、调试C程序的方法 447
附录B 常用ASCII码字符对照表 457
附录C 常用库函数 458
附录D 习题参考答案 466
內容試閱 :
出 版 说 明
信息时代早已显现其诱人魅力,当前几乎每个人随身都携有多个媒体、信息和通信设备,享受其带来的快乐和便宜。
我国高等教育早已进入大众化教育时代,而且计算机技术发展很快,知识更新速度也在快速增长,社会对计算机专业学生的专业能力要求也在不断翻新,这就使得我国目前的计算机教育面临严峻挑战。我们必须更新教育观念弱化知识培养目的,强化对学生兴趣的培养,加强培养学生理论学习、快速学习的能力,强调培养学生的实践能力、动手能力、研究能力和创新能力。
教育观念的更新,必然伴随教材的更新。一流的计算机人才需要一流的名师指导,而一流的名师需要精品教材的辅助,而精品教材也将有助于催生更多一流名师。名师们在长期的一线教学改革实践中,总结出了一整套面向学生的独特的教法、经验、教学内容等。本套丛书的目的就是推广他们的经验,并促使广大教育工作者更新教育观念。
在教育部相关教学指导委员会专家的帮助和指导下,在各大学计算机院系领导的协助下,清华大学出版社规划并出版了本系列教材,以满足计算机课程群建设和课程教学的需要,并将各重点大学的优势专业学科的教育优势充分发挥出来。
本系列教材行文注重趣味性,立足课程改革和教材创新,广纳全国高校计算机优秀一线专业名师参与,从中精选出佳作予以出版。
本系列教材具有以下特点。
1.有的放矢
针对计算机专业学生并站在计算机课程群建设、技术市场需求、创新人才培养的高度,规划相关课程群内各门课程的教学关系,以达到教学内容互相衔接、补充、相互贯穿和相互促进的目的。各门课程功能定位明确,并去掉课程中相互重复的部分,使学生既能够掌握这些课程的实质部分,又能节约一些课时,为开设社会需求的新技术课程准备条件。
2.内容趣味性强
按照教学需求组织教学材料,注重教学内容的趣味性,在培养学习观念、学习兴趣的同时,注重创新教育,加强创新思维创新能力的培养、训练;强调实践,案例选题注重实际和兴趣度,大部分课程各模块的内容分为基本、加深和拓宽内容3个层次。
3.名师精品多
广罗名师参与,对于名师精品,予以重点扶持,教辅、教参、教案、PPT、实验大纲和实验指导等配套齐全,资源丰富。同一门课程,不同名师分出多个版本,方便选用。
4.一线教师亲力
专家咨询指导,一线教师亲力;内容组织以教学需求为线索;注重理论知识学习,注重学习能力培养,强调案例分析,注重工程技术能力锻炼。
经济要发展,国力要增强,教育必须先行。教育要靠教师和教材,因此建立一支高水平的教材编写队伍是社会发展的关键,特希望有志于教材建设的教师能够加入到本团队。通过本系列教材的辐射,培养一批热心为读者奉献的编写教师团队。
清华大学出版社
前言
目前大部分C程序设计类教材所用的实验环境都是美国微软公司1998年发布的Visual C 6.0集成开发环境,至今已经近20年了,在Windows 7、Windows 10等主流操作系统,特别是64位的环境中编写、调试C程序时,经常会出现这样或那样的非知识性问题,让学习者不知所措,降低了学习的积极性。为此,本书作者以学生易用、老师易用、多媒体教学演示为原则,开发了CC程序设计学习与实验系统,该软件自2005年在互联网上公开发布以来,不断地针对在新操作系统应用中出现的问题进行改进、完善,可以正常运行在32位与64位的Windows XP、Windows 7、Windows 8、Windows 10等操作系统中,被多所学校采用。
本书以自主开发的CC程序设计学习与实验系统(家民教学软件网站http:www.jiaminsoft.com)为载体介绍C程序设计的过程,以案例组织教材内容,为方便读者学习,教材中例题、案例、实验题、课后习题均给出了编程提示及答案。在每章中列出初学者在学习本章的过程中常见的错误及解决方法,为了逐步提高读者编写较大程序的能力,以章节为单位按知识点将学生成绩管理程序合理分解到第1~9章中,用不同的知识点逐步改写学生成绩管理程序案例。为了进一步增强读者综合知识的应用能力和应用主流开发工具的能力,第10章详细介绍了用主流开发工具Visual C 2010开发通讯录管理程序的完整过程。
本书的所有代码均在CC程序设计学习与实验系统与Visual C 2010环境下调试通过。调试环境是Windows 7(32位)和Windows 10(64位)。
第1章首先展示简易的C程序,让读者感受到学习C程序并不难,然后介绍CC程序设计学习与实验系统和Visual C 2010编程方法,以及以CC程序设计学习与实验系统为载体学习C程序的方法,讨论在学习本章过程中遇到的问题与相应的解决方法,最后实现显示学生成绩管理程序菜单。
第2章介绍了顺序结构程序设计规范、实例以及在学习本章过程中遇到的问题与相应的解决方法,最后实现输入学生成绩管理程序菜单的选项编号。
第3章介绍了选择结构程序设计以及在学习本章过程中遇到的问题与相应的解决方法,最后实现根据输入学生成绩管理程序菜单的选项号显示相应的菜单项。
第4章介绍了循环结构程序设计以及在学习本章过程中遇到的问题与相应的解决方法,实现学生成绩管理程序菜单的循环输入选项编号显示相应的菜单项。
第5章介绍了数组知识以及在学习本章过程中遇到的问题与相应的解决方法,最后用数组知识实现学生成绩管理程序的完整功能。
第6章介绍了函数以及在学习本章过程中遇到的问题与相应的解决方法,最后用模块化程序设计的方法知识实现学生成绩管理程序完整功能。
第7章介绍了指针以及在学习本章过程中遇到的问题与相应的解决方法,最后用指针知识实现学生成绩管理程序完整功能。
第8章介绍了结构体、实例以及在学习本章过程中遇到的问题与相应的解决方法,最后用结构体知识实现并完善了学生成绩管理程序完整功能。
第9章介绍了用文件的操作方法、实例以及在学习本章过程中遇到的问题与相应的解决方法,最后用文件知识实现并完善了学生成绩管理程序完整功能。
第10章通过通讯录管理程序综合实例详细介绍了用Visual C 2010以模块化程序设计的方法开发较大程序的过程。
本书附录给出了Visual C 2010编写、调试C程序的方法、ASCII码字符对照表、常用库函数等编程常用资料。
本书由钟家民主编、统稿并编写了第1章、第2章、第4章、第6章、第9章、第10章与附录及相应章节习题参考答案,张珊靓编写了第3章、第5章,周晏编写了第7章、第8章及相应章节的习题参考答案与第3章、第5章的习题参考答案。2016级本科生袁一航、王鑫浩、王军辉、贾丙豪参与了代码调试工作。
因编者水平有限,书中疏漏之处在所难免,欢迎读者发送邮件或网站留言,对教材与CC程序设计学习与实验系统提出意见和建议,以帮助我们将此教材进一步完善。
编者
2017年10月