标题：高级语言程序设计（C语言描述）第2版
图书信息
作者：吕国英 李茹 王文剑 等 
图书详细信息：ISBN：9787302291381定价：43元印次：2-1装帧：平装印刷日期：2012-8-9
图书简介
本书系统地讲述了C程序设计语言的基本内容，同时以C语言为平台通过大量例题重点讲解程序设计的基本方法和技巧。书中C程序设计语言与程序设计方法两部分内容相对独立，注重程序设计实践，内容独特，通俗易懂，本书是学习程序设计的理想读物。　本书具有较强的完备性，有配套的《高级语言程序设计实验指导与习题集》，包括“上机指导”、习题及其解答、成套的自测题和“程序设计课程设计大纲”（为三学期制中的小学期提供）等内容。　本书适合作为计算机及理科各专业开设程序设计课程的教材，也是编程爱好者的参考书和考研者的备考读物。
图书前言
近年来，随着各类程序（软件）设计大赛的广泛开展，C语言程序设计教学中“重语言轻设计”的教学状况得到了有效改善。本教材一直致力于改善这种教学缺陷，始终强调设计的重要性，因而受到广大相关专业在校学生和程序设计爱好者的好评。为了进一步提高本教材的质量，第2版在延续原有风格和优点的基础上，对第1版进行了以下方面的改进和调整。　1．细化章节内容使结构更加合理　为了更好地贴近教学和未来应用的需求，教材由原来的7章增加到现在的9章。变动主要有：分解了程序设计语言基础的内容，加强了对基本原理和基本思想的讲解，将原来的第1章分解为C语言概述与数据类型和C语言的语句两章。其次，基于当前文字处理成为计算机科学的一个重要应用领域，因此对数据连续存储一章进行了分解，将字符串处理程序设计内容独立为现在的第6章。　2．与时俱进适应新的开发环境　早期C语言的开发环境主要是Turbo C，是DOS操作系统下的开发环境。但是在Windows时代，使用Turbo C编辑运行程序很不方便，现在多数使用Visual C++作为开发环境。因此教材对变量存储等相关内容就不同开发环境进行了讲解。　3．增加图表，讲解直观，便于理解　第2版对很多过程性的内容增加了图表解释，增强了可读性，使读者更容易理解，从而形成条理、结构性强的思维过程，可以提高读者的学习效率。　4．提供了配套的《高级语言程序设计实验指导与习题集》　教材配套的《高级语言程序设计实验指导与习题集》包括上机指导、习题及其答案成套的自测题和程序设计课程的设计大纲，既满足教师的全部教学工作的需要，又满足了学生巩固课堂知识和深入学习的需要。　除了以上改进，我们也对原书发现的错误或疏漏一一做了订正，提高了教材的质量。不妥和错误之处，敬请专家和读者继续提出宝贵意见。　第2版教材的编写者有吕国英、李茹、王文剑、王江、钱揖丽、杨红菊、门昌骞、徐乾，同时本教材的编写得到了山西大学教务处和山西大学计算机与信息技术学院的大力支持，清华大学出版社对教材的出版、发行工作付出了很多心血，在此一并致以衷心的感谢。　　吕国英　于山西大学　2012年6月
图书目录
第1章 C语言概述与数据类型 11.1 引言 11.1.1 程序设计语言及其分类 11.1.2 程序的执行 31.1.3 认识简单的C程序 41.2 C语言基本数据类型 51.2.1 计算机中数据存储基础 51.2.2 数据类型 61.2.3 数据类型的作用 61.2.4 数据表示——常量 91.2.5 数据表示——变量 111.2.6 数据运算——表达式 14习题1 17第2章 C语言的语句 202.1 C语句概述 202.2 顺序结构 212.2.1 格式输出语句 212.2.2 格式输入语句 242.2.3 赋值语句及相关运算符 262.2.4 顺序结构程序举例 302.3 条件的表示 312.3.1 算术表达式 312.3.2 关系表达式 312.3.3 逻辑表达式 322.3.4 短路求值 342.4 选择结构 342.4.1 单分支语句（if） 342.4.2 双分支语句（if-else） 352.4.3 多分支语句（if-else-if） 352.4.4 条件运算符 382.4.5 条件语句程序举例 392.4.6 开关语句（switch） 452.4.7 开关语句程序举例 472.5 循环结构 482.5.1 基本的循环语句 482.5.2 循环的嵌套 512.5.3 break和continue语句 522.5.4 三类常用循环方式 53习题2 54第3章 程序设计基础 623.1 引言 623.1.1 程序设计步骤 623.1.2 程序设计示例 643.1.3 程序的评价 653.2 递推法程序设计 663.2.1 顺推法——累加与累乘 663.2.2 顺推法其他应用 733.2.3 倒推法 773.2.4 迭代法 783.3 循环与选择程序设计 813.3.1 有选择的累加累乘 813.3.2 编写健壮的程序 833.3.3 最大最小问题 843.4 枚举程序设计 853.4.1 枚举法 853.4.2 数与数字 883.4.3 素数与因数 903.5 多重循环程序设计 933.5.1 二重循环基础应用 943.5.2 二维图表程序设计 95习题3 97第4章 模块化程序设计 1064.1 指针与指针变量 1064.1.1 引入 1064.1.2 指针变量定义和引用 1064.2 程序模块——函数 1094.2.1 模块的引入 1094.2.2 函数定义与声明 1104.2.3 函数的作用 1124.2.4 函数的调用 1144.2.5 函数间的信息交互 1184.2.6 多文件程序的实现 1224.2.7 进一步认识变量 1244.3 函数应用 1294.3.1 随机函数的应用 1294.3.2 模块化程序设计 1334.3.3 递归程序设计 1414.3.4 递归与循环的比较 1464.4 与函数相关的语言机制 1524.4.1 函数与指针 1524.4.2 宏 154习题4 158第5章 数值数据的连续存储与应用 1685.1 一维数组 1685.1.1 一维数组定义及引用 1685.1.2 一维数组基础应用 1715.1.3 数组与指针1 1755.2 一维数组应用 1805.2.1 排序与检索 1805.2.2 巧用下标 1855.2.3 构造循环体 1875.2.4 记录状态信息 1885.3 二维数组及其应用 1915.3.1 二维数组定义及引用 1915.3.2 二维数组应用 1945.3.3 数组与指针2 2005.3.4 趣味矩阵 205习题5 213第6章 字符串 2226.1 字符数组与字符串 2226.1.1 字符数组及字符串概述 2226.1.2 字符串插入、删除 2306.1.3 指针类型函数的应用 2356.2 字符串应用 2366.2.1 最基础的信息加密方法 2366.2.2 数值与字符串 2376.2.3 单词统计 2406.2.4 字符串排序 2416.2.5 字符串检索 2426.3 数组与指针3 2446.3.1 指针与字符串 2446.3.2 主函数的参数 2496.3.3 动态存储 251习题6 258第7章 程序设计中的技巧 2667.1 数学知识提高程序效率 2667.1.1 杨辉三角形的应用 2667.1.2 最大公约数的应用 2677.1.3 最小公倍数的应用 2707.2 算术运算的作用 2717.2.1 减化或避免条件判断 2717.2.2 构造下标 2747.3 标志量的作用 2757.3.1 提高程序效率 2757.3.2 表示复杂情况 2767.4 信息数字化 2807.4.1 逻辑类问题 2817.4.2 智巧类问题 2837.5 高精度数据计算 2897.5.1 加、减法运算 2897.5.2 乘法运算 293习题7 295第8章 程序设计语言深入 2978.1 结构体 2978.1.1 结构体及其定义 2978.1.2 结构体的引用 3008.1.3 结构体与指针 3028.1.4 结构体与数组 3038.1.5 结构体与函数 3058.2 结构体应用 3078.2.1 结构体基础应用 3078.2.2 结构体数组应用 3098.2.3 结构体排序与信息检索 3138.3 共用体与枚举类型 3168.3.1 共用体 3168.3.2 枚举类型 3208.4 类型名定义 3228.5 位运算 3248.5.1 按位与运算 3248.5.2 按位或运算 3248.5.3 按位异或运算 3258.5.4 求反运算 3258.5.5 左移运算 3268.5.6 右移运算 3268.6 文件 3268.6.1 C语言文件概述 3268.6.2 文件的打开与关闭 3278.6.3 文件的读写 3308.6.4 文件定位 3338.6.5 文件其他相关函数 3348.6.6 文件应用 334习题8 338第9章 程序设计实践 3519.1 程序设计综合练习 3529.1.1 编程输入10个整数而后逆序输出它们 3529.1.2 求1!+2!+3!+4!+…+n! 3589.1.3 递增的牛群 3619.1.4 验证哥德巴赫猜想 3679.1.5 求三个数的最小公倍数 3719.1.6 猴子选大王 3759.2 程序测试与调试 3799.2.1 常见的语法错误 3809.2.2 常见的“伪”语法错误 3819.2.3 常见的逻辑类错误 3859.2.4 测试与调试 389附录A C语言要素 391附录B 编译预处理 397附录C 常用标准库函数 399附录D ASCII码字符表 425参考文献 426[1]