C语言程序设计:基于计算思维培养

C语言程序设计:基于计算思维培养 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:杨俊生
出品人:
页数:305
译者:
出版时间:2015-3
价格:42.00元
装帧:平装
isbn号码:9787121250927
丛书系列:
图书标签:
  • C语言
  • 辽宁省图书馆藏书
  • C语言
  • 程序设计
  • 计算思维
  • 入门
  • 教材
  • 计算机科学
  • 编程
  • 算法
  • 数据结构
  • 基础
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《C语言程序设计:基于计算思维培养》可作为高等学校程序设计课程的入门教学用书,也可作为专科及成人教育的培训教材和教学参考书。

本书符合教育部高等学校计算机基础课程教学指导委员会2011版《高等学校计算机基础核心课程教学实施方案》的基本要求,符合学生学习的认知规律,是工业和信息产业科技与教育专著出版资金项目的规划教材。

本书突出“厚基础、重思维、提倡自主学习、注重能力培养”教学理念和指导思想,主要表现在以下几个方面。

(1)突出科学思维意识和能力的培养。教材加入了算法设计方法、常见经典算法、程序设计方法等与科学思维相关的内容;每章后的小结除了对本章语法要点、常见错误总结外,还着重对本章所涉及的能力点、典型算法、思维或算法设计方法进行了总结,并以思维导图的形式给出。

(2)重视拓展和探究性教学,培养学生自主学习能力。教材每章后都有一个探究性题目,用来引导学生通过查阅相关资料,综合运用所学知识完成一个难度稍大的题目,从而培养学生自主学习的能力;另一方面,教师可根据不同的教学对象和教学要求对探究性题目进行取舍,便于开展因材施教;书中提供了大量的思考或自主学习题目,鼓励学生独立动手动脑,通过自己的努力拓展教材中所学知识。

(3)提升学生综合运用所学知识编写程序的能力。通过引入一个贯穿整本书的综合案例,使学生对使用计算机来解决实际问题的过程有一个切实的、整体的认识。

(4)注重编程逻辑的培养。通过引入Microsoft Visio 2010、RAPTOR等可视化算法设计工具,突出学生思维逻辑的培养,使学生的注意力集中在算法的设计上。

(5)从程序设计者的角度而不是从阅读者的角度来设计本书的例子,采用“提出问题→分析问题→设计算法→程序实现→测试→总结、优化或扩展深化(以讨论或思考题的方式)”形式来描述例子,从而达到启发读者编程思路,培养逻辑思维能力的目的。

(6)为了学生能更好、更快地适应市场的需求,本书在函数一章中增加了工程化开发程序的方法,从工程组织的角度介绍了规模稍大的多文件程序的科学合理的组织形式。

(7)为了拓宽并启发学生设计算法和程序时从多角度考虑问题,对同一任务采用了多种设计方式。如第1章中的猴子吃桃采用了递推算法,而在函数一章中采用了递归算法实现。

(8)将学生容易犯错的地方,以特殊格式突出显示了注意事项,避免学生在细节上浪费时间。

(9)为了满足课堂教学和教师备课的需要,教材配有电子课件,登录华信教育资源网注册后免费下载。

本书内容全面,由浅入深,循序渐进,在打好“基础知识、基本技能”的基础上,注重培养学生的逻辑思维能力、程序设计能力、初步的算法设计能力、自主学习能力。

作者简介

杨俊生,中国传媒大学计算机学院基础教学部主任,负责全院基础课程教学。多次获得校级名师称号。2011年校级教学质量评价体系建设项目“《计算机与信息技术基础》分级(层)教学方案研究”获得优秀奖。

目录信息

