教育>本科研究生>计算机类
程序设计与计算思维  

程序设计与计算思维  "

作者:刘正余
ISBN:9787121450754
定价:¥56.0
字数:407千字
页数:244
出版时间:2023-02
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书是基于“新工科”背景应用型工程教育中人才培养模式要求编写而成的,从计算思维视角探索程序设计的过程和目标,其中设计的每个案例代表性都很强。本书共 12 章,内容包括引论、数据类型、运算符与表达式、输入与输出、顺序结构程序设计与执行、分支结构程序设计与执行、循环结构程序设计与执行、指针的定义与引用、数组与指针、模块化程序设计、结构体与链表、文件操作。本书既适合信息类相关人员了解程序设计与计算思维所用,又适合为非信息类相关人员提供信息理论与技术帮助。

前言

当前,随着大数据、人工智能、云计算等新技术的发展,信息技术已经融入现代社会 生活的方方面面,深刻改变着人类的思维、生产、生活、学习方式,无处不在的计算思维 成为人们认识问题和解决问题的基本能力之一。新工科是在新一轮科技与产业变革的背景 下工程学科的一次重大战略改革,其内涵是以立德树人为引领,以应对变化、塑造未来为 建设理念,以继承与创新、交叉与融合、协调与共享为主要途径,培养未来多元化、创新 型卓越工程人才。 计算思维是指运用计算机科学技术去求解问题、设计和构造问题解决方案、模仿人的 行为进而代替人脑的思维活动。计算思维与程序设计思维有着紧密的联系,从解决问题方 法的角度来说,计算思维是从数据运动的角度去认识和理解世界的思想与方法。计算机是 数据处理和加工的工具,是思维实现的手段,因此,计算机科学的相关理论和技术是计算 思维解决问题的基础。来自不同领域的问题经过信息抽取和模型构建,以及计算平台的运 算,在得到解决的同时,也能加深人们对领域知识的理解。程序设计为求解问题提供了认 知领域知识的角度和计算平台,采用抽象技术实现了数据的定义、算法的描述、可行性验 证及自动处理等功能。在这个意义上,计算思维与程序设计的融合更多是从应用角度去寻 找问题的解决思路和方法,将计算机技术从思维高度彻底改造,实现以程序为载体,构建 起人与计算机之间的联系,不断创新计算机科学,促进新工科背景下计算机科学理论的新 发展。 本书体现了知识结构创新,通过程序设计的过程及素材探索计算思维的内涵,从多维 度展示计算机解决问题的艺术。本书共 12 章,设计了 70 个案例。引论介绍计算思维的内 涵、解决问题的过程,数据类型介绍数据从逻辑到物理的形式,运算符与表达式介绍运算 工具与运算过程,输入与输出介绍人机交互的含义和实现方法,顺序、分支、循环结构介 绍结构化程序设计的方法及执行,指针介绍指针的定义与引用,数组与指针介绍两者之间 的联系,模块化程序设计介绍工程化解决问题的方法与思路,结构体与链表介绍复杂数据 类型的数据加工和处理方法,文件操作介绍交互处理外部批量数据的方法。 本书采用“程序+注释”的结构,从定义、执行、传递、引用四个视角把“离散”的程 序设计案例有机地组织成作者想要表达的计算思维体。而且,每个案例都提供了解决问题 的多个视角,又从多个视角解决多个不同问题。书中所有程序都经过调试,命名方式友好, 充分考虑读者的喜好,读者在阅读时不会有障碍,在自己动手执行案例的同时,也可以对 案例进行引申和更新。 本书既适合信息类相关人员了解程序设计与计算思维所用,又适合为非信息类相关人 员提供信息理论与技术帮助。 由于作者研究方向不广,对相关领域认识和理解还不全面,书中难免存在不足之处, 希望广大读者批评指正。

目录

