新書推薦:
《
视觉美食家:商业摄影实战与创意解析
》
售價:NT$
602.0
《
中国经济发展的新阶段:机会与选择
》
售價:NT$
454.0
《
DK月季玫瑰百科
》
售價:NT$
959.0
《
为你想要的生活
》
售價:NT$
301.0
《
关键改变:如何实现自我蜕变
》
售價:NT$
352.0
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:NT$
454.0
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:NT$
286.0
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:NT$
265.0
|
編輯推薦: |
本书通过24案例、71个示例和1个综合实例系统地介绍了C 语言的基础知识、基本语法规则和语句结构以及基本的编程方法。
|
內容簡介: |
本书通过24个案例、71个示例和1个综合实例系统地介绍了C 语言的基础知识、基本语法规则和语句结构,以及基本的编程方法。全书共11章,第1~6章分别是概述、数据类型和运算符、流程控制语句、函数、指针和结构类型,介绍面向过程的编程方法;第7~9章分别是类和对象、继承性、多态性,讲解面向对象的程序设计语言的三大特征及编程方法;第10章详细介绍了标准输入和输出格式控制及文件的读、写操作;第11章讲解了1个综合实例——课堂随机点名应用程序分析与设计及其实现过程。每个章节配有多种形式的上机练习和程序练习题,供读者检验所学内容的掌握情况。 本书可作为学生或程序员的学习用书,适合零基础且对C 语言感兴趣的初学者使用,也可作为高等学校计算机及相关专业的师生用书,或者学科竞赛的辅导用书和培训学校的教材。
|
目錄:
|
第1章概述1
1.1C 语言与计算机的关系1
1.1.1计算机及计算机的组成2
1.1.2计算机发展的历史2
1.1.3程序和计算机程序4
1.1.4计算机程序设计语言4
1.1.5高级程序设计语言的发展过程7
1.1.6面向对象程序设计语言的特点10
1.1.7C 语言的标准14
1.2DevC 5.11的下载、安装及使用15
1.2.1软件下载及安装15
1.2.2启动设置环境并编写代码、编译及运行18
1.2.3DevC 编译器的设置22
1.3案例1——Hello World!25
1.3.1问题描述及程序代码25
1.3.2C 语言程序结构26
1.3.3C 语言的词法和词法规则28
1.3.4程序代码中小的符号29
本章小结30
程序练习题30
第2章数据类型和运算符33
2.1信息的存储表示33
2.1.1计算机的数字系统33
2.1.2不同数制之间的转换34
2.1.3计算机系统中的数值编码37
2.2案例2——简易计算器39
2.2.1问题描述及程序代码39
2.2.2数据类型40
2.2.3变量44
2.2.4输入和输出46
2.2.5上机练习48
2.3案例3——泳池栏杆和铺地造价49
2.3.1问题描述及程序代码49
2.3.2常量50
2.3.3算术运算符53
2.3.4上机练习55
2.4案例4——闰年判断57
2.4.1问题描述及程序代码57
2.4.2条件运算符58
2.4.3关系运算符59
2.4.4逻辑运算符61
2.4.5上机练习63
2.5案例5——数字简单加密64
2.5.1问题描述及程序代码64
2.5.2移位运算符65
2.5.3逻辑位运算符67
2.5.4赋值运算符69
2.5.5上机练习69
2.6案例6——依据身份证号码计算年龄71
2.6.1问题描述及程序代码71
2.6.2数组72
2.6.3字符串处理函数77
2.6.4获取系统当前日期80
2.6.5string类82
2.6.6上机练习84
本章小结85
程序练习题85
第3章流程控制语句87
3.1程序流程描述的方法87
3.1.1程序流程的描述方式87
3.1.2判断素数的程序流程描述90
3.2案例7——阶梯水价93
3.2.1问题描述及程序代码93
3.2.2条件语句94
3.2.3上机练习99
3.3案例8——车牌查询100
3.3.1问题描述及程序代码100
3.3.2开关语句101
3.3.3上机练习103
3.4案例9——猜数小游戏105
3.4.1问题描述及程序代码105
3.4.2生成随机数106
3.4.3循环语句107
3.4.4上机练习112
3.5案例10——寻找素数115
3.5.1问题描述及程序代码115
3.5.2多重循环116
3.5.3转向语句120
3.5.4上机练习123
3.6案例11——银行取款126
3.6.1问题描述及程序代码126
3.6.2文本文件的输入和输出128
3.6.3上机练习133
本章小结134
程序练习题134
第4章函数136
4.1案例12——计算平均分136
4.1.1问题描述及程序代码136
4.1.2函数的定义和函数的调用137
4.1.3上机练习144
4.2案例13——“好好学习,天天向上”的力量145
4.2.1问题描述及程序代码145
4.2.2函数声明及函数形参的默认值146
4.2.3函数重载148
4.2.4上机练习150
4.3案例14——汉诺塔游戏152
4.3.1问题描述及程序代码152
4.3.2函数嵌套调用和函数的递归调用155
4.3.3上机练习157
4.4数据的存储类型159
4.4.1数据的存储类型的意义159
4.4.2数据的六种存储类型161
4.4.3内部函数和外部函数165
4.4.4上机练习165
4.5案例15——弟弟的作业168
4.5.1问题描述及问题分析168
4.5.2程序代码及运行结果169
4.5.3上机练习172
本章小结174
程序练习题175
第5章指针176
5.1指针的概念及声明格式176
5.1.1指针的概念176
5.1.2指针变量声明格式177
5.1.3声明指向不同数据类型的指针179
5.1.4上机练习181
5.2指针的运算182
5.2.1使用指针访问数组元素182
5.2.2指针的算术运算183
5.2.3指针的关系运算184
5.3指针与数组186
5.3.1指向数组的指针186
5.3.2指针数组188
5.3.3上机练习188
5.4指针与函数191
5.4.1指针变量作函数的形参191
5.4.2指针函数192
5.4.3指向函数的指针194
5.4.4上机练习196
5.5常指针200
5.5.1所存放地址为常量的常指针200
5.5.2指向内容为常量的指针200
5.5.3指向内容为常量的常指针201
5.5.4上机练习201
本章小结203
程序练习题203
第6章结构类型205
6.1案例16——天数计算205
6.1.1问题描述及程序代码205
6.1.2结构类型和结构变量207
6.1.3结构变量作为函数的参数213
6.1.4上机练习214
6.2案例17——学生成绩统计215
6.2.1问题描述及程序代码215
6.2.2结构和数组218
6.2.3用结构类型创建链表219
6.2.4上机练习222
本章小结225
程序练习题225
第7章类和对象226
7.1案例18——简易电子日历227
7.1.1问题描述及简单代码228
7.1.2类和对象定义229
7.1.3构造函数和析构函数234
7.1.4成员函数的特性241
7.1.5上机练习244
7.2案例19——教师管理系统248
7.2.1问题描述及程序代码248
7.2.2对象数组和对象指针数组252
7.2.3this指针256
7.2.4上机练习258
7.3静态成员和常成员262
7.3.1静态成员262
7.3.2常成员266
7.3.3上机练习269
7.4友元函数和友元类273
7.4.1友元函数273
7.4.2友元类276
7.4.3上机练习278
本章小结280
程序练习题281
第8章继承性283
8.1基类和派生类285
8.1.1一个简单的基类285
8.1.2派生一个新类286
8.1.3单继承中派生类的构造函数和析构函数288
8.1.4派生类和基类之间的特殊关系——子类型的赋值兼容293
8.1.5上机练习293
8.2多继承和虚基类297
8.2.1多继承派生类的构造函数297
8.2.2虚基类301
8.2.3上机练习306
8.3案例20——化妆品管理系统310
8.3.1创建一个项目310
8.3.2上机练习323
本章小结323
第9章多态性325
9.1案例21——复数求和326
9.1.1问题描述及分析326
9.1.2运算符重载函数329
9.1.3单目运算符重载函数335
9.1.4C 运算符重载的声明336
9.1.5上机练习337
9.2模板341
9.2.1问题描述及分析341
9.2.2函数模板342
9.2.3类模板344
9.2.4上机练习347
9.3案例22——你是谁349
9.3.1问题描述与分析349
9.3.2虚函数351
9.3.3纯虚函数和抽象类355
9.3.4上机练习357
本章小结359
程序练习题359
第10章输入、输出和文件361
10.1案例23——数值和字符串的格式化输出362
10.1.1问题描述及程序分析362
10.1.2输出格式的应用365
10.1.3其他的输入、输出方法 367
10.1.4上机练习371
10.2案例24——学生成绩管理374
10.2.1问题描述及程序代码374
10.2.2二进制文件379
10.2.3文件的随机存取380
10.2.4上机练习382
本章小结384
程序练习题384
第11章综合实例385
11.1课堂随机点名应用程序分析与设计385
11.1.1需求分析385
11.1.2结构与功能设计388
11.2主函数的定义与程序运行404
11.2.1文件包含和主函数的定义404
11.2.2程序的执行过程及运行结果407
本章小结409
|
內容試閱:
|
编者在多年的教学实践中发现,虽然市面上有大量C 语言程序设计的教材或参考书,网上也有丰富的学习资源,但还有一部分学生对C 语言望而却步。究其原因,这部分学生往往初对计算机编程感到神秘,充满好奇,已经产生了学习编程语言的兴趣,但通过一段时间的学习后却止步于烦琐的语法细节,不能体会到满满的成就感。针对这种情况,在教学过程中,我们尝试首先关注学生的学习兴趣,从精选的程序案例出发,让学生眼见为实地看到程序的运行结果,然后引出相关的知识点,从而理解所学内容的意义和整体的逻辑关系,一步一步地引导学生建立程序设计的思想。
本书用简单的小程序,对前后知识点建立联系,让读者体会到知识点并不孤立。在书中,相同功能案例可以用不同的方法、不同的语句实现,通过这种方法使读者学习语法规则和掌握多种思考方法。例如编写“输入年份,判断年份是否为闰年”的程序,这个简单的功能在第2章“数据类型和运算符”中引入,目的是让读者学习和理解关系运算符、逻辑运算符和条件运算符,理解表达式运算结果的数据类型,通过输入一个数据、经过一个表达式直观地看到判断结果。在第3章介绍语句的分支结构时,学生使用条件语句,同样能清晰地完成闰年判断功能,同时掌握条件语句的语法规则和语句的执行流程。在第4章通过函数的定义,把判断年份是否为闰年的功能封装成函数,使用起来更加方便、简洁。通过此封装过程,介绍函数的定义格式和函数调用的三种方式。再如,对于案例“计算天数——根据日期计算该日期是本年度的第多少天”,在第3章介绍多分支语句——开关语句时,用开关语句编写程序实现功能,从而引入了开关语句的语法规则。在同一章中还用第二种方法完成同样的功能,巩固循环语句的语法格式。在第6章“结构类型”中,自定义日期结构类型后,同样完成“计算天数”功能,语法格式、语句内容却截然不同。紧接着在第7章“类和对象”中,对日期类型进一步封装,不仅封装了数据,还封装了对数据的操作,即处理数据的函数,那么“计算天数”的程序就换成了另一个模样。通过这样的方式让读者理解,即使数据类型不同,思考方式不同,编写代码不同,也能做到殊途同归,实现同一个功能。学习程序设计语言不要死记硬背,应该在熟练掌握语法规则、掌握基本语句结构的基础上,坚持动手编写程序,不断上机调试,灵活运用。通过程序案例的不断完善,前后贯通。让同一个程序案例不断地提高设计要求,从简单到复杂,从多个维度、多种结构,循序渐进,对比学习。在程序案例融入的语法和语句规则中,掌握更多应该注意的细节。
本书主要是想让读者在有趣的程序案例中,学习枯燥乏味的语法规则和语句结构,在拓展训练中进一步巩固学习内容,在编程操作过程中收获到学以致用的成就感,深入浅出地引导读者入门。全书包含24个案例,用于引出新知识点的学习;包含71个示例,有的用于引出新内容,有的是有助于读者对本节内容的巩固和提高;本书还包含200多幅图,有助于读者更形象、更直观地理解概念、过程、运行结果。本书在编写过程中注重细节,图文并茂,深入浅出,书中包含详细的代码注释,分析运行过程中计算机的内存单元的变化等实现机制,尽量把需要注意的事项、不好理解的地方,以图文的形式呈现给读者。在目前各大学压缩学时的情况下,即使课时不多,学生也能够有兴趣在课外跟着教程完成案例的学习和操作。每个章节知识点难度逐步加大,整个教程内容也循序渐进,协调统一,同一个内容会在不同的章节出现,一步一步进行完善和提高,让学生既不会感到晦涩难懂,又有兴趣读下一章节的内容。在学习过程中如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,以免自己沉浸在无尽的挫败感中,感觉垂头丧气。这时应往后学习,通常学习了后面的知识点或其他章节的内容后,就能理解前面的内容了。学习是一个循环的过程,在循环反复中一些难点问题慢慢就迎刃而解了。
不管学习哪种程序设计语言,读不会,看不会,只能练会。多做一些上机练习,才能更好地体会语法规则和语句结构。在程序调试运行时,不要怕遇到错误,有时候没有错误,还要人为地进行语句的添加、删除或修改,看看这样处理后出现什么运行结果。像医生看病一样,多见识错误,就是在积累经验,在错误中不断成长,越挫越勇,终达到用计算机语言与计算机进行自由沟通,指挥计算机精准正确地响应你的要求。当然,不要期待学完这本书就达到这个程度,C 语言是基本功,不要小看书中这些小的案例,“不积跬步,无以至千里”,只有扎扎实实地练就过硬的本领,才有能力攀登计算机领域的高峰。
本书是2021—2022年度河北省高等教育教学改革研究与实践项目“面向创新能力培养的数据计算与数据分析类课程教学改革与实践——以数学类专业为例”(项目编号2021GJJG552)的结题成果,由唐山师范学院冯玉芬、周树功、母景琴和詹胜四位老师合作编写完成。编者从事多年C 程序设计语言的教学工作,有丰富的项目开发经验。冯玉芬主要负责第1~8章的编写,母景琴负责第9章的编写,詹胜负责第10章的编写工作,周树功负责第11章的编写。
对于编者而言,撰写一部教材既是一项琐碎而繁重的任务,也是乐在其中的劳动。在学生的期盼下,尽管我们已经竭力争取让本书严谨和完美,但是书中仍然会存在错误和不当之处,欢迎各界专家和读者朋友给予宝贵意见,以利于我们改进和提高,我们对此不胜感激。
编者2023年1月
|
|