C语言程序设计教程、实验与练习
2006-6
第2版 (2006年6月1日)
杨开城
395
无
本书结合了大量的应用实例和图表,全面深入地介绍了有关C语言编程的基础知识,包括C语言程序的基本构成,C语言的基本数据类型和构造数据类型(数组、指针、结构体、共用体、位域和枚举)的使用方法,各种运算符的用法,程序控制语句的用法,预处理命令的用法,常见标准库函数(格式化输入输出、屏幕定位彩色输出、键盘读取、字符串操作、文件操作、内存分配与释放等)的用法。 为了培养读者的学习兴趣,在每章的实验指导部分,针对该章节讲述的内容,设计了一些有趣的游戏类或界面类实验题目。在每章内,还提供了丰富的经过精心设计的练习,并在章末给出了答案。 本书适合计算机专业的学生使用,也可以作为非计算机专业学生以及C语言自学者的参考书。
第1章 C语言程序设计基础 11.1 计算机的工作原理简介 21.2 C语言的发展历史及其基本特性 31.3 C程序的基本结构 41.4 编制C语言程序的基本步骤 81.5 计算机内部数值的表示及运算 91.5.1 二进制、八进制和十六进制的概念 91.5.2 二进制数的算术运算 101.5.3 二进制、八进制、十六进制和十进制数之间的转换 111.5.4 二进制数的位运算 131.5.5 计算机中的数据单位 13◆练习 141.6 实验指导 151.6.1 Borland C++3.1的安装 151.6.2 Borland C++3.1编辑器的使用 161.7 练习答案 21第2章 基本数据类型、运算符和表达式 232.1 C语言的基本数据类型 252.1.1 常量与变量 252.1.2 整型数据 252.1.3 实型数据 302.1.4 字符型数据和字符串常量 322.1.5 数据的简单输出 34◆练习2-1 362.2 C语言的运算符和表达式 382.2.1 赋值运算符和赋值表达式 382.2.2 强制类型转换符 392.2.3 算术运算符、算术表达式 412.2.4 自增自减运算符和负号运算符 432.2.5 算术运算中的数据类型转换规则 442.2.6 位运算符、位运算表达式 452.2.7 逗号运算符和逗号表达式 462.2.8 sizeof运算符和复合赋值运算符 462.3 运算符的优先级和结合性 472.4 小结及常见错误列举 48◆练习2-2 532.5 实验指导 542.5.1 完整的编程操作 542.5.2 修改错误程序 562.6 练习答案 58◆练习2-1答案 58◆练习2-2答案 58第3章 基本输入输出和顺序程序设计 593.1 C程序中的数据输出 603.1.1 整数的输出 613.1.2 实数的输出 643.1.3 字符和字符串的输出 653.1.4 格式化输出小结 673.1.5 屏幕定位及彩色输出 68◆练习3-1 743.2 C程序中的数据输入 763.2.1 数据的格式化输入 763.2.2 字符数据的非格式化输入 803.3 顺序程序设计举例 833.4 小结及常见错误列举 85◆练习3-2 883.5 实验指导 893.5.1 学会调试程序 893.5.2 程序改错 913.5.3 编程实验 913.6 练习答案 92◆练习3-1答案 92◆练习3-2答案 93第4章 程序控制 954.1 3种程序控制结构 964.2 C语句小结 974.3 关系运算符、逻辑运算符和条件运算符 994.3.1 关系运算符和关系表达式 994.3.2 逻辑运算符和逻辑表达式 1004.3.3 条件运算符和条件表达式 101◆练习4-1 1034.4 选择结构的程序设计 1054.4.1 if语句 1054.4.2 switch语句 111◆练习4-2 1164.5 循环结构的程序设计 1204.5.1 while语句 1204.5.2 do-while语句 1244.5.3 for语句 125◆练习4-3 1284.6 混合控制结构的程序设计 1304.7 小结及常见错误列举 136◆练习4-4 1414.8 实验指导 1434.8.1 修改程序 1434.8.2 编写程序 1444.9 练习答案 149◆练习4-1答案 149◆练习4-2答案 149◆练习4-3答案 150◆练习4-4答案 150第5章 数组 1535.1 一维数组的定义与引用 154◆练习5-1 1615.2 二维数组的定义与引用 164◆练习5-2 1675.3 字符串与数组 1705.3.1 字符串的本质 1705.3.2 字符及字符串操作 1715.3.3 字符串数组 176◆练习5-3 1795.4 小结及常见错误列举 1825.5 实验指导 1855.5.1 修改程序 1855.5.2 新编程序 1865.6 练习答案 193◆练习5-1答案 193◆练习5-2答案 193◆练习5-3答案 194第6章 函数 1996.1 函数的定义和调用 2006.1.1 不带参数没有返回值的函数 2006.1.2 不带参数有返回值的函数 2026.1.3 带参数没有返回值的函数 2046.1.4 带参数有返回值的函数 206◆练习6-1 2086.2 变量的作用域和存储类别 2126.3 函数的嵌套调用和递归调用 2196.4 函数的作用域 224◆练习6-2 2256.5 利用工程管理多个源程序文件 2276.6 小结及常见错误列举 2306.7 实验指导 2346.7.1 图形输出 2346.7.2 编制程序 2386.8 练习答案 242◆练习6-1答案 242◆练习6-2答案 243第7章 指针 2517.1 指针变量的定义与引用 2527.2 指针的运算 255◆练习7-1 2567.3 指针与数组 2567.4 指针与字符串 2617.5 指针与内存的动态分配 266◆练习7-2 2717.6 指针与数组作为函数的参数 2757.7 带参数的main函数 2817.8 指针作为函数的返回值 2837.9 函数指针的定义与引用 284◆练习7-3 2877.10 小结及常见错误列举 2927.11 实验指导 2967.12 练习答案 299◆练习7-1答案 299◆练习7-2答案 300◆练习7-3答案 300第8章 预处理命令 3078.1 预处理命令简介 3088.2 宏定义 3088.2.1 不带参数的宏定义 3088.2.2 带参数的宏定义 3108.3 文件包含 3128.4 条件编译 313◆练习 3168.5 练习答案 317◆练习答案 317第9章 复杂数据类型 3199.1 复杂数据类型概述 3209.2 结构体 3209.2.1 结构体类型的定义 3209.2.2 结构体变量的定义和引用 3219.2.3 简化结构体类型名 3259.2.4 结构体数组 326◆练习9-1 3289.3 线性链表 3329.4 共用体 3369.4.1 共用体类型的定义 3369.4.2 共用体变量的定义和引用 3379.5 位域 3399.6 枚举类型变量的定义和引用 3429.7 复杂数据类型作为函数参数和返回值 343◆练习9-2 3459.8 小结及常见错误列举 3479.9 实验指导 3499.10 练习答案 352◆练习9-1答案 352◆练习9-2答案 353第10章 文件操作 36310.1 文件操作概述 36410.2 文件指针 36410.3 文件的打开、读写和关闭 36510.3.1 文件的打开与关闭 36510.3.2 文件的读写 36610.4 文件的定位读写 37410.5 小结及常见错误列举 37610.6 实验指导 377附录一 常见库函数(按函数类别排序) 379附录二 C语言中常用的专业术语对译 385附录三 C语言中的关键字(保留字) 391附录四 运算符和结合性 393附录五 ASCII码表 395
无