第1章 程序设计基础1
1.1 引例1
1.1.1 软硬件基础1
1.1.2 编写程序1
1.2 算法3
1.2.1 算法及其特性3
1.2.2 算法的表示方法4
1.2.3 算法设计的基本方法7
1.3 程序与程序设计12
1.3.1 程序与程序设计语言12
1.3.2 程序设计语言处理过程13
1.3.3 计算机解题过程15
1.3.4 程序设计方法17
1.4 案例—“学生成绩管理系统”需求分析与模块图的绘制19
本章小结21
探究性题目:使用RAPTOR进行程序设计22
第2章 C语言概述23
2.1 引例23
2.2 C语言出现的历史背景23
2.3 C语言的特点24
2.4 C程序结构和代码书写规则25
2.4.1 C程序结构25
2.4.2 代码书写规则28
2.5 C程序的实现31
2.5.1 C程序的实现步骤和调试31
2.5.2 VC++6.0的使用34
本章小结38
探究性题目:C语言应用领域及其应用前景的分析39
第3章 数据类型与表达式40
3.1 引例40
3.2 C语言的数据类型40
3.3 常量与变量41
3.3.1 常量41
3.3.2 变量43
3.3.3 常变量44
3.4.4 标识符44
3.4 基本数据类型45
3.4.1 整型数据45
3.4.2 浮点型数据48
3.4.3 字符型数据50
3.4.4 如何确定常量的类型52
3.5 运算符和表达式53
3.5.1 运算符和表达式简介53
3.5.2 算术运算符和算术表达式53
3.5.3 赋值运算符和赋值表达式55
3.5.4 逗号运算符和逗号表达式56
3.5.5 位运算符与位运算表达式56
3.6 类型转换59
3.6.1 隐含类型转换59
3.6.2 强制类型转换60
3.6.3 赋值过程中的类型转换60
3.7 案例—“学生成绩管理系统”中学生属性数据的描述62
3.7.1 任务描述62
3.7.2 数据描述62
3.7.3 算法描述62
3.7.4 程序实现62
本章小结63
探究性题目:VC++6.0中浮点型数据
存储形式64
第4章 顺序结构程序设计65
4.1 引例65
4.2 C语句概述66
4.3 数据输入/输出68
4.3.1 字符数据的输入和输出68
4.3.2 格式输入与输出函数69
4.4 顺序结构程序设计74
4.5 使用scanf()函数常见的问题79
4.6 案例—“学生成绩管理系统”中用户菜单的设计与实现84
本章小结86
探究性题目:常用缓冲和非缓冲输入
库函数使用方法的剖析87
第5章 选择结构程序设计88
5.1 引例88
5.2 关系运算和逻辑运算90
5.2.1 关系运算90
5.2.2 逻辑运算90
5.3 if语句93
5.3.1 if语句的3种基本形式93
5.3.2 if语句的嵌套96
5.4 条件运算符97
5.5 switch语句98
5.6 选择结构程序设计举例100
5.7 案例—“学生成绩管理系统”中用户菜单的选择107
5.7.1 任务描述107
5.7.2 数据描述107
5.7.3 算法描述107
5.7.4 程序实现108
本章小结109
探究性题目:C编译器对逻辑运算的优化110
第6章 循环结构程序设计111
6.1 引例111
6.2 概述111
6.2.1 C语言中实现循环的5种机制111
6.2.2 goto语句以及用goto语句构成循环111
6.3 循环语句113
6.3.1 while语句113
6.3.2 do—while语句114
6.3.3 for语句115
6.3.4 几种循环的比较116
6.4 循环的嵌套118
6.5 break语句和continue语句119
6.5.1 break语句119
6.5.2 continue语句120
6.6 循环结构程序举例122
6.7 案例—“学生成绩管理系统”中用户菜单的循环选择130
6.7.1 任务描述130
6.7.2 数据描述130
6.7.3 算法描述130
6.7.4 程序实现131
本章小结132
探究性题目:算法中循环结构的时间复杂度分析133
第7章 数组134
7.1 引例134
7.2 一维数组的定义和引用135
7.2.1 一维数组的定义135
7.2.2 一维数组的引用136
7.2.3 一维数组的初始化136
7.2.4 一维数组应用举例137
7.3 二维数组的定义和引用146
7.3.1 二维数组的定义146
7.3.2 二维数组的引用147
7.3.3 二维数组的初始化148
7.3.4 二维数组应用举例149
7.4 字符数组152
7.4.1 字符数组的定义与引用153
7.4.2 字符数组与字符串153
7.4.3 字符数组的初始化154
7.4.4 字符数组的输入/输出154
7.4.5 字符串处理函数156
7.4.6 字符数组应用举例159
7.5 案例—以数组为数据结构实现“学生成绩管理系统”160
7.5.1 任务描述160
7.5.2 数据描述160
7.5.3 算法描述160
7.5.4 程序实现161
本章小结163
探究性题目:高精度计算164
第8章 函数165
8.1 引例165
8.2 函数的分类和定义166
8.2.1 函数的分类166
8.2.2 函数定义的一般形式167
8.3 函数的调用168
8.3.1 函数调用概述168
8.3.2 形式参数和实际参数169
8.3.3 函数的返回值171
8.3.4 函数原型172
8.4 数组作为函数参数173
8.4.1 数组元素作函数实参173
8.4.2 数组名作函数参数174
8.4.3 多维数组名作函数参数177
8.5 函数的嵌套调用和递归调用178
8.5.1 函数的嵌套调用178
8.5.2 函数的递归调用180
8.6 变量的作用域184
8.6.1 局部变量184
8.6.2 全局变量184
8.6.3 同名变量的作用域重合问题186
8.7 变量的存储类别188
8.7.1 动态存储方式与静态存储方式188
8.7.2 auto变量和register变量189
8.7.3 用extern声明外部变量189
8.7.4 static变量191
8.8 内部函数和外部函数192
8.9 预处理命令192
8.10 再论C程序组织结构197
8.11 案例—以函数为模块化设计手段改写“学生成绩管理系统”200
8.11.1 任务描述200
8.11.2 模块划分200
8.11.2 接口设计201
8.11.3 主模块的实现202
8.11.4 子模块的实现204
本章小结206
探究性题目:C语言中函数调用机理的探讨207
第9章 指针208
9.1 引例208
9.2 地址和指针的概念209
9.2.1 地址和指针209
9.2.2 内存单元的地址与内存单元的值210
9.2.3 直接访问与间接访问210
9.3 指针变量210
9.3.1 指针变量的定义210
9.3.2 指针变量的引用211
9.3.3 指针变量作为函数参数212
9.4 指针与数组214
9.4.1 一维数组与指针214
9.4.2 二维数组与指针219
9.5 字符串与指针223
9.5.1 通过指针访问字符串常量223
9.5.2 通过指针访问字符数组224
9.5.3 字符指针作函数参数224
9.5.4 使用字符指针变量和字数组的比较225
9.6 指针与函数226
9.6.1 用函数指针变量调用函数226
9.6.2 返回指针值的函数227
9.7 指针数组和指向指针的指针228
9.7.1 指针数组的概念228
9.7.2 指向指针的指针230
9.7.3 指针数组作main函数的形参231
9.8 动态内存分配233
9.8.1 C程序存储空间布局233
9.8.2 动态内存分配函数233
9.9 案例—以指针为编程手段改写“学生成绩管理系统”236
9.9.1 任务描述236
9.9.2 数据描述236
9.9.3 算法描述236
9.9.4 程序实现236
本章小结240
探究性题目:使用C语言实现动态数组241
第10章 结构体与共用体242
10.1 引例242
10.2 结构体类型与结构体变量243
10.2.1 结构体类型的声明243
10.2.2 结构体变量的定义245
10.2.3 结构体变量的引用和初始化246
10.3 结构体数组250
10.3.1 结构体数组的定义和初始化250
10.3.2 结构体数组应用举例251
10.4 指向结构体类型数据的指针252
10.4.1 指向结构体变量的指针252
10.4.2 指向结构体数组的指针254
10.4.3 结构体变量和指向结构体的指针作函数参数255
10.5 线性表259
10.5.1 线性表概述259
10.5.2 线性表的顺序表示和实现259
10.5.3 线性表的链式表示和实现261
10.6 共用体265
10.6.1 共用体的概念265
10.6.2 共用体变量的引用方式266
10.6.3 共用体的数据类型的数据特征267
10.7 枚举类型268
10.8 用typedef声明新类型名269
10.9 案例—以线性表为数据结构改写“学生成绩管理系统”270
10.9.1 任务描述270
10.9.2 数据描述271
10.9.3 算法描述271
10.9.4 程序实现271
本章小结275
探究性题目:用C语言实现Excel中多字段排序276
第11章 文件277
11.1 引例277
11.2 C文件概述277
11.2.1 文件277
11.2.2 文件标识278
11.2.3 文件的分类278
11.2.4 文件缓冲区279
11.2.5 文件类型指针280
11.2.6 C语言中文件操作的基本步骤281
11.3 文件的打开与关闭282
11.3.1 文件的打开282
11.3.2 文件的关闭283
11.4 文件的顺序读写283
11.4.1 字符的读写283
11.4.2 字符串的读写285
11.4.3 格式化读写288
11.4.4 数据块的读写289
11.5 文件的随机读写291
11.6 文件读写的出错检测293
11.7 案例—“学生成绩管理系统”中学生数据 文件的输入与输出294
本章小结297
探究性题目:汉字点阵字库中汉字点阵的提取与显示操作初探298
附录A C语言中的关键字299
附录B C运算符的优先级与结合性300
附录C 常用ASCII字符表301
附录D 常用库函数302
参考文献306
· · · · · · (收起)

