本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
商品基本信息 | |
商品名称: | 从问题到程序——程序设计与C语言引论 等2版 |
作者: | 裘宗燕 |
市场价: | 39.00 |
ISBN号: | 9787111337157 |
版次: | 2-7 |
出版日期: | 2011-05 |
页数: | 335 |
字数: | 564 |
出版社: | 机械工业出版社 |
内容简介 | |
本书以C作为工具语言,讨论了基本程序设计的各方面内容,详细解释了与C语言和程序设计有关的问题。在新版修订中,特别加强了针对近年日益受到业界和学术界广泛重视的问题的讨论,并通过详细地分析和讨论大量符合C99标准的实例,给出了分析和分解问题、找出解决问题的主要步骤、确定函数抽象、找出循环、选择语言结构直到后做出所需程序的完整过程。 本书适合作为高等院校计算机及相关专业*一门程序设计课程的教材,也可供其他学习C程序设计的读者自学使用。 |
目录 | |
前言 本书中的编程实例和模式 *1章 程序设计和C语言1 1.1 程序和程序语言1 1.2 C语言简介6 1.3 一个简单的C程序8 1.4 程序开发过程10 1.5 问题与程序设计14 本章讨论的重要概念15 练习15 *2章 数据与简单计算程序16 2.1 基本字符、标识符和关键字16 2.2 数据、类型和简单程序17 2.2.1 几个常用类型18 2.2.2 函数printf和简单 文本输出程序19 2.3 运算符、表达式和计算22 2.3.1 算术运算符和算术表达式22 2.3.2 表达式的求值23 2.3.3 计算和类型24 2.4 数学函数和简单计算程序26 2.4.1 函数、函数调用26 2.4.2 数学函数及其使用27 2.4.3 函数调用中的类型转换28 语言细节和问题29 C语言的字符集29 基本数据类型的一些问题29 数据形式的转换和输出31 运算对象的求值顺序32 几个常用程序模式32 本章讨论的重要概念32 练习33 第3章 变量、函数和流程控制34 3.1 复合结构和顺序程序34 3.2 变量的概念和使用35 3.2.1 变量的定义35 3.2.2 变量的使用36 3.2.3 注释和简单顺序程序38 3.3 定义函数(初步)38 3.3.1 函数定义39 3.3.2 函数与程序42 3.3.3 函数与类型43 3.3.4 自定义输出函数44 3.4 关系表达式、条件表达式、逻辑表达式44 3.4.1 关系表达式和条件表达式44 3.4.2 逻辑表达式46 3.5 语句与控制结构47 3.5.1 条件语句:if语句48 3.5.2 循环语句:while语句50 3.5.3 循环语句:for语句52 3.6 若干C语言结构54 3.6.1 增量和减量运算符(++、--)54 3.6.2 逗号运算符55 3.6.3 实现二元运算符操作的赋值运算符55 3.6.4 空语句55 3.6.5 定义枚举常量56 3.7 输入和输出56 3.7.1 格式输入函数scanf57 3.7.2 字符输入和输出函数60 语言细节和问题61 变量的意义和实现61 赋值操作的一些问题61 条件表达式和条件语句62 表达式和求值63 输入和缓冲65 几个常用程序模式65 本章讨论的重要概念65 练习66 第4章 基本编程技术68 4.1 循环程序设计68 4.1.1 基本循环方式69 4.1.2 求一系列完全平方数69 4.1.3 判断素数(谓词函数)71 4.1.4 艰难旅程(浮点误差)71 4.1.5 求立方根(迭代和逼近)73 4.1.6 求sin函数值(通项计算)74 4.1.7 从循环中退出75 4.2 输入循环77 4.2.1 输入循环的基本技术77 4.2.2 字符输入80 4.2.3 检查输入83 4.2.4 一个简单计算器84 4.3 循环与递归85 4.3.1 阶乘和乘幂(循环,递归)85 4.3.2 Fibonacci序列(计算与时间)87 4.3.3 为计算过程计时88 4.3.4 Fibonacci序列的迭代计算(程序正确性与循环不变式)89 4.3.5 *大公约数91 4.3.6 河内塔(梵塔)问题93 4.4 程序调试和排错95 4.4.1 测试95 4.4.2 白箱测试95 4.4.3 黑箱测试96 4.4.4 排除程序里的错误98 语言细节和问题98 程序的逐步求精和控制结构嵌套99 循环中的几种变量99 与输入输出有关的几个问题100 输入与安全性100 几个常用程序模式101 本章讨论的重要概念102 练习102 第5章 C程序结构105 5.1 数值类型105 5.1.1 字符类型105 5.1.2 整数类型106 5.1.3 基本数据类型的选择107 5.2 几种控制语句107 5.2.1 do-while循环结构107 5.2.2 流程控制语句108 5.2.3 开关语句109 5.3 一些标准库函数110 5.3.1 字符分类函数111 5.3.2 随机数生成函数112 5.4 程序的函数分解113 5.4.1 函数分解113 5.4.2 对函数的两种观点114 5.4.3 函数定义与调用之间的配合118 5.4.4 函数原型119 5.4.5 求函数的根121 5.4.6 一个简单猜数游戏123 5.5 C程序结构与变量125 5.5.1 外部定义的变量125 5.5.2 作用域、存在期和变量类126 5.5.3 变量的其他问题130 5.6 预处理131 5.6.1 文件包含命令132 5.6.2 宏定义与宏替换132 5.6.3 条件编译命令135 5.6.4 定义常量135 5.6.5 单词计数问题136 5.7 字位运算符138 本章讨论的重要概念141 练习141 第6章 顺序数据组织:数组144 6.1 数组的定义和使用144 6.1.1 数组变量的定义和声明145 6.1.2 数组的使用145 6.1.3 数组的初始化147 6.1.4 数组程序实例147 6.1.5 定义数组的问题151 6.2 以数组为参数的函数151 6.2.1 一个例子152 6.2.2 修改实参数组的元素153 6.3 二维和多维数组153 6.3.1 多维数组的初始化154 6.3.2 多维数组的使用154 6.3.3 多维数组作为函数的参数155 6.4 字符数组与字符串156 6.4.1 字符数组156 6.4.2 字符串156 6.4.3 程序实例157 6.4.4 标准库字符串处理函数159 6.4.5 输出文本里的*长行160 6.5 编程实例162 6.5.1 成绩直方图162 6.5.2 一个通用的带检查的整数输入函数165 6.5.3 “计算”数组变量的大小166 6.5.4 数组的划分167 6.5.5 数组的排序169 6.5.6 统计C程序里的关键字170 语言细节和问题172 数组的存储实现172 越界访问的可能后果173 多维数组的实现173 函数参数与sizeof运算符173 字符串的字典序174 几个常用程序模式174 本章讨论的重要概念174 练习174 第7章 指针的应用176 7.1 指针的定义和使用176 7.1.1 指针的定义177 7.1.2 指针操作177 7.1.3 指针作为函数参数178 7.1.4 有关指针的几个问题180 7.2 指针与数组181 7.2.1 指向数组元素的指针181 7.2.2 基于指针运算的数组程序设计183 7.2.3 数组参数与指针184 7.2.4 指针与数组操作的程序实例184 7.2.5 字符指针与字符数组187 7.2.6 多维数组作为参数的通用函数188 7.3 指针数组189 7.3.1 字符指针数组190 7.3.2 指针数组与二维数组190 7.3.3 命令行参数及其处理191 7.4 动态存储管理193 7.4.1 C语言的动态存储管理机制194 7.4.2 两个程序实例196 7.4.3 函数、指针和动态存储199 7.4.4 定义类型200 7.5 指向函数的指针202 7.5.1 函数指针的定义和使用202 7.5.2 函数指针作为函数的参数203 语言细节和问题206 指针运算原理206 指针转换206 使用动态存储管理的要点和细节206 动态调整策略207 过时的函数指针形式207 复杂类型描述与解读208 几个常用程序模式209 本章讨论的重要概念209 练习209 第8章 文件和输入输 |