C语言程序设计
2005-4
人民邮电
黄锐军
全书共分12章。主要内容包括:C语言基础知识,顺序结构程序的设计,分支程序的设计,各种循环结构程序的设计,数组,函数的设计,指针,编译预处理的概念与应用,结构,C++的基础知识,文件的操作。最后一章介绍了几个综合应用程序。 本书力求通过大量的例子来讲解C语言的语法结构,读者可以通过阅读这些例子并编写类似的程序,锻炼编程的能力。全书的例子都是基于Visual C++6.0的平台上编写的,并且全部调试通过。 本书为高职高专的教材,也可以作为学习程序设计的入门参考书。
第 1 章 基础知识 11.1 简单C语言程序的构成和格式 11.1.1 第一个程序 11.1.2 注释语句 11.1.3 C语言程序的结构 21.1.4 C语言程序上机步骤 31.2 常量与变量 41.2.1 常量、变量的引入 41.2.2 常量 51.2.3 变量 51.2.4 变量的初始化 61.3 整数类型 61.3.1 整数常数与变量 61.3.2 整数的补码表示 61.3.3 各种整数类型 71.3.4 整数的输入输出 91.4 字符类型 111.4.1 字符的ASCII码表示 111.4.2 字符常数与变量 111.4.3 字符的输入输出 121.4.4 字符与整数 131.5 实数类型 131.5.1 实数常数与变量 131.5.2 实数的输入输出 141.6 字符串类型 151.6.1 字符串常数与变量 151.6.2 字符串在内存中的表示 161.6.3 字符串的输入输出 171.7 算术运算符与表达式 181.7.1 算术运算符与表达式 181.7.2 自加、自减运算 181.7.3 各种数据类型的混合运算 191.7.4 复合赋值运算 211.8 综合实例 21习题 23第 2 章 顺序结构程序设计 262.1 常用内部函数 262.1.1 常用数学函数 262.1.2 文件包含与函数调用 272.1.3 随机函数 282.2 字符输入输出函数 302.2.1 字符输入函数getchar 302.2.2 字符输出函数putchar 302.3 格式输入输出函数 312.4 综合实例 33习题 36第 3 章 分支结构程序设计 393.1 关系运算和逻辑运算 393.1.1 关系运算符和关系表达式 393.1.2 逻辑运算符和逻辑表达式 403.2 简单if语句 413.2.1 简单if条件语句 413.2.2 简单if条件语句的应用 413.3 二分支if语句 433.3.1 二分支if条件语句 433.3.2 二分支if条件语句的应用 433.3.3 分支语句的嵌套 453.4 多分支if语句 463.4.1 多分支if语句 463.4.2 多分支if语句的应用 473.5 条件表达式 493.5.1 条件表达式 493.5.2 条件表达式的应用 493.6 switch多分支程序结构 503.6.1 switch多分支程序结构语句 503.6.2 switch多分支程序结构语句的应用 513.7 综合实例 54习题 57第 4 章 循环结构程序设计 604.1 do循环结构 604.1.1 循环语句的引入 604.1.2 do循环语句 614.1.3 do循环的应用 624.2 while循环结构 644.2.1 while循环语句 644.2.2 while循环的应用 644.3 for循环结构 664.3.1 for循环语句 664.3.2 for循环的应用 674.3.3 几种循环的比较 694.4 循环结构的嵌套与退出 694.4.1 循环结构的嵌套 694.4.2 多循环的规则 704.4.3 循环的退出 724.5 综合实例 74习题 78第 5 章 数组 805.1 一维数组 805.1.1 一维数组的引入 805.1.2 一维数组的定义 815.1.3 一维数组的应用 825.1.4 数组应用要素 855.2 一维字符数组 865.2.1 一维字符数组 865.2.2 一维字符数组与字符串 865.2.3 字符串的输入与输出 875.3 字符串处理函数 885.3.1 字符串输入输出函数 885.3.2 常用字符串函数 895.3.3 字符串函数应用 935.4 数组排序与查找 955.4.1 数组排序 955.4.2 数组查找 965.5 二维数组 985.5.1 二维数组的定义 985.5.2 二维数组的应用 995.6 综合实例 101习题 105第 6 章 函数 1076.1 函数定义 1076.2 函数参数与返回值 1096.2.1 函数参数 1096.2.2 函数返回值 1106.2.3 设有返回值的函数 1106.2.4 函数调用 1116.2.5 函数应用 1126.3 变量类型 1146.3.1 局部变量 1146.3.2 全局变量 1156.3.3 静态变量 1186.3.4 变量的初始值 1196.4 函数调用 1196.4.1 嵌套调用 1196.4.2 递归调用 1206.5 综合实例 122习题 126第 7 章 指针 1297.1 指针概述 1297.1.1 指针的引入 1297.1.2 变量的指针与指针变量 1307.2 指针与函数参数 1327.2.1 指针作为函数参数 1327.2.2 值传递与地址传递 1347.3 指针与数组 1367.3.1 指向数组的指针 1367.3.2 通过数组指针访问数组 1377.3.3 指针移动与指针比较 1387.4 数组与函数参数 1407.4.1 数组作为函数参数 1407.4.2 数组元素作为实际参数 1427.5 字符串与指针 1427.5.1 字符串指针 1427.5.2 字符串指针作为函数参数 1437.5.3 字符串函数 1447.6 指针与二维数组 1477.6.1 指针数组与二维数组 1477.6.2 二维数组作为函数参数 1487.6.3 字符串数组 1497.7 动态数组 1517.7.1 动态内存分配 1517.7.2 动态数组 1517.8 综合实例 152习题 157第 8 章 编译预处理 1638.1 宏定义 1638.1.1 不带参数的宏定义 1638.1.2 带参数的宏定义 1658.2 文件包含 1678.2.1 文件包含 1678.2.2 文件包含的应用 1688.3 条件编译 1698.4 综合实例 172习题 175第 9 章 结构 1789.1 结构概述 1789.1.1 结构的引入 1789.1.2 结构的定义 1799.2 结构变量与指针 1819.2.1 结构变量 1819.2.2 结构变量指针 1819.2.3 结构变量初始化 1829.2.4 结构与数组 1829.2.5 结构的嵌套 1829.3 结构与函数 1849.3.1 结构作为函数参数 1849.3.2 返回结构的函数 1859.3.3 用结构来封装数组 1869.4 结构与单链表 1889.4.1 包含结构指针的结构 1889.4.2 单链表的构造 1889.4.3 单链表的操作 1919.5 综合实例 193习题 198第 10 章 C++基础 20110.1 类与对象 20110.1.1 类与对象的引入 20110.1.2 类成员的访问 20210.2 this指针 20510.2.1 对象指针与this指针 20510.2.2 this指针的应用 20610.3 构造函数与析构函数 20710.3.1 构造函数 20710.3.2 多个构造函数的重载 20910.3.3 析构函数 21110.4 引用与复制构造函数 21210.4.1 引用 21210.4.2 复制构造函数 21510.5 动态内存分配 21710.5.1 单个变量的动态分配 21710.5.2 多个变量的动态分配 21910.6 类成员的访问规则 22110.7 对象的赋值 22310.7.1 对象的赋值 22310.7.2 包含字符串指针的类 22510.8 运算符重载 22810.8.1 运算符重载 22810.8.2 运算符重载的应用 22910.9 综合实例 233习题 239第 11 章 文件 24511.1 文本文件 24511.1.1 文件概述 24511.1.2 文本文件的打开与关闭 24611.1.3 读写文本文件 24611.2 二进制文件 24911.2.1 二进制文件概述 24911.2.2 二进制文件的打开与关闭 24911.2.3 读写二进制文件 25011.2.4 二进制文件的定位 25211.3 综合实例 254习题 259第 12 章 综合应用程序 26112.1 日历程序 26112.1.1 日历程序的C语言设计 26112.1.2 日历程序的另一种C语言设计 26412.2 统计单词程序 26912.3 迷宫程序 27512.3.1 迷宫及其路径 27512.3.2 栈结构及其运算 27512.3.3 迷宫程序的C语言设计 276附录 ASCII码表 280