本书以通俗易懂的语言全面进述了C语言的基础知识和编程技巧,重点介绍了自顶向下的逻辑设计和模块化的结构化编程方法,并通过大量的示例向读者介绍了各种编程元素的工作方式,简化了学习过程,而且提高了学习效果。书中把复杂的内容分解为多个简单的主题,以便于读者更好地学习。本书表达严谨、推理缜密,是一本不可多得的C语言程序设计入门教材。
第1章基本概念
1.1学习目标
1.2计算机
1.3计算机系统
1.3.1软件
1.3.2硬件
1.4数据结构
1.5知识点检查lA
1.6程序规划
1.7设计报表
1.8报表规划原则
1.9编译程序
1.10错误和调试
1.10.1案例1:语法错误
1.10.2案例2:逻辑错误
1.10.3案例3:正常运行
1.11知识点检查1B
1.12开发第一个程序
1.13示例程序CHAPlA
1.14分析示例程序CHAPlA
1.15编程技巧和注意事项
1.16课程指南CHAPlA
1.17示例程序CHAPlB
1.18分析示例程序CHAPlB
1.19编程技巧和注意事项
1.20课程指南CHAPlB
1.21创建标识名
1.22区分大小写
1.23关键字
1.24知识点考查1C
1.25小结
1.26编程项目
1.26.1项目11:账户统计
1.26.2项12:薪酬
1.26.3项目13;销售额
1.26.4项目14:库存清单
1.26.5项目15:信息雇员
1.26.6项目16:应收账款
1.26.7项目17:生产成本
窘2章走近C语言
2.1学习目标
2.2基本结构
2.3注释
2.4#include指令
2.5main()函数
2.6常用数据类型
2.7数值常量
2.8数值变量
2.9为数值变量赋值
2.10符号常量:#define指令
2.11屏幕输出:printf()函数
2.12转义序列
2.13键盘输入:scanf()函数
2.14算术运算符
2.15算术表达式
2.16知识点检查2A
2.17示例程序CHAP2A
2.18分析示例程序CHAP2A
2.19编程技巧和注意事项
2.20课程指南CHAP2A
2.21非数值常量
2.22非数值变量
2.23为非数值变量赋值
2.24打印非数值输出
2.25读取非数值数据
2.26return语句
2.27知识点检查2B
2.28示例程序CHAP2B
2.29分析示例程序CHAP2B
2.30编程技巧和注意事项
2.31课程指南CHAP2B
2.32小结
2.33编程项目
2.33.1项目21:账户统计
2.33.2项目22:薪酬
2.33.3项目23:销售额
2.33.4项目24:库存清单
2.33.5项目25:雇员信息
2.33.6项目26:应收账款
2.33.7项目27:生产成本
第3章模块化编程
3.1学习目标
3.2模块结构化编程
3.3逻辑结构
3.4全局变量和局部变量
3.5编程人员定义的模块
3.6函数原型
3.7矢口识点检查3A
3.8示例程序CHAP3A
3.9分析示例程序CHAP3A
3.10编程技巧和注意事项
3.11课程指南CHAP3A
3.12示例程序CHAP3B
3.13示例程序CHAP3C
3.14分析示例程序CHAP3C
3.15编程技巧和注意事项
3.16课程指南CHAP3B
3.17结构化编程
3.18编程指导原则
3.19知识点检查3B
3.20小结
3.21编程项目
3.21.1项目31:账户统计
3.21.2项目32:薪酬
3.21.3项目33:销售额
3.21.4项目34:库存清单
3.21.5项目35;雇员信息
3.21.6项目36:应收账款
3.21.7项目37生产成本
第4章字符串函数和循环
4.1学习目标
4.2字符串函数
4.3strcat()函数
4.4strcpy()函数
4.5strcmp()函数
4.6strlen0函数
4.7知识点检查4A
4.8字符串输入和扫描集
4.9fflush()函数
4.10迭代和循环处理
4.11关系运算符
4.12逻辑运算符
4.13知识点检查4B
4.14增量和减量运算符
4.15while循环
4.16知识点检查4C
4.17示例程序CHAP4A
4.18分析示例程序CHAP4A
4.19编程技巧和注意事项
4.20课程指南CHAP4A
4.21统计运算
4.22do/while循环
4.23for循环
4.24嵌套循环
4.25知识点检查4D
4.26示例程序CHAP4B
4.27分析示例程序CHAP4B
4.28编程技巧和注意事项
4.29课程指南CHAP4B
4.30打印机输出:fprintf()函数
4.31知识点检查4E
4.32示例程序CHAP4C
4.33分析示例程序CHAP4C
4.34编程技巧和注意事项
4.35课程指南CHAP4C
4.36小结
4.37编程项目
4.37.1项目41;账户统计
4.37.2项目42:薪酬
4.37.3项目43:销售额
4.37.4项目44:库存清单
4.37.5项目45:雇员信息
4.37.6项目46:应收账款
4.37.7项目47;生产成本
第5章分支结构
5.1学习目标
5.2选择不同的处理路径
5.3无条件分支和条件分支
5.4if语句
5.5嵌套if语句
5.6if/else语句
5.7嵌套if/else语句
5.8矢口识点检查5A
59示例程序CHAP5A
5.10分析示例程序CHAP5A
5.11编程技巧和注意事项
5.12课程指南CHAP5A
5.13switch和break语句
5.14goto和label语句
5.15矢口识点检查5B
5.16示例程序CHAP5B
5.17分析示例程序CHAP5B
5.18编程技巧和注意事项
5.19课程指南CHAP5B
5.20小结
5.21编程项目
5.21.1项目51:逾期账款
5.21.2项目52:薪酬
5.21.3项目53:销售定单
5.21.4项目54:库存清单
5.21.5项目55:雇员信息
5.21.6项目56:应收账款
5.21.7项目57:生产奖励
第6章使用菜单
6.1学习目标
6.2数据验证
6.3以菜单驱动的程序
6.4菜单创建原则
6.5设置菜单格式及打印菜单
6.6菜单选择:嵌套if/else语句
6.7字符选项代码
6.8getch()函数
6.9知识点检查6A
6.10示例程序CHAP6A
6.11分析示例程序CHAP6A
6.12编程技巧和注意事项
6.13课程指南CHAP6A
6.14菜单选择:switch语句
6.15示例程序CHAP6B
6.16分析示例程序CHAP6B
6.17编程技巧和注意事项
6.18课程指南CHAP6B
6.19小结
6.20编程项目
6.20.1项H61:逾期账款
6.20.2项目62:薪酬
6.20.3项目63:销售人员
6.20.4项目64:库存清单
6.20.5项目65:雇员信息
6.20.6项目66:应收账款
6.20.7项目67:算术练习
第7章文本文件
7.1学习目标
7.2文件和记录
7.3文本文件
7.4创建文本文件
7.5声明文件指针变量:FILE数据类型
7.6知识点检查7A
7.7打开文件:fopen()函数
7.8读取记录
7.9测试文件结束:feof()函数
7.10关闭文件:fclose()函数
7.11知识点检查7B
7.12示例程序CHAP7A
7.13分析示例程序CHAP7A
7.14编程技巧和注意事项
7.15课程指南CHAP7A
7.16文本文件处理步骤
7.17使用尾端记录
7.18知识点检查7C
7.19示例程序CHAP7B
7.20分析示例程序CHAP7B
7.21编程技巧和注意事项
7.22课程指南CHAP7B
7.23小结
7.24编程项目
7.24.1项71:逾期账款
7.24.2项H72:薪酬
7.24.3项目73:销售利润
7.24.4项目74:库存清单
7.24.5项目75:雇员信息
7.24.6项目76:应收账款
7.24.7项目77:生产奖励
第8章换页和控制中断
8.1学习目标
8.2换页报表
8.3知识点检查8A
8.4示例程序CHAP8A
8.5分析示例程序CHAP8A
8.6编程技巧和注意事项
8.7课程指南CHAP8A
8.8控制中断报表
8.9知识点检查8B
8.10示例程序CHAP8B
8.11分析示例程序CHAP8B
8.12编程技巧和注意事项
8.13课程指南CHAP8B
8.14小结
8.15编程项目
8.15.1项目81:薪酬1
8.15.2项目82:薪酬2
8.15.3项目83:销售分析卜
8.15.4项目84;销售分析2
8.15.5项目85:库存清单1
8.15.6项目86:库存清单2
8.15.7项目87:雇员信息1
8.15.8项目88:雇员信息2
第9章多级控制中断
9.1学习目标:
9.2多级控制中断报表
9.3编写两级控制中断程序
9.4知识点检查9A
9.5示例程序CHAP9A
9.6分析示例程序CHAP9A
9.7偏程技巧和注意事项
9.8课程指南CHAP9A
9.9编写四级控制中断程序
9.10矢口识点检查9B
911示例程序CHAP9B
912分析示例程序CHAP9B
913编程技巧和注意事项
9.14课程指南CHAP9B
9.15小结
9.16编程项目
9.16.1项目91:薪酬1
9.16.2项目92:薪酬2
9.16.3项目93:销售分析1
9.16.4项目94:销售分析2
9.16.5项目95:库存清单1
9.16.6项目96:库存清单2
9.16.7项目97:雇员信息1
9.16.8项目98:雇员信息2
第10章数组和排序
10.1学习目标
10.2数组
10.3创建数组
10.4知识点检查IOA
10.5下标
10.6知识点检查10B
10.7加载数组
10.8打印数组
10.9处理数组
lO.10并行数组
10.11矢口识点检查10C
10.12示例程序CHAPl0A
10.13分析示例程序CHAPl0A
10.14编程技巧和注意事项
10.15课程指南CHAPl0A
10.16数组查找
10.17知识点检查10D
10.18示例程序CHAPl0B
10.19分析示例程序CHAPlOB
10.20编程技巧和注意事项
10.21课程指南CHAPl0B
10.22排序
10.23知识点检查10E
10.24示例程序CHAPl0C
10.25分析示例程序CHAPl0C
10.26编程技巧和注意事项
10.27课程指南CHAPl0C
10.28小结
10.29编程项目
10.29.1项目101:逾期账款1
10.29.2项目102:逾期账款2
10.29.3项目103;薪酬1
10.29.4项目104:薪酬2
10.29.5项目105:销售利润1
10.29.6项目106:销售利润2
10.29.7项107:库存清单
10.29.8项目108:雇员信息
10.29.9项目109:应收账款
10.29.10项目1010:生产成本
第11章多维数组
11.1学习目标
11.2二维数组
11.3创建二维数组
11.4知识点检查llA
11.5加载二维数组
11.6打印二维数组
11.7知识点检查lib
11.8示例程序CHAPllA
11.9分析示例程序CHAPllA
11.10编程技巧和注意事项
11.11课程指南CHAPllA
11.12查找和更新表
11.13知识点检查11C
11.14示例程序CHAPllB
11.15分析示例程序CHAPllB
11.16编程技巧和注意事项
11.17课程指南CHAPllB
11.18多维数组
11.19知识点检查lid
11.20小结
11.21编程项目
11.21.1项目111:逾期账款1
11.21.2项目112:逾期账款2
11.21.3项目113:薪酬信息1
11.21.4项目114:薪酬信息2
11.21.5项目115:销售利润1
11.21.6项目116:销售利润2
11.21.7项目117:库存清单1
11.21.8项目118:库存清单2
11.21.9项目119:成绩单程序1
11.21.10项目1110:成绩单程序2
第12章顺序文件
12.1学习目标
12.2文件记录和关键字
12.3顺序文件结构
12.4创建顺序文件
12.5知识点检查12A
12.6示例程序CHAPl2A
12.7分析示例程序CHAPl2A
12.8编程技巧和注意事项
12.9课程指南CHAPl2A
12.10读取和打印JI匝序文件
12.11知识点检查12B
12.12示例程序CHAPl2B
12.13分析示例程序CHAPl2B
12.14编程技巧和注意事项
12.15课程指南CHAPl2B
12.16向顺序文件追加记录
12.17知识点检查12C
12.18示例程序CHAPl2C
12.19分析示例程序CHAPl2C
12.20编程技巧和注意事项
12.21课程指南CHAPl2C
12.22小结
12.23编程项目
12.23.1项目121:逾期账款
12.23.2项El122:薪酬
12.23.3项目123:销售利润
12.23.4项目124:库存清单
12.23.5项目125:雇员信息
12.23.6项151126:应收账款
12.23.7项[~127:产量评估
第13章更新川页序文件
13.1学习目标
13.2J顷序文件维护
13.3创建文件
13.4更新文件
13.5处理文件
13.6知识点检查13A
13.7示例程序CHAPl3A(创建主控文件)
13. 8析示例程序CHAPl3A
13.9编程技巧和注意事项
13.10示例程序CHAPl3B(创建事务文件)
13.11分析示例程序CHAPl3B
13.12编程技巧和注意事项
13.13课程指南(CHAPl3A和CHAPl3B)
13.14更新主控文件:第1部分
13.15知识点检查13B
13.16示例程序CHAPl3C
13.17分析示例程序CHAPl3C
13.18编程技巧和注意事项
13.19课程指南CHAPl3C
13.20更新主控文件:第Ⅱ部分
13.21知识点检查13C
13.22示例程序CHAPl3D
13.23分析示例程序CHAPl3D
13.24编程技巧和注意事项
13.25课程指南CHAPl3D
13.26更新主控文件:第ⅡI部分
13.27知识点检查13D
13.28示例程序CHAPl3E
13.29分析示例程序CHAPl3E
13.30编程技巧和注意事项
13.31课程指南CHAPl3E
13.32小结
13.33编程项目
13.33.1项目131:课程表
13.33.2项目132:逾期账款1
13.33.3项目133:逾期账款2
13.33.4项目134:逾期账款3
13.33.5项目135:销售利润1
13.33.6项目136:销售利润2
13.33.7项目137:销售利润3
13.33.8项H138:库存清单1
13.33.9项目139:库存清单2
13.33.10项目1310:库存清单3
第14章结构体和随机文件
14.1学习目标
14.2定义结构体
14.3定义结构体变量
14.4将数据赋给结构体变量
14.5知识点检查14A
14.6随机文件结构
14.7打开随机文件
14.8写记录:fwrite()函数
14.9创建随机文件
14.10知识点检查14B
14.11示例程序CHAPl4A
14.12分析示例程序CHAPl4A
14.13编程技巧和注意事项
14.14课程指南CHAPl4A
14.15移动文件指针:fseek()函数
14.16将数据写入随机文件
14.17知识点检查14C
14.18示例程序CHAPl4B
14.19分析示例程序CHAPl4B
14.20编程技巧和注意事项
14.21课程指南CHAPl4B
14.22读取记录:fread()函数
14.23读取和打印随机文件
14.24知识点检查14D
14.25示例程序CHAPl4C
14.26分析示例程序CHAPl4C
14.27编程技巧和注意事项
14.28课程指南CHAPl4C
14.29更新随机文件
14.30示例程序CHAPl4D
14.31分析示例程序CHAPl4D
14.32编程技巧和注意事项
14.33课程指南CHAPl4D
14.34小结
14.35编程项目
14.35.1项目141:逾期账款1
14.35.2项El142:逾期账款2
14.35.3项目143:逾期账款3
14.35.4项目144:逾期账款4
14.35.5项目145:销售利润1
14.35.6项目146:销售利润2
14.35.7项目147:销售利润3
14.35.8项目148;销售利润4
第15章索引文件
15.1学习目标
15.2索引文件结构
15.3创建索引文件
15.4知识点检查15A
15.5示例程序CHAPl5A
15.6分析示例程序CHAPl5A
15.7编程技巧和注意事项
15.8课程指南CHAPl5A
15.9将数据写入索引文件
15.10示例程序CHAPl5B
15.11分析示例程序CHAPl5B
15.12编程技巧和注意事项
15.13课程指南CHAPl5B
15.14读取和打印索引文件
15.15示例程序CHAPl5C
15.16分析示例程序CHAPl5C
15.17编程技巧和注意事项
15.18课程指南CHAPl5C
15.19更新索引文件
15.20矢口识点检查15B
15.21示例程序CHAPl5D
15.22分析示例程序CHAPl5D
15.23编程技巧和注意事项
15.24课程指南CHAPl5D
15.25小结
15.26编程项目
15.26.1项目151:逾期账款1
15.26.2项目152:逾期账款2
15.26.3项目153:逾期账款3
15.26.4项目154:逾期账款4
15.26.5项目155:销售利润1
15.26.6项目156;销售利润2
15.26.7项目157:销售利润3
15.26.8项目158:销售利润4
附录AASC表
附录B编程标准
B.1综述
B.2变量
B.3语句
B.4模块
B.5程序说明
B.6预处理指令
B.7函数原型
B.8程序设置
B.9循环和判断
B.IO文件和结构体
附录C输入/输出函数
C.1输入函数
C.1.1标准输入函数
C.1.2文件输入函数
C.2输出函数
C.2.1标准输出函数
C.2.2文件输出函数
附录D数学函数及相关函数
D.1基本数学函数
D.2三角函数
D.3对数函数
D.4随机数函数
本书是新版的C语言程序设计教程。它通过实例引导方式,循序渐进地讲解了C语言基础编程知识,并重点介绍用自顶向下的逻辑设计和模块化的结构化编程方法编写应用程序。本书表述严谨,推理缜密,可作为工程技术、计算机科学、商务、社会学或物理学专业的计算机编程教材(学时为一学期或两学期),也可供初学者自学使用。
本书特色
实例引导
本书示例丰富,共列举了40多个完整的示例程序(不计小程序段),其中每章均包括两到三个详细示例,以帮助读者将所学的课程内容应用于编写实际的应用程序。
此外,每个示例程序还介绍了程序开发的完整过程,包括如何定义输入输出格式、确定处理要求、开发逻辑和编写具体代码,每个示例程序代码后都展示了相应的输出结果。
程序开发过程
在编写各示例程序时,本书还重点介绍了程序开发过程,并使用完整的逻辑设计工具——层次图、伪代码和程序流程图,帮助您切实掌握自顶向下的逻辑设计和模块化的结构化编程方法,引导您创建简单易用的高质量程序。
简明易懂
与其他C程序设计书籍不同,本书并未完全停留在技术层次,而是尽量简化复杂主题,以通俗易懂的语言深入浅出地阐述了C语言的方方面面,方便了初学者的阅读和学习。
程序分析
各个示例程序均附有详细的讲解,逐一剖析编程步骤,论述各程序元素如何构成完整的程序,从而帮助您进一步理解代码编写和程序设计的过程。
编程技巧和注意事项
每个示例程序的末尾都附有编程技巧和注意事项,提供了本程序所列语句和函数的附加信息及注意事项。
课程指南
“课程指南”部分将理论结合实际,指导您分析问题、学习编程逻辑、输入源代码、测试和调试示例程序,使您有机会了解各个元素的组合方法,成功掌握C语言编程的必备技巧,同时为每章末尾的编程项目作好准备。知识点检查
“知识点检查”部分中包含自测练习,旨在强化各章介绍的主要内容,其中的问题和操作练习可帮助提供反馈信息,反映您对当前所学内容的熟练程度。
小结
该部分内容强化并巩固了每章的重要内容,定义关键术语,突出主要的编程元素,对每章所学内容进行了全面总结。
编程项目
本书每一章都提供了编程项目,以帮助您学会应用所学内容。随着内容的不断延伸,每章可能会包含新的编程项目,或扩展旧编程项目。菜单驱动的程序设计
第6章介绍了菜单驱动的程序,其主要内容包括:数据验证、创建有效菜单系统的原则、
菜单选择处理技术等。文件总论
本书以简单易懂的语言全面介绍了顺序文件、随机存取文件和索引文件以及相关处理(包括文件更新操作)。
教学策略
本书用新颖独特的方法讲解了指针和局部/全局变量,并根据需要适时地介绍了指针,且从业务编程角度介绍了局部变量和全局变量的用法。
指针
本书并没有集中介绍指针,而是根据程序需要加以解释和演示,以帮助您正确理解指针的使用时机和侍用方法。全局变量和局部变量
在传统的C程序中,一般认为采用局部变量可以保护函数中的变量免受其他函数的错误影响。但是,企业应用程序不同于商业应用程序,应采用不同的设计策略。
一般而言,在构建应用程序需使用商用软件程序包的一系列功能时,应使用局部变量。若要构建由内部编程人员开发和维护的企业应用程序时,应使用全局变量。
本书对症下药,根据应用程序的需要作出相应安排,选用局部变量或全局变量。