新書推薦:
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:NT$
380.0
《
中国古代北方民族史丛书——东胡史
》
售價:NT$
576.0
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
358.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
374.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
440.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
319.0
《
虚弱的反攻:开禧北伐
》
售價:NT$
429.0
|
編輯推薦: |
(1)本书注重知识内容的实用性和综合性。(2)安排了如下几个专题:正整数的拆分、*公约数、素数、进制转换。这些专题既总结了某一类问题的解决方法,又让学生体验到程序设计的实用性,激发了学生的学习兴趣。(3)图文并茂,基本上做到绝大难理解部分的讲解都有相关的图示,有的内容通过多图逐步分解剖析。(4)在提供丰富有趣的经典实例时,还精心设计了一个相对完整的学生成绩管理应用实例贯穿于整本书。(5)对一些重要的知识点、重要的例子、难懂的例子,都有配套的微课。
|
內容簡介: |
本书采用实例导入问题提出解释与应用的叙述模式,以生动有趣的案例引入,从情境中提出问题,建立数学模型,获得解决方法,*后实现应用。全书共分12章,包括概述、分支结构、循环结构、函数、数组、指针、结构等内容。 本书在结构设计上,从有利于学习者学习的角度出发来选择、组织和呈现教学内容。首先,在书的安排顺序上,先安排函数,然后是数组和指针,这样便于学生早接触函数,早使用函数,有利于后续课程的学习;其次,强调实践,而不拘泥于基础知识,通过实践掌握基础知识,重点在程序设计能力的培养;再次,本教材设计了一些专题,如迭代算法、*公约数的求解、素数判定等,总结了某一类问题的解决方法,既让学习者体验到程序设计的实用性,又激发了学习者的学习兴趣;*后,为满足读者对在线开放学习的需求,本教材的大部分实例配套了微课。 本书可以作为各类大专院校、等级考试与各类培训的教学用书,也可作为对C语言程序设计感兴趣人员的自学用书。
|
目錄:
|
目录第1章概述11.1计算机程序设计语言11.1.1机器语言11.1.2汇编语言11.1.3高级语言21.2用程序设计语言编写程序的步骤21.2.1编码21.2.2编译21.2.3调试31.2.4维护31.3结构化程序设计方法41.4算法41.4.1算法的特性51.4.2算法的描述51.5关于C程序设计语言81.5.1C语言出现的历史背景81.5.2C语言的特点91.6简单的C语言程序101.6.1输出hello, world101.6.2计算a b111.6.3计算分段函数的值121.6.4按先大后小的顺序输出两个整数131.6.5华氏温度与摄氏温度的转换14练习16第2章类型、运算符与表达式192.1变量192.1.1变量的命名规则192.1.2变量的声明202.2数据类型及长度21〖1〗C语言程序设计第2版目录[3]〖3〗2.2.1short与long限定符212.2.2signed与unsigned限定符212.2.3每种数据类型的printf和scanf格式转换符222.3常量252.3.1整数常量与浮点数常量252.3.2字符常量252.3.3字符串常量262.3.4符号常量272.3.5枚举常量272.4常量表达式282.5算术运算符282.6关系运算符与逻辑运算符282.7自增运算符与自减运算符312.8逗号运算符312.9赋值运算符与赋值表达式322.10条件运算符与条件表达式332.11一元运算符sizeof342.12类型转换342.13运算符的优先级及求值次序36练习37第3章分支结构443.1实例导入443.2语句与程序块453.3ifelse语句453.4elseif语句483.5switch语句503.6应用实例: 学生成绩管理56练习58第4章循环结构624.1实例导入624.2while循环654.3for循环704.4dowhile循环744.5三种循环语句的比较764.6循环结构的嵌套774.7break语句与continue语句834.8goto语句与标号884.9专题1: 正整数的拆分894.10专题2: 迭代法924.11应用实例: 学生成绩管理95练习96第5章输入与输出1095.1getchar函数1095.2putchar函数1105.3printf函数1135.4scanf函数1145.5应用实例: 求和116练习122第6章函数1266.1实例导入1266.2函数的基本知识1296.2.1函数的定义1296.2.2函数的调用1306.2.3函数的声明1356.2.4函数设计的基本原则1386.3函数的嵌套调用1396.4函数的递归调用1396.5变量的存储类型1456.6变量的类别1456.6.1外部变量与内部变量1456.6.2静态变量1476.6.3寄存器变量1486.7变量的作用域与生存期1486.7.1变量的作用域1486.7.2变量的生存期1496.7.3内存空间及分配方式1496.8程序块结构1566.9变量的初始化1566.10预处理1576.10.1文件包含1576.10.2宏替换1576.10.3条件编译1596.11专题3: 最大公约数的求解1616.11.1bruteforce算法1616.11.2欧几里德算法1626.11.3更相减损法164练习165第7章数组1777.1实例导入1777.2一维数组1807.2.1一维数组的定义1807.2.2一维数组元素的引用1817.2.3一维数组的初始化1817.2.4一维数组的应用举例1827.3二维数组1847.3.1二维数组的定义1847.3.2二维数组元素的引用1847.3.3二维数组的初始化1857.3.4二维数组的应用举例1867.4字符数组1927.4.1字符数组的定义和引用1927.4.2字符数组的初始化1927.4.3字符数组的输入输出1937.4.4字符数组的应用举例1957.5数组与函数参数1977.5.1数组元素作函数实参1977.5.2数组作函数实参1987.6查找和排序2017.6.1查找2017.6.2排序2037.7专题4: 进制转换2067.7.1十进制整数转换成其他进制整数2067.7.2其他进制整数转换成十进制整数2087.8专题5: 素数2097.8.1素数判定的基本方法2097.8.2一定范围内所有素数的求解2177.9应用实例: 学生成绩管理220练习222第8章指针2408.1实例导入2408.2指针的基本知识2468.2.1指针变量的声明2468.2.2指针变量的初始化2468.2.3指针变量的基本运算2468.3指针与数组2498.3.1指针与一维数组2498.3.2指针与多维数组2588.4指针与函数2598.4.1指针作为函数的参数2598.4.2指针作为函数的返回值2638.4.3指向函数的指针2668.5字符指针与函数2678.6指针数组2698.6.1指针数组的声明2698.6.2指针数组的初始化2698.6.3指针数组与二维数组的区别2698.7命令行参数2708.8指向指针的指针2718.9动态分配2728.9.1动态分配内存2728.9.2释放内存2728.9.3void 类型2738.9.4动态数组2738.9.5查找malloc中的错误275练习275第9章结构2979.1实例导入2979.2结构的基本知识3029.2.1结构类型的定义3039.2.2结构变量的定义3039.2.3结构成员的访问3049.2.4对结构变量的操作3049.2.5结构变量的初始化3069.2.6结构的嵌套3079.3结构数组3089.4结构指针3119.5typedef3139.6结构与函数3149.7单链表3159.7.1单链表的创建3169.7.2单链表的输出3169.7.3单链表的插入3169.7.4单链表的删除3199.7.5链表的综合操作3199.8联合3219.9枚举3249.9.1枚举类型的定义3249.9.2枚举变量的定义3249.9.3对枚举变量的操作3259.10应用实例: 学生成绩管理3279.10.1用结构数组实现3289.10.2用单链表实现329练习332第10章位运算34210.1原码、反码和补码34210.2位运算符34310.2.1与运算符34310.2.2或运算符34310.2.3异或运算符34310.2.4取反运算符34410.2.5左移运算符和右移运算符34410.3位赋值运算符34710.4位域348练习349第11章文件35211.1实例导入35311.2C语言中文件的使用35411.2.1声明FILE类型的变量35511.2.2打开文件35511.2.3执行IO操作35611.2.4关闭文件35611.3字符IO35711.3.1读字符函数fgetc35711.3.2写字符函数fputc35711.4行IO36011.4.1读字符串函数fgets36011.4.2写字符串函数fputs36011.5格式化IO36111.5.1格式化输出函数fprintf和sprintf36111.5.2格式化输入函数fscanf和sscanf36111.6数据块读写36311.6.1数据块读函数fread36311.6.2数据块写函数fwrite36311.7文件的定位36311.7.1fseek函数36311.7.2ftell函数36511.7.3rewind函数36511.8错误检测函数36611.8.1clearerr函数36611.8.2feof函数36611.8.3ferror函数36611.9应用实例: 学生成绩管理366练习371第12章大串讲37612.1顺序输出整数的各位数字37612.2计算阶乘之和37812.3Fibonacci数列38012.4计算函数的值38312.5在有序数组中插入一个元素384附录A常用字符与ASCII码对照表388附录B常用的C语言库函数390B.1数学函数390B.2字符处理函数391B.3字符串处理函数392B.4实用函数393附录C与具体实现相关的限制394参考文献395
|
內容試閱:
|
前言程序设计是高校理工科重要的计算机基础课程,该课程以培养学生掌握程序设计的思想和方法为目标,以培养学生的实践能力和创新能力为重点。C语言是得到广泛使用的程序设计语言之一,它既具备高级语言的特性,又具有直接操纵计算机硬件的能力,并以其良好的程序结构和便于移植的特性而拥有大量的使用者。目前,许多高校都把C语言列为首门要学习的程序设计语言。虽然目前有关C语言的教材很多,但大多都只是注重C语言知识的学习,这样不利于培养学生的程序设计能力和程序设计语言应用能力。本书以程序设计为主线,从应用出发,通过案例和问题引入相关的语法知识,重点讲解程序设计的思想和方法,从而避免机械式地记忆语法知识,实现通过写程序掌握C语言知识的理念。在教材的结构设计上,强调学以致用,使学生从一接触C语言,就开始练习编程。全书共12章,主要包括3方面的内容: 基本内容、常用算法和程序设计风格。为了提高读者的学习兴趣,大多数内容是先导入实例而后介绍相关的语言知识。第1章首先简单介绍一些背景知识和利用计算机解决问题的步骤,然后从实例出发,简要介绍C语言的核心部分,使学生对C语言有一个总体的了解,并学习编写简单的程序,培养学生的学习兴趣;第2章介绍基本的数据类型和常用运算符;第3章和第4章分别介绍分支结构和循环结构程序设计的思路和方法,并且从第3章开始,逐步深入介绍程序设计的思想和方法,说明如何应用程序设计语言解决问题;第5章介绍基本的输入输出处理;第6章介绍函数的基础知识及基本用法;第7章介绍一维数组、二维数组和字符数组的知识和应用;第8章介绍指针的基本概念及应用;第9章介绍结构的基础知识及应用;第10章介绍位运算及应用;第11章介绍文件的概念、文件的基本操作及应用;第12章大串讲,帮助读者对整本教材知识点的融会贯通,并加以运用。本书有如下特色:(1) 本书注重知识内容的实用性和综合性。结合本科学生的特点,注重知识内容的实用性和综合性,删减以往类似教材中较刻板的理论知识点,将更多的篇幅放在程序设计方法、程序设计技能以及程序设计过程的阐述上。(2) 设计了一些专题。本书安排了如下几个专题: 正整数的拆分、最大公约数、素数、进制转换。这些专题既总结了某一类问题的解决方法,又让学生体验到程序设计的实用性,激发了学生的学习兴趣。(3) 本书图文并茂。西方有句谚语: A picture is worth a thousand words.(一图值千言)。意思是用上千个字描述不明白的东西,很可能一张图就能解释清楚。本书绝大多数难理解部分的讲解都有相关的图示,有的内容通过多图逐步分解剖析。(4) 本书在提供丰富、有趣的经典实例时,还精心设计了一个相对完整的学生成绩管理应用实例贯穿于整本书,从最简单的单个学生成绩分类开始,到使用循环语句、数组处理多个学生成绩信息,再到使用更有聚合力的结构来组织学生成绩信息,最终将这些处理信息永久性地存储到文件中,完全贯彻了实用、实践和工程应用的理念。通过这个实例的学习,让学生对C语言程序设计有一个更全面的认知,能够综合运用所学知识去解决较为实际的问题。(5) 为满足读者对在线开放学习的需求,对一些重要的知识点、重要的例子、难懂的例子,提供了配套的微课,这样读者不仅能走进作者的教学课堂,而且能重复学习,做到攻克重点、难点,不留学习死角。因作者水平有限,对书中存在的疏漏、谬误之处,敬请读者批评指正。
作者2017年9月〖1〗C语言程序设计第2版前言[3]〖3〗
|
|