C语言 程式设计基础(第3版)


C语言 程式设计基础(第3版)

文章插图
程式设计基础(C语言)(第3版)《程式设计基础(C语言)(第3版)》是由高克宁等编着,2018年清华大学出版社出版的“十二五”普通高等教育本科国家级规划教材、高等学校计算机基础教育规划教材、教育部-英特尔精品课程配套教材、辽宁省精品课程配套教材 。该教材适合作为高等学校程式设计基础课程的教材,也可供程式设计爱好者学习 。
【C语言 程式设计基础(第3版)】该教材介绍程式设计的基本方法和技术,全书共15章,以程式设计思想、程式设计语言、程式设计技术和软体工程管理四条主线组织内容 。
基本介绍书名:程式设计基础(C语言)(第3版)
作者:高克宁、李金双、赵长宽、柳秀梅、徐彬
ISBN:9787302488439
类别:“十二五”普通高等教育本科国家级规划教材
页数:489页
出版社:清华大学出版社
出版时间:2018年1月1日
装帧:平装
开本:16开
字数:733千字
CIP核字号:2017284894
成书过程修订情况该教材由高克宁教授主编,副主编有李金双、赵长宽、柳秀梅和徐彬 。其中第1章由高克宁编写,第2~5章由李金双编写,第7、12、14、15章由赵长宽编写,第6、9、11章由柳秀梅编写,第8、10、13章由徐彬编写 。高克宁、赵长宽负责全书的统稿 。出版工作2018年1月1日,该教材由清华大学出版社出版 。
出版社工作人员
责任编辑封面设计责任校对责任印製袁勤勇、战晓雷常雪影焦丽丽李红英内容简介该教材共分15章 。第1章按照计算设备的发展过程,介绍图灵机及现代计算机的工作原理、问题求解与算法以及主流的程式设计思想和程式设计语言 。第2章从信息编码与存储着手,介绍基本标识符、数据类型、常量和变数 。第3章从数值计算角度出发,介绍运算符、表达式、输入输出函式馆、数值计算函式馆以及基本程式设计语句 。第4章重点介绍逻辑运算与选择结构及其实现 。第5章介绍叠代逻辑与循环结构及其实现 。第6章从集合数据处理角度介绍数组、字元串及其实现 。第7章从分工和重用角度介绍函式以及基于多档案的程式结构 。第8章从地址角度介绍如何通过指针处理数据和指令 。第9章围绕複杂数据结构的表示形式,介绍结构体、共用体和线性鍊表 。第10章介绍预编译处理及其程式移植和泛化编程 。第11章从数据永久存储角度介绍档案和常用函式 。第12章汇总了常见问题的求解算法 。第13章从代码和数据封装的角度介绍面向对象的程式设计思想 。第14章从高性能计算角度介绍并行程式设计的基本思想以及MPI、OpenMP和多执行绪技术 。第15章从培养合格程式设计人员的角度介绍程式设计规範和代码重用技术,并引入软体工程的概念,初步介绍个体软体过程(PSP) 。教材目录第1章计算机及程式设计概述11.1概述11.2计算与机器21.2.1计算器21.2.2机械式计算机21.2.3图灵机模型31.2.4电子数字计算机41.3指令与程式51.4计算机的典型套用61.5程式设计语言71.5.1机器语言81.5.2彙编语言81.5.3高级语言91.6问题求解与算法111.6.1算法定义121.6.2算法複杂性121.7算法描述131.7.1伪代码131.7.2流程图141.7.3NS图151.8程式设计151.8.1基本步骤151.8.2结构化程式设计161.8.3面向对象程式设计171.8.4并行程式设计171.8.5程式设计思想前沿181.9C语言简介181.9.1C语言的特点181.9.2简单的C程式设计191.9.3C语言程式结构211.9.4C程式设计过程231.10案例24练习题25第2章信息编码与数据类型272.1概述272.2二进制与信息编码272.2.1整数编码272.2.2实数编码282.2.3字元编码292.3标识符和关键字302.3.1标识符构成302.3.2关键字302.3.3自定义标识符312.4基本数据类型312.4.1整数类型332.4.2实数类型342.4.3字元类型342.4.4逻辑类型362.4.5複数类型362.5常量372.5.1整型常量372.5.2实型常量382.5.3字元常量382.5.4字元串常量392.5.5逻辑常量402.5.6複数常量402.5.7符号常量412.6变数412.6.1变数声明422.6.2变数初始化432.6.3变数赋值442.6.4变数读写452.7案例45练习题46第3章基本运算与顺序结构483.1概述483.2运算符与表达式483.3赋值运算503.4算术运算513.4.1基本算术运算513.4.2自增或自减运算523.4.3整数运算533.4.4实数运算553.4.5複合赋值运算563.5字元运算563.5.1算术运算563.5.2字元分类573.5.3字元转换583.6位运算583.6.1位逻辑运算583.6.2位移运算603.6.3複合位运算及补位原则613.7逗号运算613.8强制类型转换623.8.1算术运算中的隐式转换623.8.2赋值运算中的隐式转换623.8.3显式转换633.9sizeof运算643.10标準设备输入输出库643.10.1字元输入输出函式653.10.2格式化输出函式663.10.3格式化输入函式723.11数学库763.11.1实数计算函式763.11.2複数运算函式773.12基本语句783.12.1标籤语句783.12.2空语句783.12.3声明语句793.12.4表达式语句793.12.5複合语句793.13顺序结构803.14案例82练习题83第4章逻辑判断与选择结构854.1概述854.2关係运算854.3逻辑运算864.4条件运算884.5if语句894.5.1单分支选择结构894.5.2双分支选择结构914.5.3多分支选择结构934.6switch语句964.7选择结构嵌套1014.8案例106练习题108第5章叠代计算与循环结构1095.1概述1095.2while语句1105.3do…while语句1125.4for语句1155.5循环语句对比1185.6循环嵌套1195.7跳转控制语句1245.7.1break语句1245.7.2continue语句1265.7.3goto语句1265.7.4continue、break、goto语句的区别1285.8案例129练习题131第6章集合数据与数组1336.1概述1336.2一维数组1346.2.1一维数组定义1346.2.2一维数组初始化1356.2.3一维数组引用1366.2.4一维数组套用1376.3二维数组1406.3.1二维数组定义1416.3.2二维数组初始化1426.3.3二维数组引用1436.3.4二维数组套用1436.4高维数组1476.5字元数组与字元串1496.5.1字元数组1496.5.2字元串1516.6字元串处理函式1556.6.1字元串标準输入输出函式1556.6.2字元串输入输出函式1576.6.3字元串複製函式1586.6.4字元串连线函式1596.6.5字元串比较函式1596.6.6字元串检索函式1606.6.7字元串转换函式1626.6.8其他字元串常用函式1626.6.9宽位元组型字元串函式1636.7数组新特性1646.8案例165练习题166第7章模组化与函式1687.1概述1687.2函式定义1707.2.1函式定义形式1707.2.2函式返回值与函式类型1737.3函式声明、头档案的使用和库函式声明1767.3.1函式声明1767.3.2头档案的使用1777.3.3库函式声明1787.4参数传递1807.4.1形式参数1807.4.2实际参数1827.4.3值複製传递机制1837.4.4地址複製传递机制1857.4.5数组参数新特性1897.5函式调用1907.5.1函式调用形式1907.5.2嵌套调用1917.5.3递归调用1927.6源程式档案与函式分类1947.6.1外部函式1947.6.2内部函式1957.6.3内联函式1967.7变数存储类型1977.7.1普通变数1977.7.2暂存器变数1977.8变数作用域1987.8.1局部变数1997.8.2全局变数2007.8.3静态变数2037.8.4变数访问控制2047.9源程式结构2057.9.1单档案单函式结构2057.9.2单档案多函式结构2067.9.3多档案多函式结构2067.10案例208练习题210第8章地址操作与指针2128.1概述2128.2指针和指针变数2138.2.1指针变数声明2138.2.2指针变数的赋值及初始化2148.2.3指针变数的引用2148.3指针运算2158.3.1取地址与取值运算2168.3.2算术运算2168.3.3关係运算2188.3.4指针类型转换2188.4数组和指针2208.4.1用指针访问数组元素2208.4.2指向多维数组的指针2218.5字元串和指针2248.5.1指针处理字元串2248.5.2使用字元指针变数与字元数组的区别2258.6函式和指针2278.6.1指针作为函式参数2278.6.2指针作为函式的返回值2328.6.3指向函式的指针2338.7指针数组2368.7.1指针数组定义2368.7.2带参数的main函式2398.8数组指针2418.9指向指针的指针2428.10记忆体访问控制2448.11案例245练习题249第9章複杂数据类型与结构体2519.1概述2519.2结构体类型2529.2.1结构体类型定义2539.2.2结构体类型变数声明与初始化2549.2.3结构体变数的引用2579.2.4结构体数组2599.2.5结构体与函式2629.2.6结构体类型指针2649.3共用体2679.4枚举类型2699.5类型重定义2719.6日期和时间2739.7鍊表2749.7.1鍊表定义2749.7.2动态记忆体管理函式2759.7.3鍊表的基本操作2799.8结构体新特性2839.9案例285练习题290第10章泛化编程与预编译29210.1概述29210.2#define指令29210.2.1不带参数的宏定义29210.2.2带参数的宏定义29410.3#include指令29710.4条件编译29910.4.1#ifdef … #else …#endif29910.4.2#ifndef … #else …#endif29910.4.3#if … #else …#endif30010.5其他指令30210.6预定义宏30510.7异常处理30510.8程式移植30710.9案例308练习题310第11章数据存储与档案31211.1概述31211.2文本档案与二进制档案31311.2.1文本档案31311.2.2二进制档案31311.3档案类型31411.4档案打开与关闭31511.4.1档案打开31511.4.2档案关闭31811.5档案读写31911.5.1单字元读写31911.5.2字元串读写32211.5.3格式化读写32311.5.4数据块读写32511.6档案定位函式32811.7档案状态跟蹤33011.8其他档案操作函式33211.9案例334练习题338第12章程式设计思想及範例 34012.1概述34012.2求和/求积问题34012.2.1多项式求和34112.2.2数列求和34212.3遍历问题34412.4叠代问题35012.4.1二分叠代法35012.4.2牛顿叠代法35212.5排序问题35412.5.1直接插入排序35512.5.2起泡排序35712.5.3选择排序35912.6查找问题36112.6.1顺序查找36112.6.2折半查找36212.7递归问题36412.8矩阵运算36712.8.1矩阵加/减运算36712.8.2矩阵乘法36812.8.3矩阵转置370练习题371第13章面向对象与C++基础37313.1概述37313.1.1结构化程式设计37313.1.2模组封装与访问控制37413.2面向对象程式设计37613.3类与对象37613.3.1类37613.3.2对象37813.3.3类在C++中的实现37813.3.4成员变数38413.3.5成员函式38613.3.6构造函式和析构函式39013.3.7函式重载39213.3.8运算符重载39413.3.9静态成员变数39613.3.10静态成员函式39813.4继承与多态40013.4.1类继承40013.4.2多态性与虚函式40313.5案例407练习题408第14章高性能计算与并行程式设计40914.1概述40914.2并行算法40914.2.1并行问题40914.2.2并行算法设计41014.3并行程式设计实现41114.3.1并行程式设计模型41114.3.2进程41214.3.3创建进程41214.3.4讯息传递41314.4MPI程式设计基础41614.4.1MPI简介41614.4.2简单MPI程式设计41714.4.3MPI初始化与关闭41714.4.4MPI函式馆41914.4.5MPI讯息传递42014.5多核CPU与多执行绪42814.5.1多核CPU42814.5.2执行绪43014.6OpenMP与多核程式设计43114.6.1OpenMP简介43114.6.2OpenMP并行程式结构43114.6.3parallel节43314.6.4for节43414.6.5其他节43514.6.6共享变数与信息传递43614.7多执行绪技术43714.7.1执行绪函式馆简介43714.7.2Win32执行绪函式馆43714.7.3C11标準执行绪函式馆444练习题451第15章个体软体过程管理45315.1概述45315.2编码规範定义45415.3MPI编码规範45415.3.1标识符命名规範45515.3.2函式或过程规範45515.4ANSI C程式编码规範45615.4.1代码结构与组织45615.4.2注释45815.4.3标识符命名规範46015.4.4代码风格与排版46115.5代码重用技术46215.5.1源程式档案46315.5.2静态库46315.5.3动态程式库46515.5.4组件技术46715.6软体生命周期模型简介46815.7CMM简介47015.8PSP简介47015.9PSP0级47115.9.1计画过程管理47215.9.2开发过程管理47215.9.3总结过程管理47315.9.4PSP0过程管理文档47415.9.5PSP0.1级47515.10软体开发计画47715.10.1软体开发计画基本内容47715.10.2制定个体软体开发计画47815.10.3PSP软体开发计画过程管理47915.11PSP1级47915.11.1规模计算48015.11.2任务计画48015.11.3进度计画48115.12PSP2级48115.12.1代码评审48215.12.2设计评审48315.12.3缺陷预防48315.12.4PSP2级的改进483练习题483附录AASCII码錶485附录B运算符和结合方向486参考文献488