第 1 章 引论····································1 案例 1:设计加法表 ·····················1 Prog1.1 ································1 Prog1.2 ································2 Prog1.3 ································3 Prog1.4 ································4 Prog1.5 ································5 案例 2:一组数据的“逆序”输出 ···5 Prog2.1 ································5 Prog2.2 ································6 Prog2.3 ································7 Prog2.4 ································7 Prog2.5 ································8 Prog2.6 ································9 第 2 章 数据类型 ··························.10 案例 3:求两个数的和 ···············.10 Prog3.1 ·····························.10 Prog3.2 ·····························.10 案例 4:整型数据 ·····················.11 Prog4.1 ·····························.11 Prog4.2 ·····························.12 Prog4.3 ·····························.12 Prog4.4 ·····························.13 案例 5:实型数据 ·····················.15 Prog5.1 ·····························.15 Prog5.2 ·····························.15 Prog5.3 ·····························.16 Prog5.4 ·····························.17 案例 6:字符型数据 ··················.17 Prog6.1 ·····························.17 Prog6.2 ·····························.18 Prog6.3 ·····························.18 Prog6.4 ·····························.19 Prog6.5 ·····························.20 Prog6.6 ·····························.21 Prog6.7 ·····························.21 第 3 章 运算符与表达式 ·················.23 案例 7:算术运算符与表达式······.23 Prog7.1 ·····························.23 Prog7.2 ·····························.23 Prog7.3 ·····························.24 Prog7.4 ·····························.25 案例 8:关系运算符与表达式······.26 Prog8.1 ·····························.26 案例 9:逻辑运算符与表达式······.27 Prog9.1 ·····························.27 Prog9.2 ·····························.28 Prog9.3 ·····························.28 Prog9.4 ·····························.29 案例 10:赋值运算符与表达式·····.30 Prog10.1 ····························.30 案例 11:逗号运算符与表达式·····.31 Prog11.1 ····························.31 第 4 章 输入与输出 ·······················.32 案例 12:整型数据输入··············.32 Prog12.1 ····························.32 案例 13:实型数据输入··············.33 Prog13.1 ····························.33 案例 14:字符型数据输入···········.34 Prog14.1 ····························.34 案例 15:数值型数据与字符型 数据混合输入··············.35 Prog15.1 ····························.35 案例 16:整型数据输出··············.36 Prog16.1 ····························.36 案例 17:实型数据输出··············.37 Prog17.1 ····························.37 案例 18:字符型数据输出···········.38 Prog18.1 ····························.38 案例 19:文件数据写入和读出·····.39 Prog19.1 ····························.39 第 5 章 顺序结构程序设计与执行 ·····.42 案例 20:顺序结构程序设计 与执行·······················.42 Prog20.1 ····························.42 案例 21:数据的交换·················.42 Prog21.1 ····························.42 Prog21.2 ····························.43 Prog21.3 ····························.44 Prog21.4 ····························.46 案例 22:四舍五入····················.48 Prog22.1 ····························.48 第 6 章 分支结构程序设计与执行 ·····.50 案例 23:分支结构程序设计 与执行·······················.50 Prog23.1 ····························.50 Prog23.2 ····························.51 Prog23.3 ····························.51 Prog23.4 ····························.54 案例 24:求数据的极值··············.56 Prog24.1 ····························.56 Prog24.2 ····························.57 案例 25:简单数据排序··············.59 Prog25.1 ····························.59 Prog25.2 ····························.60 案例 26:分段函数求解··············.61 Prog26.1 ····························.61 Prog26.2 ····························.62 Prog26.3 ····························.63 Prog26.4 ····························.64 案例 27:开关语句程序设计与 执行··························.65 Prog27.1 ····························.65 案例 28:学生成绩分析与设计·····.66 Prog28.1 ····························.66 案例 29:简易菜单设计··············.67 Prog29.1 ····························.67 第 7 章 循环结构程序设计与执行 ·····.69 案例 30:循环结构程序设计 与执行·······················.69 Prog30.1 ····························.69 Prog30.2 ····························.70 Prog30.3 ····························.71 案例 31:顺序结构与循环结构 ····.72 Prog31.1 ····························.72 案例 32:多重(嵌套)循环结构 程序设计与执行···········.73 Prog32.1 ····························.73 案例 33:求和问题····················.74 Prog33.1 ····························.74 Prog33.2 ····························.76 Prog33.3 ····························.78 Prog33.4 ····························.79 Prog33.5 ····························.80 案例 34:循环结构解决典型问题 ·.81 Prog34.1 ····························.81 Prog34.2 ····························.82 Prog34.3 ····························.84 Prog34.4 ····························.86 Prog34.5 ····························.87 Prog34.6 ····························.89 Prog34.7 ····························.90 Prog34.8 ····························.91 案例 35:钻石图的设计··············.92 Prog35.1 ····························.92 Prog35.2 ····························.95 Prog35.3 ····························.97 Prog35.4 ····························.99 第 8 章 指针的定义与引用 ·············.102 案例 36:指针的定义与含义 ······.102 Prog36.1 ···························.102 案例 37:指针的引用················.104 Prog37.1 ···························.104 Prog37.2 ···························.105 Prog37.3 ····························106 案例 38:指针的指针定义与 引用··························107 Prog38.1 ····························107 第 9 章 数组与指针 ·······················109 案例 39:数组的含义与定义········109 Prog39.1 ····························109 Prog39.2 ···························.110 Prog39.3 ···························.112 Prog39.4 ···························.113 案例 40:数组与指针················.115 Prog40.1 ···························.115 案例 41:指针运算···················.117 Prog41.1 ···························.117 Prog41.2 ····························120 Prog41.3 ····························123 案例 42:数组元素引用··············125 Prog42.1 ····························125 Prog42.2 ····························126 Prog42.3 ····························130 Prog42.4 ····························132 Prog42.5 ····························134 案例 43:多维数组与指针···········135 Prog43.1 ····························135 Prog43.2 ····························137 Prog43.3 ····························139 Prog43.4 ····························142 Prog43.5 ····························144 案例 44:多维数组解决经典 问题··························145 Prog44.1 ····························145 Prog44.2 ····························147 Prog44.3 ····························149 Prog44.4 ····························152 案例 45:字符数组与字符串········154 Prog45.1 ····························154 Prog45.2 ····························156 Prog45.3 ····························158 Prog45.4 ····························161 案例 46:数组数据处理综合 案例·························.162 Prog46.1 ···························.162 第 10 章 模块化程序设计···············.168 案例 47:库函数调用················.168 Prog47.1 ···························.168 Prog47.2 ···························.168 案例 48:形参与实参················.170 Prog48.1 ···························.170 案例 49:函数的返回值·············.172 Prog49.1 ···························.172 案例 50:函数调用···················.174 Prog50.1 ···························.174 Prog50.2 ···························.175 案例 51:和与积······················.177 Prog51.1 ···························.177 Prog51.2 ···························.179 案例 52:递归调用···················.180 Prog52.1 ···························.180 Prog52.2 ···························.182 案例 53:递归调用经典案例 ······.185 Prog53.1 ···························.185 Prog53.2 ···························.186 案例 54:数组、指针与模块化 ···.187 Prog54.1 ···························.187 Prog54.2 ···························.189 Prog54.3 ···························.191 案例 55:变量的作用域·············.192 Prog55.1 ···························.192 Prog55.2 ···························.194 案例 56:函数返回值为指针 ······.196 Prog56.1 ···························.196 案例 57:预编译处理················.197 Prog57.1 ···························.197 第 11 章 结构体与链表··················.199 案例 58:结构体类型与结构体 变量·························.199 Prog58.1 ···························.199 Prog58.2 ···························.201 案例 59:结构体变量与结构体 指针··························202 Prog59.1 ····························202 Prog59.2 ····························204 案例 60:结构体数组与指针········205 Prog60.1 ····························205 案例 61:结构体典型案例···········209 Prog61.1 ····························209 案例 62:链表··························210 Prog62.1 ····························210 Prog62.2 ····························213 案例 63:链表应用案例··············214 Prog63.1 ····························214 案例 64:共用体类型·················219 Prog64.1 ····························219 案例 65:枚举类型····················220 Prog65.1 ···························.220 案例 66:位运算······················.222 Prog66.1 ···························.222 Prog66.2 ···························.224 第 12 章 文件操作························.226 案例 67:文件的打开与关闭 ······.226 Prog67.1 ···························.226 案例 68:文件的读写················.228 Prog68.1 ···························.228 Prog68.2 ···························.229 Prog68.3 ···························.230 案例 69:文件的控制················.233 Prog69.1 ···························.233 案例 70:文件操作典型案例 ······.234 Prog70.1 ···························.234 参考文献 ····································.236

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个