
C语言是计算机学科的一门基础语言,其高效、灵活,是国内大学本科生必修的一门基础语言。
本书采用多例式论述展开,对每章中的核心知识点都由案例进行说明,通过简单示例学习重要知识点,通过合理的实例来提高读者程序设计能力和综合运用知识的能力。全书包括9章,附录还给出了程序编程规则与相应知识点的93个程序实例,以及3套模拟试卷。本书是非常适合于64学时(讲课+实验)的高等院校理工类学生学习C程序设计的教材。
本教材是作者作为一线教师多年讲授C语言的结晶,附录部分的编码规则也是作者书写程序近20年的个人心得。本教材克服文字说教的方式,以实例的方式来论述知识点,强调读者在学习的过程中提高编程能力,真正回归语言学习的真谛。本书采用多案例式论述展开,以64个学时(讲课+实验)的情况下,对每章中的核心知识点都由实例进行说明,克服文字式的说教,通过简单示例学习重要知识点。在语法上严格遵守ANSI C标准,在程序设计思想方面强调模块化思想,在克服难点方面注重结构清晰地安排内容、循序渐进地展开知识,特别强调通过合理的实例来提高读者的程序设计能力和综合运用知识的能力。全书分为9章,第1章主要介绍开发C程序的基本知识,认识C语言的特点,简单的开发C程序的步骤,进行调试程序的方法与方式。第2章由数据输出概念介绍C语言中如何进行输出操作,同时引入常量的概念。第3章由数据输入概念介绍C语言中变量的概念及基本的输入操作。在以后的章节中由数据处理概念,分别C语言中的3种基本结构、数组、函数、指针、文件等重要内容。本书主要介绍了C语言的基础知识,以外部角度看待计算机软件功能为基点,分成输入、输出、处理3个部分来论述了基本数据类型,运算符与表达式,分支与开关语句,循环语句,函数的结构与调用,数组,指针,指针与数组,指针与函数,处理字符串,结构体、共用体与枚举,读/写文件。同时,把程序编程规则、对应知识点的90个程序实例作为学习的补充,有益于从最开始学习就按标准的书写程序方法为未来程序设计打好基础。
书中每章都由核心知识点、程序示例以及实验课组成,本书是一本完整的从授课到实验的教材。核心知识点模块强调在编程中最重要和实用的知识点,通过实例起到帮助读者理解和掌握核心知识点的作用;通过课程中的讲授、实验课的练习,再辅以附录中的程序设计实例,切实加强读者对知识点的掌握。
本书是非常适合于64学时的高等院校理工类学生学习C程序设计的教材,附录的教学大纲可以作为参考。
编 者
2013年3月
第1章 C语言概述 /1
1.1 计算机系统1
1.1.1 计算机的发展史1
1.1.2 计算机的硬件与软件2
1.2 计算机语言4
1.2.1 机器语言4
1.2.2 汇编语言4
1.2.3 高级语言5
1.3 C语言5
1.3.1 C语言的发展历程6
1.3.2 C语言的特点6
1.3.3 C语言的关键字、控制语句、运算符7
1.4 认识第一个C语言程序源码10
1.5 从C语言程序源码到可执行程序11
1.5.1 编译预处理11
1.5.2 编译、优化阶段12
1.5.3 汇编过程13
1.5.4 链接程序13
1.6 VC6开发环境介绍14
1.6.1 VC6的启动14
1.6.2 VC6环境下的菜单项16
1.6.3 VC6工作区与工程的概念18
1.6.4 使用VC6进行C语言开发完整步骤21
1.7 程序调试27
第2章 数据输出 /31
2.1 标识符与常量31
2.1.1 标识符31
2.1.2 常量32
2.2 最常用的格式输出函数--printf函数32
基于案例的C语言程序设计 2.2.1 printf函数的基本格式32
2.2.2 格式说明符34
2.3 字符输出函数--putchar函数37
2.4 实验课38
第3章 数据输入 /41
3.1 数据输入引例41
3.2 C语言中变量的概念42
3.2.1 变量42
3.2.2 整型变量42
3.2.3 浮点型变量43
3.2.4 字符变量43
3.2.5 变量的初始化45
3.2.6 算数运算符和算术表达式45
3.3 不同种类型数据输入及其格式控制52
3.3.1 字符输入函数: getchar52
3.3.2 格式输入函数: scanf53
3.4 实验课56
第4章 数据处理(1) : 三种基本结构 /57
4.1 顺序结构57
4.2 选择结构59
4.2.1 关系运算符和关系表达式59
4.2.2 逻辑运算符和逻辑表达式60
4.2.3 if语句61
4.2.4 条件运算符64
4.2.5 switch语句65
4.3 循环结构68
4.3.1 while语句69
4.3.2 do…while语句70
4.3.3 for语句70
4.3.4 循环的嵌套72
4.3.5 break语句73
4.3.6 continue语句74
4.4 实验课75
第5章 数据处理(2) : 数组 /78
5.1 一维数组78
5.1.1 一维数组的定义79
5.1.2 一维数组元素的引用80
5.1.3 一维数组的初始化82
5.2 二维数组87
5.2.1 二维数组的定义和引用87
5.2.2 二维数组的初始化88
5.3 字符数组90
5.3.1 字符数组的定义90
5.3.2 字符数组的初始化91
5.3.3 字符数组的输入与输出92
5.3.4 其他字符串处理函数95
5.4 实验课98
第6章 数据处理(3) : 函数 /103
6.1 概述103
6.2 函数的定义104
6.2.1 函数定义的一般形式104
6.2.2 函数的4大要素105
6.2.3 函数的返回值: return语句的使用105
6.2.4 return语句的说明107
6.3 函数的调用108
6.3.1 函数调用的一般形式108
6.3.2 函数的调用方式108
6.3.3 形参与实参110
6.3.4 函数声明111
6.4 数组作为函数参数112
6.4.1 数组元素作函数实参112
6.4.2 数组名作函数参数112
6.4.3 多维数组作函数参数116
6.5 函数的嵌套和递归调用117
6.5.1 函数的嵌套调用117
6.5.2 函数的递归调用118
6.6 局部变量与全局变量119
6.6.1 局部变量(内部变量)119
6.6.2 全局变量(外部变量)120
6.7 变量的存储类型123
6.7.1 auto变量123
6.7.2 静态变量123
6.7.3 register变量125
6.7.4 用extern声明外部变量126
6.8 实验课126
第7章 数据处理(4) : 指针 /131
7.1 指针的概念131
7.1.1 指针的初步认识131
7.1.2 指针变量的定义和使用133
7.2 数组指针138
7.2.1 指向一维数组元素的指针138
7.2.2 指向多维数组的指针140
7.3 字符串指针144
7.4 指针与函数145
7.4.1 函数指针变量145
7.4.2 指针型函数147
7.4.3 指针作为函数参数148
7.5 指针数组149
7.5.1 指针数组的认识149
7.5.2 指针在main函数中的应用154
7.6 多级指针156
7.7 指针小结158
7.8 实验课160
第8章 数据处理(5) : 结构体、共用体、枚举类型 /163
8.1 结构体163
8.1.1 结构体与结构变量163
8.1.2 结构体变量的引用166
8.1.3 结构体变量的初始化167
8.1.4 结构体数组168
8.1.5 结构体指针170
8.1.6 链表174
8.2 联合体183
8.2.1 联合体和联合变量183
8.2.2 联合体的引用及特点184
8.3 枚举类型185
8.3.1 枚举类型及变量的定义186
8.3.2 枚举元素的引用187
8.4 自定义类型187
8.5 实验课188
第9章 数据处理(6) : 文件 /192
9.1 文件的概述192
9.2 文件类型的指针193
9.3 文件的打开与关闭193
9.3.1 文件打开函数194
9.3.2 文件关闭函数196
9.4 文件的读写196
9.4.1 单个字符读写函数196
9.4.2 字符串读写函数198
9.4.3 数据块读写函数199
9.4.4 格式化读写函数201
9.4.5 整数读写函数201
9.5 文件的定位202
9.5.1 文件的定位202
9.5.2 文件位置指针的检测205
9.6 文件出错的检测206
9.6.1 文件出错检测函数206
9.6.2 出错标志置零函数207
9.7 实验课207
附录A 编码规则 /211
A.1 排版211
A.1.1 程序文件的组成211
A.1.2 {}括号的排版方式213
A.1.3 采用锯齿状组织程序代码213
A.1.4 语句行214
A.1.5 空格216
A.2 注释217
A.2.1 多行注释217
A.2.2 单行注释219
A.3 命名221
A.3.1 标识符的命名221
A.3.2 变量的命名222
A.3.3 函数的命名222
A.4 其他223
附录B 程序设计93例 /229
附录C 模拟试卷及答案 /298
模拟试卷一298
模拟试卷二304
模拟试卷三309
模拟试卷一参考答案313
模拟试卷二参考答案316
模拟试卷三参考答案319
附录D 教学大纲 /323