读后感

评分

评分

评分

评分

评分

用户评价

评分

作为一本深入探讨编程范式的书籍,它在技术前沿性的跟进上也做得相当出色,这在C语言这种经典语言的教材中并不常见。它并没有停留在ANSI C的标准上沾沾自喜,而是巧妙地融入了现代C标准(比如C11或C18)的一些新特性,尤其是那些能提升代码安全性和表达力的部分。我发现书中在讨论并发编程和多线程(尽管C语言在这方面略显原始)时,并没有回避现代多核计算的需求,而是以一种非常务实的方式,引导读者去理解底层同步机制的重要性。此外,书中对内存模型和缓存局部性的讨论,其深度已经达到了专业系统级开发人员的水准,这使得这本书的适用人群得到了极大的拓宽,它既能服务于入门者,也能成为资深工程师在回顾或查阅基础理论时的优秀参考手册。这本书的视野之广、内容之深,远超出了我预期的基础教程范围,它更像是一部为未来十年的技术发展奠定基础的基石之作。

评分

这本书的排版设计和装帧质量给我留下了非常深刻的印象。从拿到书的那一刻起,我就能感受到它在细节上的用心。封面采用了一种沉稳又不失现代感的哑光材质,触摸起来非常舒服,拿在手里很有分量感,让人对里面的内容充满了期待。内页的纸张选择也相当考究,厚度适中,既能保证长时间阅读的舒适度,又有效避免了墨水洇透的问题。更值得称赞的是字体和间距的排布。每一章的标题和正文之间的层次感处理得非常到位,特别是代码示例部分,采用了清晰的单栏布局,并且使用了对比度适中的颜色来区分关键字和普通字符,这对于初学者来说无疑是一个巨大的福音,能够极大地减轻阅读和复制代码时的视觉负担。图表的绘制也十分精美,那些流程图和数据结构的可视化展示,不仅仅是信息的传递,更像是一件件精心制作的艺术品,让抽象的概念变得直观易懂。总的来说,从外在的“颜值”到内在的阅读体验,这本书在物理层面上就为读者构建了一个非常友好的学习环境,这点是很多技术书籍常常忽略却又至关重要的环节。

