程序设计基础(C语言)(第2版) / 高等学校计算机基础教育规划教材
¥44.50定价
作者: 高克宁、李金双等
出版时间:2014年9月
出版社:清华大学出版社
- 清华大学出版社
- 9787302325536
- 2-4
- 141487
- 16开
- 2014年9月
- 工学
- 软件工程
- TP312
- 计算机
- 本专科、高职高专
内容简介
本教材结合作者多年的教学和软件开发经验,以C语言为依托,重点介绍程序设计的基本方法和技术,以程序设计思想、程序设计语言、程序设计技术和软件工程管理四条主线组织相关内容,并以两个实例的逐步完善讲解贯穿全书,有利于读者全面、系统地了解程序设计的基本技术。
本书结构清晰,语言通俗易懂,内容由浅入深,循序渐进,实例丰富,习题具有代表性。全书贯彻传授知识、培养能力、提高素质的教学理念。另外,针对书中各章内容和上机实验,本书还配有辅导教材《程序设计基础(C语言)实验指导与测试》,引导读者学习和掌握各章节的知识。教学网站http://cxsj.neu.edu.cn提供相关的电子课件、程序源代码等扩展内容。
本书适合作为高等院校理工科学生教材,也可作为计算机培训教材。
目录
第1章 计算机及程序设计概述1.1概述1.2计算机基本原理1.3指令与程序1.3.1指令1.3.2程序1.3.3软件1.4计算机应用简介1.5程序设计语言1.5.1机器语言1.5.2汇编语言1.5.3高级语言1.6问题求解与算法设计1.6.1问题求解1.6.2算法定义1.6.3算法设计1.6.4算法的复杂性1.6.5伪代码1.6.6流程图1.6.7N?S图1.6.8统一建模语言1.7程序设计思想1.7.1程序设计基本步骤1.7.2结构化程序设计1.7.3面向对象程序设计1.7.4并行程序设计1.7.5程序设计思想前沿1.8C语言概述1.8.1C语言的特点1.8.2简单的C程序设计1.8.3C语言程序结构1.8.4C程序的开发过程1.9案例1.9.1固体密度测量问题1.9.2超市收银系统练习题第2章 基本数据类型、常量及变量[1]〖3〗程序设计基础(C语言)(第2版)目录〖3〗[3]2.1概述2.2信息编码与存储2.2.1数值2.2.2字符2.3标识符2.3.1关键字2.3.2自定义标识符2.4数据类型2.4.1整型2.4.2实型2.4.3字符型2.5常量2.5.1整型常量2.5.2实型常量2.5.3字符常量2.5.4字符串常量2.5.5符号常量2.6变量2.6.1变量声明2.6.2变量初始化2.6.3变量赋值2.6.4const修饰符2.7数据溢出与计算精度2.8其他语言的基本数据类型2.8.1C++语言的基本类型2.8.2Java语言的基本类型2.8.3C#语言的基本类型2.9数据类型与程序移植2.10案例2.10.1固体密度测量问题2.10.2超市收银系统练习题第3章 运算符与表达式3.1概述3.2算术运算符与算术表达式3.3关系运算符与关系表达式3.4逻辑运算符与逻辑表达式3.5赋值运算符与赋值表达式3.6++/--运算符与自增/自减表达式3.7条件运算符与条件表达式3.8逗号运算符与逗号表达式3.9sizeof运算符3.10类型转换3.10.1隐式转换3.10.2显式转换*3.11位运算符和位运算3.11.1位逻辑运算3.11.2移位运算3.11.3复合位运算及补位原则3.12表达式运算3.13其他语言中的运算符与表达式3.14案例3.14.1固体密度测量问题3.14.2超市收银系统练习题第4章 输入输出4.1概述4.2printf函数4.2.1printf函数的调用格式4.2.2printf函数的格式控制字符串4.3scanf函数4.3.1scanf函数的调用格式4.3.2scanf函数的格式控制字符串4.4字符输入与输出4.5图形输出4.5.1图形处理函数4.5.2图形界面接口4.6案例4.6.1固体密度测量问题4.6.2超市收银系统练习题第5章 程序控制结构5.1概述5.2基本语句5.2.1表达式语句5.2.2函数调用语句5.2.3空语句5.2.4复合语句5.2.5顺序结构应用5.3选择控制语句5.3.1if语句5.3.2if else语句5.3.3if…else if语句5.3.4switch语句5.3.5分支结构应用5.4循环控制语句5.4.1while语句5.4.2for语句5.4.3do while语句5.4.4循环的本质5.4.5几种循环语句的比较5.4.6循环结构应用5.5其他控制语句5.5.1goto语句5.5.2break语句5.5.3continue语句5.5.4goto、break、continue语句的区别5.6语句嵌套5.6.1条件分支嵌套结构5.6.2循环嵌套结构5.7案例5.7.1固体密度测量问题5.7.2超市收银系统练习题第6章 数组6.1概述6.2一维数组6.2.1一维数组定义6.2.2一维数组初始化6.2.3一维数组引用6.2.4一维数组应用6.3二维数组6.3.1二维数组定义6.3.2二维数组初始化6.3.3二维数组引用6.3.4二维数组应用6.4高维数组6.5字符数组与字符串6.5.1字符数组6.5.2字符串6.5.3字符串输入输出6.5.4常用字符串处理函数6.5.5字符数组与字符串应用6.6数组与数据存储6.6.1一维数组的存储6.6.2二维数组的存储6.6.3高维数组的存储6.6.4字符串的存储6.7案例6.7.1固体密度测量问题6.7.2超市收银系统练习题第7章 函数7.1概述7.2函数定义7.2.1函数返回值7.2.2函数定义的通用格式7.2.3无返回值函数7.2.4有返回值的函数7.3函数声明7.3.1库函数声明7.3.2用户自定义函数声明7.4参数传递7.4.1形式参数与实际参数7.4.2值拷贝传递机制7.4.3地址拷贝传递机制7.4.4数组作为函数参数7.5函数调用7.5.1函数调用的一般形式7.5.2函数调用的方式7.6函数的嵌套调用与递归调用7.6.1嵌套调用7.6.2递归调用7.7变量的作用域和存储类型7.7.1局部变量与全局变量7.7.2变量的存储类型7.7.3变量的生存期与作用域7.8内部函数与外部函数7.9程序结构7.9.1单文件单函数结构7.9.2单文件多函数结构7.9.3多文件多函数结构7.10案例7.10.1固体密度测量问题7.10.2超市收银系统练习题第8章 指针8.1概述8.2指针和指针变量8.2.1指针变量声明8.2.2指针变量的赋值及初始化8.2.3指针变量的引用8.3指针运算8.3.1指针运算符8.3.2算术运算8.3.3关系运算8.3.4指针类型转换8.4数组和指针8.4.1用指针访问数组元素8.4.2指向多维数组的指针8.5字符串和指针8.5.1指针处理字符串8.5.2使用字符指针变量与字符数组的区别8.6函数和指针8.6.1指针作为函数参数8.6.2指针作为函数的返回值8.6.3指向函数的指针8.7指针数组8.7.1指针数组定义8.7.2带参数的main函数8.8数组指针8.9指向指针的指针8.10内存管理8.10.1内存管理函数8.10.2动态内存分配应用8.11案例8.11.1固体密度测量问题8.11.2超市收银系统练习题第9章 结构体、共用体与枚举类型9.1概述9.2结构体类型9.2.1结构体定义9.2.2结构体变量的声明和初始化9.2.3结构体变量的引用9.2.4结构体变量作为函数参数和函数返回值9.2.5结构体数组9.2.6结构体类型指针9.3共用体9.3.1共用体的定义9.3.2共用体变量的声明9.3.3共用体变量的赋值和引用9.4枚举类型9.5类型重定义9.6再议数据类型与存储9.7链表9.7.1链表定义9.7.2链表基本操作9.8案例9.8.1固体密度测量问题9.8.2超市收银系统练习题第10章 预编译和宏定义10.1概述10.2#define命令10.2.1不带参数的宏定义10.2.2带参数的宏定义10.3#include命令10.4条件编译10.4.1#ifdef…#else…#endif10.4.2#ifndef…#else…#endif10.4.3#if…#else…#endif10.5其他指令10.6预定义宏10.7案例10.7.1固体密度测量问题10.7.2超市收银系统练习题第11章 文件11.1概述11.2文本文件与二进制文件11.2.1文本文件11.2.2二进制文件11.3文件定义11.4文件打开与关闭11.4.1文件打开11.4.2文件关闭11.5文件读写11.5.1单字符读写11.5.2字符串读写11.5.3格式化读写11.5.4数据块读写11.6文件定位函数11.6.1fseek函数11.6.2rewind11.6.3ftell11.7文件状态跟踪11.7.1feof函数11.7.2ferror函数11.7.3clearerr11.8案例11.8.1固体密度测量问题11.8.2超市收银系统练习题第12章 程序设计思想及范例12.1概述12.2求和/求积问题12.2.1多项式计算12.2.2数列求和12.3遍历问题12.4迭代问题12.4.1二分法12.4.2牛顿迭代法12.5排序问题12.5.1直接插入排序12.5.2起泡法排序12.5.3选择排序12.6查找问题12.6.1顺序查找12.6.2折半查找12.7递归问题?汉诺塔12.8字符串处理12.8.1字符串长度计算12.8.2字符串拷贝12.8.3字符串连接12.9矩阵运算12.9.1矩阵加减运算12.9.2矩阵乘法12.9.3矩阵转置12.9.4高斯消去法求解线性方程组12.10栈操作练习题第13章 面向对象程序设计13.1概述13.1.1模块化设计13.1.2代码封装13.2面向对象程序设计13.3类与对象13.3.1类13.3.2对象13.3.3类在C++中的实现13.4面向对象的语言实现13.4.1类的继承13.4.2属性13.4.3方法13.4.4虚函数13.5面向对象的问题与UML建模13.5.1静态建模?用例13.5.2静态建模?类和对象13.5.3动态建模?活动图13.5.4动态建模?顺序图第14章 并行程序设计与MPI14.1概述14.2并行算法14.2.1并行问题14.2.2并行算法设计14.3并行程序设计14.3.1并行程序设计模型14.3.2进程14.3.3创建进程14.3.4消息传递14.4MPI程序设计基础14.4.1MPI简介14.4.2简单MPI程序设计14.4.3MPI函数库14.5MPI初始化与关闭14.5.1初始化MPI环境14.5.2关闭MPI环境14.6MPI消息传递14.6.1获取进程标识14.6.2获取通信域内的进程数量14.6.3消息发送14.6.4消息接收第15章 个体软件开发过程管理15.1概述15.2编码规范定义15.3MPI编码规范15.3.1标识符命名规范15.3.2函数或过程规范15.4ANSI C程序编码规范15.4.1代码结构与组织15.4.2注释15.4.3标识符命名规范15.4.4代码风格与排版15.5代码重用技术15.5.1源程序文件15.5.2静态库15.5.3动态链接库15.5.4组件技术15.6软件生命周期模型15.7CMM简介15.8PSP简介15.9PSP0级15.9.1计划过程管理15.9.2开发过程管理15.9.3总结过程管理15.9.4PSP0过程文档15.9.5PSP0.1级15.10软件开发计划15.10.1软件开发计划基本内容15.10.2制定个体软件开发计划15.10.3PSP软件开发计划过程15.11PSP1级15.11.1规模估算15.11.2任务计划15.11.3进度计划15.12PSP2级15.12.1代码评审15.12.2设计评审15.12.3缺陷预防15.12.4PSP2改进附录AC语言中的关键字附录BASCII码表附录C运算符和结合方向参考文献