第2版 程式设计案例教程


第2版 程式设计案例教程

文章插图
程式设计案例教程(第2版)【第2版 程式设计案例教程】《C程式设计案例教程》第二版是清华大学出版社于2015年出版的高等教育线上教学版计算机基础教材,作者是张莉
基本介绍书名:C程式设计案例教程(第2版)
作者:张莉
ISBN:9787302400363
页数:407
定价:44.5元
出版社:清华大学出版社
出版时间:2015-05-01
装帧:平装
印次:2-1
印刷日期:2015-4-23
主要内容本书作为精品教学建设立项教材,集多年各个时期教学改革立项实施方案及C语言教学资源建设之精华,结合现代程式设计理念,最佳化、提炼了相关知识要点 。全书共13章,通过套用案例全面解析C语言程式设计的知识要点、实现方法、基本原理以及C语言的语义、语法规範等,覆盖了相关知识内容与重点,主要包括电脑程式设计算法与实现、C语言程式的组成结构、编译运行、各种数据存储类型及相关运算、各类程式流程控制命令与控制结构、数组的定义与使用、函式定义与变数的作用、编译预处理与宏定义的使用方法、数据存储地址的操作与指针变数、构造类型与自定义类型的定义与使用、位运算操作与套用、档案系统管理与数据操作等 。本书可作为高等学校本科的计算机专业基础课教材,也可作为各学科专业公共基础课教材,还可以作为高校课程设计或软体研发人员实现程式算法的参考案例用书,并可供全国计算机等级考试和编程基础培训的案例分析教学、自学使用 。图书目录第1章电脑程式设计算法实现11.1程式设计概述11.1.1程式设计语言11.1.2程式设计过程31.2程式设计算法与实现41.3电脑程式算法的表示51.3.1自然语言描述61.3.2程式流程图描述61.3.3NS图描述71.3.4程式设计语言描述81.4程式算法实现案例分析121.5练习题15第2章C语言程式的组成与编译运行162.1C语言程式设计概述162.1.1C语言程式设计的发展162.1.2C语言程式设计的特点172.1.3C语言程式的组成结构192.2C语言程式的编译与运行212.2.1编辑调试与编译运行步骤212.2.2常用编译运行环境222.3C语言的语义规範342.3.1C语言程式的基本规範342.3.2C语言的标识符372.3.3C语言的保留关键字382.4练习题38第3章数据存储类型与相关运算393.1数据存储方式393.1.1数据存储与数制转换393.1.2数据存储类型与定义413.1.3存储地址与占用空间433.1.4数据常量分类453.1.5程式变数定义493.2数据存储方式与套用50C程式设计案例教程(第2版)目录3.2.1数据存储的正负数问题513.2.2数据变数取值範围523.2.3实型数据存储方式563.2.4字元型数据存储方式593.2.5各种存储类型混合运算613.3运算符与运算表达式623.3.1运算符优先权与强制类型转换633.3.2算术运算符与算术运算表达式653.3.3赋值运算符与赋值运算表达式683.3.4逗号运算符与逗号运算表达式713.3.5关係运算符与关係运算表达式723.3.6逻辑运算符与逻辑运算表达式743.3.7条件运算符与条件运算表达式763.4练习题78第4章顺序结构程式设计804.1C程式设计流程控制804.1.1基本流程控制804.1.2顺序结构流程控制814.2基本顺序结构命令语句834.2.1赋值语句834.2.2空语句834.2.3複合语句844.2.4无条件转向语句844.2.5函式调用语句854.2.6表达式语句864.3常用基本输入输出函式874.3.1字元类型输入函式874.3.2字元类型输出函式894.3.3格式化输入输出函式904.4练习题97第5章条件分支选择结构程式设计995.1条件分支选择结构995.1.1简单if分支选择结构995.1.2ifelse分支选择结构1015.1.3嵌套的ifelse选择结构1035.1.4else if多路分支选择结构1075.2switchcase条件选择语句1095.2.1switchcase条件选择结构1105.2.2switchcase条件选择语句的套用1125.3综合案例分析1165.4练习题121第6章循环控制结构程式设计1236.1循环控制结构1236.1.1循环控制结构组成要素1236.1.2while()循环控制结构1246.1.3dowhile()循环控制结构1316.1.4for()循环控制结构1346.2循环控制结构的嵌套1396.3循环控制结构的辅助控制命令1426.3.1无条件转移命令goto语句1426.3.2终止循环执行命令break语句1436.3.3返回循环条件命令continue1466.4几种循环控制结构的比较1486.5循环控制结构综合案例分析1486.6练习题154第7章数组的定义及套用1567.1数组的性质1567.2一维数组的定义与引用1587.2.1一维数组的定义1587.2.2一维数组元素的引用1597.2.3一维数组的初始化1607.2.4一维数组套用案例1617.3多维数组的定义与引用1677.3.1二维数组的定义与引用1677.3.2二维数组程式算法案例1727.3.3三维数组的定义与引用1767.3.4多维数组的套用1777.4字元数组与字元串操作1787.4.1字元数组的定义与初始化1787.4.2字元串的处理及套用1807.4.3常用的字元串处理函式1827.4.4字元数组套用案例1897.5练习题194第8章函式与变数1968.1C语言函式的分类与套用1968.1.1C语言函式分类1968.1.2系统标準库函式198 8.1.3自定义函式2008.2自定义函式与函式类型2038.3自定义函式参数与参数传递2048.3.1形式参数和实际参数2048.3.2数组作为函式参数2068.4自定义函式的调用2098.5函式的嵌套调用2108.6函式的递归调用2128.7函式变数的存储与作用域2168.7.1局部变数2168.7.2全局变数2188.8动态存储变数和静态存储变数2228.8.1程式变数的存储类型2228.8.2auto型变数2248.8.3extern型变数2258.8.4static型局部变数与全局变数2258.8.5register型变数2278.9全局函式和局部函式2278.9.1局部函式2288.9.2全局函式2288.10函式与变数综合案例分析2318.11练习题238第9章编译预处理2429.1编译预处理命令2429.2宏定义与宏代换2439.2.1不带参数的宏定义2449.2.2带参数的宏定义2459.2.3宏定义作用域的终止2499.3档案包含处理2519.4条件编译2539.5练习题257第10章地址与指针变数25910.1变数的记忆体地址与指针25910.1.1指针变数的定义26110.1.2指针变数的赋值26210.1.3指针变数运算符及运算26310.1.4指针变数作函式参数26610.2数组与地址指针26810.2.1指向数组的指针变数26810.2.2指向数组元素的指针变数26910.2.3数组名作函式参数27210.2.4指针变数作函式参数27410.2.5多维数组与指针变数27710.3字元串与指针变数28110.3.1字元串处理方法28110.3.2字元串指针作函式参数28510.4函式的指针及指向函式的指针变数28710.4.1函式指针变数的定义28810.4.2用函式指针调用函式28810.4.3用函式指针变数作函式参数28910.4.4返回指针值的指针函式29110.5指针数组与指向指针数组的指针变数29310.5.1指针数组29310.5.2指向指针的指针变数29610.6main()命令行参数传递29810.7指针变数综合案例30010.8练习题305第11章构造类型与自定义类型30811.1结构体类型与结构体变数30811.1.1结构体类型的定义30811.1.2结构体类型变数的定义及引用31011.2结构体数组的定义及引用31511.2.1结构体数组的定义及初始化31511.2.2结构体数组的引用31611.3指向结构体类型数据的指针31811.3.1指向结构体变数的指针318 11.3.2指向结构体数组的指针31911.3.3结构体类型作为函式参数32111.4鍊表结构及套用32511.4.1静态鍊表的创建及引用32611.4.2动态鍊表的创建及引用32711.4.3单向动态鍊表的创建及引用32911.4.4在单向动态鍊表中插入结点33411.4.5从单向动态鍊表中删除结点33911.5共用体类型与共用体变数34411.5.1共用体类型及共用体变数的定义34511.5.2共用体变数的引用34611.6枚举类型与枚举变数34911.6.1枚举类型的定义34911.6.2枚举类型变数34911.7自定义数据类型说明符35111.8练习题357第12章位运算操作35812.1位运算符及运算操作35812.1.1位运算及运算符35812.1.2按位与运算35912.1.3按位或运算36012.1.4按位异或运算36112.1.5按位取反运算36112.1.6按位左移运算36212.1.7按位右移运算36312.1.8複合赋值位运算36412.2位段定义及套用36412.2.1位段的定义36412.2.2位段的引用36612.3位运算操作套用案例36712.4练习题369第13章档案系统管理与操作37013.1档案的组成结构37013.1.1档案的概念与构成37013.1.2档案系统操作形式37213.2缓冲型档案的操作与使用37313.2.1缓冲型档案结构类型与档案指针37313.2.2缓冲型档案的标準库函式37413.3档案的打开与关闭37513.3.1档案打开函式与操作模式37513.3.2档案关闭函式的使用37913.4档案中数据的读写操作38013.4.1档案中字元数据的读写操作38013.4.2档案中字元串数据的读写操作38413.4.3档案中数值数据的读写操作38713.4.4档案中数据的格式化读写操作38913.5档案位置指针的定位39213.5.1档案指针的定位操作39213.5.2档案指针复位函式39213.5.3当前指针位置测试函式39313.5.4定位指针位置函式39413.6档案操作错误的检测39513.6.1档案读写操作检测函式39613.6.2档案错误状态清除函式39713.7其他缓冲型档案函式39813.7.1档案结束位置测试函式39813.7.2磁碟档案删除函式39913.8档案操作管理综合套用案例分析40113.9练习题404附录A常用字元与ASCII码对照表408 附录B运算符的优先权与结合性409参考文献4101.1程式设计概述11.1.1程式设计语言11.1.2程式设计过程31.2程式设计算法与实现41.3电脑程式算法的表示51.3.1自然语言描述61.3.2程式流程图描述61.3.3NS图描述71.3.4程式设计语言描述81.5程式算法实现案例分析121.6练习题15第2章C程式设计组成与编译运行162.1C语言程式设计概述162.1.1C语言程式设计的发展162.1.2C程式设计特点172.1.3C程式设计组成结构192.2C程式设计的编译与运行212.2.1编辑调试与编译运行步骤212.2.2常用编译运行环境222.3C语言程式设计语义规範342.3.1C语言程式的基本规範342.3.2C语言程式设计标识符372.3.3C语言的保留关键字382.4练习题38第3章数据存储类型与相关运算393.1数据存储方式393.1.1数据存储与数制转换393.1.2数据存储类型与定义413.1.3存储地址与占用空间443.1.4数据常量分类453.1.5程式变数定义493.2数据存储方式与套用513.2.1数据存储的正负数问题513.2.2数据变数取值範围523.2.3实型数据存储方式563.2.4字元型数据存储方式593.2.5各种存储类型混合运算623.3运算符与运算表达式633.3.1运算符优先权与数据类型转换633.3.2算术运算符与算术运算表达式653.3.3赋值运算符与赋值运算表达式693.3.4逗号运算符与逗号运算表达式713.3.5关係运算符与关係运算表达式733.3.6逻辑运算符与逻辑运算表达式743.3.7条件运算符与条件运算表达式763.4练习题78第4章顺序结构程式设计804.1C程式设计流程控制804.1.1基本流程控制804.1.2顺序结构流程控制814.2基本顺序结构命令语句834.2.1基本顺序命令834.2.2表达式语句864.3常用基本输入输出函式874.3.1字元类型输入函式874.3.2字元类型输出函式894.3.3格式化输入输出函式904.4练习题97第5章条件分支选择结构程式设计995.1条件分支选择结构995.1.1简单if分支选择结构995.1.2ifelse分支选择结构1015.1.3嵌套的ifelse选择结构1035.1.4elseif多路分支选择结构1075.2switchcase条件选择开关语句1095.2.1switchcase条件选择结构110 5.2.2switchcase条件选择语句1125.3综合案例分析1165.4练习题121第6章循环控制结构程式设计1236.1循环控制结构1236.1.1循环控制结构组成要素1236.1.2while()循环控制结构1246.1.3dowhile()循环控制结构1316.1.4for()循环控制结构1346.2循环控制结构的嵌套1396.3循环控制结构的辅助控制命令1426.3.1无条件转移命令goto语句1426.3.2终止循环执行命令break语句1436.3.3返回循环条件命令continue语句1466.4几种循环控制结构的比较1486.5循环控制结构综合案例分析1486.6练习题154第7章数组的定义及套用1567.1数组的性质1567.2一维数组的定义与引用1587.2.1一维数组的定义1587.2.2一维数组元素的引用1597.2.3一维数组的初始化1607.2.4一维数组套用案例1617.3多维数组的定义与套用1677.3.1二维数组的定义与引用1677.3.2二维数组程式算法案例1727.3.3三维数组的定义与套用1767.3.4多维数组的套用1777.4字元数组与字元串操作1787.4.1字元数组的定义与初始化1787.4.2字元串的处理及套用1807.4.3常用的字元串处理函式1827.4.4字元数组套用案例1897.5练习题194第8章函式与变数的作用1968.1C语言函式的分类与套用1968.1.1C语言函式分类1968.1.2系统标準库函式1988.1.3自定义函式2008.2自定义函式与函式类型2038.3自定义函式参数与参数传递2048.3.1形式参数和实际参数2048.3.2数组作为函式参数2068.4自定义函式的调用2098.5函式的嵌套调用2108.6函式的递归调用2128.7函式变数的存储与作用域2168.7.1局部变数2168.7.2全局变数2188.8动态存储变数和静态存储变数2228.8.1程式变数的存储类型2228.8.2auto型动态存储变数2248.8.3extern全程变数2258.8.4static静态局部变数与静态全局变数2258.8.5register型暂存器变数2278.9全局函式和局部函式2288.9.1static局部函式2288.9.2extern全局函式2288.10函式与变数综合案例分析2318.11练习题239第9章编译预处理2439.1编译预处理命令2439.2宏定义与宏代换2449.2.1不带参数的宏定义2459.2.2带参数的宏定义2469.2.3宏定义作用域的终止250 9.3档案包含处理2529.4条件编译2549.5练习题258第10章地址与指针变数26010.1变数的记忆体地址与指针26010.1.1指针变数的定义26210.1.2指针变数的赋值26310.1.3指针变数运算符及运算26410.1.4指针变数作函式参数26710.2数组与地址指针26910.2.1指向数组的指针变数27010.2.2指向数组元素的指针变数27010.2.3数组名作函式参数27310.2.4指针变数作函式参数27510.2.5多维数组与指针变数27810.3字元串与指针变数28210.3.1字元串处理方法28210.3.2字元串指针作函式参数28610.4函式的指针及指向函式的指针变数28810.4.1函式指针变数的定义28910.4.2用函式指针调用函式28910.4.3用函式指针变数作函式参数29010.4.4返回指针值的指针函式29210.5指针数组与指向指针数组的指针变数29410.5.1指针数组29410.5.2指向指针的指针变数29610.6main命令行参数传递29910.7指针变数综合案例30110.8练习题306第11章构造类型与自定义类型30911.1结构体类型与结构体变数30911.1.1结构体类型的定义30911.1.2结构体类型变数的定义与引用31111.2结构体数组的定义和引用31611.2.1结构体数组的定义与初始化31611.2.2结构体数组的引用31711.3指向结构体类型数据的指针31911.3.1指向结构体变数的指针31911.3.2指向结构体数组的指针32011.3.3结构体类型作为函式参数32211.4鍊表结构及套用32611.4.1静态鍊表的创建与引用32711.4.2动态鍊表的创建与引用32811.4.3单向动态鍊表的创建与引用33011.4.4在单向动态鍊表中插入结点33411.4.5从单向动态鍊表中删除结点33911.5共用体类型与共用体变数34511.5.1共用体类型及共用体变数的定义34511.5.2共用体变数的引用34711.6枚举类型与枚举变数34911.6.1枚举类型的定义35011.6.2枚举类型变数35011.7自定义数据类型说明符35211.8练习题357第12章位运算操作35912.1位运算符及运算操作35912.1.1位运算及运算符35912.1.2按位“与”运算36012.1.3按位“或”运算36112.1.4按位“异或”运算36212.1.5按位“取反”运算362 12.1.6按位“左移”运算36312.1.7按位“右移”运算36412.1.8複合赋值位运算36512.2位段定义及套用36512.2.1位段的定义36611.2.2位段的引用36712.3位运算操作套用案例36812.4练习题370第13章档案系统管理与操作37113.1档案的组成结构37113.1.1档案的概念与构成37113.1.2档案系统操作形式37313.2缓冲型档案的操作与使用37413.2.1缓冲型档案结构类型与档案指针37413.2.2缓冲型档案的标準库函式37513.3档案的打开与关闭37613.3.1档案打开函式与操作模式37613.3.2档案关闭函式的使用38013.4档案中数据的读写操作38113.4.1档案中字元数据的读写操作38213.4.2档案中字元串数据的读写操作38513.4.3档案中数值数据的读写操作38913.4.4档案中数据的格式化读写操作39113.5档案指针的定位39313.5.1档案指针的定位操作39313.5.2档案指针复位函式39313.5.3当前指针位置测试函式39413.5.4定位指针位置函式39513.6档案操作错误的检测39713.6.1档案读写操作检测函式39713.6.2档案错误状态清除函式39813.7其他缓冲型档案函式40013.7.1档案结束位置测试函式40013.7.2磁碟档案删除函式40113.8档案操作管理综合套用案例分析40213.9练习题406附录A常用字元与ASCII码对照表409附录B运算符的优先权与结合性410参考文献411