评分

这本书对实践环节的设计可以说是独具匠心,完全超越了我对传统教材中“习题”的刻板印象。它更像是一系列循序渐进的“编程挑战营”。一开始的练习题确实很基础,旨在巩固最核心的语法点,确保基本功扎实。但随着章节的推进,练习的复杂度和综合性陡然提升,不再是简单的输入输出或函数调用,而是开始要求设计小型系统模块。最让我感到惊喜的是,书中穿插了几个“项目驱动式”的小型案例研究,这些案例并非孤立的算法实现,而是需要读者整合之前学到的文件I/O、结构体数组和字符串处理等多种知识点才能完成的综合性任务。这些案例的描述非常具体,甚至给出了测试用例和预期的性能指标,这迫使我们在编写代码时就必须考虑到鲁棒性和效率。这种“先设目标,再寻工具”的模式,极大地锻炼了我的自学能力和将理论转化为实际产品的能力,真正做到了学以致用,而非纸上谈兵。

评分

我注意到这本书在语言风格上保持了一种极其难得的平衡感:既有学术的严谨性,又不失大众的可读性。作者的叙述口吻非常清晰、冷静,每一个定义和定理的陈述都力求精确无误,没有丝毫含糊不清之处。然而,这种严谨性并未转化为枯燥的学术报告。在关键的转折点,或者在解释容易混淆的概念时,作者会适时地运用一些幽默、生动的比喻,或者引用一些编程史上的典故来调剂气氛,让长时间的阅读过程变得轻松愉快。这种节奏的把控非常到位,确保了读者在保持高度专注力的同时,不会感到心智上的过度疲劳。特别是书中对一些常见错误模式的剖析环节,它不是简单地指出“这是错的”,而是深入分析了为什么会犯这种错误,以及错误背后的思维误区在哪里。这种对读者“心智模型”的关怀,使得阅读过程更像是一场与作者的深度对话,而不是单向的信息灌输。

评分

这本书在概念的引入和讲解的深度上,展现出了一种非常成熟的教学理念。它似乎并不满足于仅仅罗列语法规则,而是着力于挖掘C语言背后那些更深层次的、关于“如何思考”的底层逻辑。作者在介绍每一个新的数据结构或算法思想时,总会先用一个贴近现实生活中的场景进行类比,这种方式极大地降低了入门的心理门槛。随后,讲解会迅速过渡到对计算效率和内存管理的深入剖析,而不是停留在简单的功能实现层面。我尤其欣赏作者处理复杂主题时的那种庖丁解牛般的条分缕析,他们很少使用那种高高在上、充满术语的语言,而是像一位经验丰富的导师,一步步引导你拆解问题。例如,在讲解指针和内存分配时,书中不仅解释了 `malloc` 和 `free` 的用法,还穿插了操作系统内存管理的一些基本概念,这使得读者对“为什么需要指针”这个问题有了更本质的理解,而非仅仅是为了完成作业而记忆一套语法。这种由浅入深,注重原理重于技巧的讲解方式,使得学完后感觉学到的不仅仅是C语言,更是一套通用的程序设计思维框架。

评分

和谭浩强互补,挺不错的

评分

给我校老师出的书打个差评????太差劲了~

评分

给我校老师出的书打个差评????太差劲了~

评分

和谭浩强互补,挺不错的

评分

和谭浩强互补,挺不错的

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有