本书共分为9章, 主要介绍C语言的数据类型、运算符和表达式, 程序控制结构, 数组, 函数, 指针, 文件, 编译预处理等内容。在进行知识点讲解时, 结合大量的案例进行分析, 每章节后增加习题, 帮助读者巩固知识点; 书后增加了附录帮助读者进行归纳总结。最后, 精心设计了模拟练习, 帮助读者进行系统复习。
本书从初学者的角度出发,结合编者多年的教学工作经验,理论联系实际,结合大量案例对各知识点进行讲解。既介绍基本的语法知识,又传授编程思想。编写过程中利用“小贴士”对在学习过程中容易出现错误的知识点进行了强化介绍,能使初学者更好地掌握C语言程序设计。全书语言简洁,通俗易懂,实例丰富,内容详尽、难易适中、重点突出,符合初学者的阅读习惯。为了帮助学生更有目的性地参加等级考试,增设了模拟试题模块。本书可作为应用型本科高校、高职高专院校各相关专业学习C语言程序设计的教材,也可作为自学C语言程序设计的参考书。
随着计算机的普及,以及信息技术和计算机技术的飞速发展,计算机在人类日常生活中扮演着越来越重要的角色,利用计算机解决实际生活问题也逐渐成为现代人的一项重要技能。C语言是一门通用计算机编程语言,它兼有高级语言和低级语言的优势,既可以用于编写系统程序,又可以用于编写应用程序。C语言已经成为国内外应用较广泛的高级程序设计语言之一,其灵活性与实用性受到广大用户的喜爱。当今流行的Windows、UNIX、Linux等各种操作系统都支持用C语言进行软件开发。
学习C语言有助于学生更好地掌握程序设计的基本方法并逐步形成正确的程序设计思想。然而,C语言对一般初学者来说,规则较多,不易掌握,伴随着越来越广的应用范围,其所涉及的知识也在不断增多;同时,目前我国大多数高校的理工科专业把C语言程序设计课程作为必修课,并参加等级考试。基于此,我们认真总结已出版教材的编写经验,组织具有丰富教学经验和实践经验的作者编写本书,主要是为了满足初学者及考证学生的需要。
全书共分9章,第1章介绍C语言的基础知识、基本概念、基本结构以及运行环境MicrosoftVisualC++6.0;第2章介绍C语言的数据类型、标识符、常量、变量、运算符和表达式等;第3章介绍程序结构的基本语句、程序的三种基本结构及其应用等;第4章介绍数组的定义、初始化,数组元素的引用以及数组的应用等;第5章介绍库函数的调用、自定义函数的定义和调用、函数的嵌套调用和递归调用等;第6章介绍指针的使用方法等;第7章介绍用户自定义数据类型及其应用等;第8章介绍文件的各种操作;第9章介绍三种预处理命令:宏定义(#define)、文件包含(#include)、条件编译命令。
本书由叶福兰、谢人强、傅龙天主编,喻丽春、姚洁、郭安副主编。其中,第1章、第2章由福州外语外贸学院喻丽春老师编写;第3章、第4章由福州外语外贸学院叶福兰老师编写;第5章、第6章由福州外语外贸学院谢人强老师编写;第7章、第8章由福州外语外贸学院傅龙天老师编写;第9章、模拟试卷由福州外语外贸学院姚洁老师编写;附录的整理及统稿工作由福州外语外贸学院叶福兰老师完成;整本书的审阅工作由闽江师范高等专科学校郭安老师负责。
本书第一主编叶福兰老师为福州外语外贸学院专职教师。撰写过程中借鉴和参阅了大量文献,在此对相应作者一并表示感谢。限于编者的能力,书中难免有不足之处,请大家不吝赐教。
编者2017年2月
第1章程序设计与C语言概述1
1.1程序设计语言1
1.1.1计算机程序1
1.1.2计算机语言1
1.2C语言的发展历史与特点2
1.2.1C语言的发展历史2
1.2.2C语言的特点3
1.3C语言程序设计的结构4
1.3.1C语言程序的基本结构4
1.3.2C语言程序的书写规则6
1.4C语言程序的编译和运行6
1.4.1实现C语言程序执行的步骤6
1.4.2在Microsoft Visual C++ 6.0下运行C程序8
本章小结12
习题12
第2章数据类型、运算符和表达式14
2.1C语言的数据类型14
2.1.1整型数据15
2.1.2浮点型数据16
2.1.3字符型数据16
2.2标识符、常量与变量17
2.2.1标识符17
2.2.2常量18
2.2.3变量22
2.3运算符和表达式23
2.3.1C语言运算符概述23
2.3.2算术运算符与算术表达式25
2.3.3赋值运算符与赋值表达式27
2.3.4自增自减运算符与表达式30
2.3.5关系运算符与关系表达式32
2.3.6逻辑运算符与逻辑表达式33
2.3.7位运算符35
2.3.8条件运算符与条件表达式37
2.3.9逗号运算符和逗号表达式38
2.3.10sizeof运算符38
本章小结39
习题40
C语言程序设计目录第3章程序控制结构42
3.1C语言执行语句42
3.1.1表达式语句43
3.1.2函数调用语句43
3.1.3空语句47
3.1.4复合语句47
3.1.5控制语句47
3.2顺序结构48
3.3选择结构50
3.3.1if语句50
3.3.2switch语句58
3.4循环结构61
3.4.1while语句61
3.4.2do...while语句64
3.4.3for语句65
3.4.4break语句和continue语句68
3.4.5循环嵌套70
3.5综合案例72
本章小结74
习题74
第4章数组80
4.1一维数组80
4.1.1一维数组的定义80
4.1.2一维数组的初始化81
4.1.3一维数组元素的引用82
4.1.4一维数组举例82
4.2二维数组92
4.2.1二维数组的定义92
4.2.2二维数组的初始化93
4.2.3二维数组元素的引用94
4.2.4二维数组举例95
4.3字符数组98
4.3.1一维字符数组的定义98
4.3.2一维字符数组的初始化99
4.3.3一维字符数组的引用100
4.3.4二维字符数组101
4.3.5字符数组举例102
本章小结104
习题104
第5章函数108
5.1概述108
5.2库函数109
5.2.1库函数的使用方式109
5.2.2常用的库函数110
5.3自定义函数114
5.3.1函数的定义114
5.3.2函数的调用115
5.4数组作为函数参数123
5.4.1数组元素作为函数实参123
5.4.2数组名作为函数实参125
5.5函数的嵌套调用和递归调用130
5.5.1函数的嵌套调用130
5.5.2函数的递归调用131
5.6变量的作用域与存储类别134
5.6.1局部变量和全局变量134
5.6.2变量的存储方法138
5.7内部函数和外部函数141
本章小结142
习题143
第6章指针149
6.1指针与指针变量149
6.1.1指针与指针变量的含义149
6.1.2指针变量的定义150
6.2指针的运算151
6.2.1指针变量的初始化和赋值151
6.2.2指针的运算153
6.3指针与数组155
6.3.1指向一维数组的指针155
6.3.2指向二维数组的指针157
6.4字符串与指针161
6.5指针与函数164
6.6指向指针的指针167
本章小结168
习题169
第7章用户自定义数据类型174
7.1结构类型及其变量的定义174
7.1.1结构类型定义174
7.1.2结构类型变量及其初始化176
7.1.3结构类型成员引用178
7.2结构数组180
7.2.1结构数组定义180
7.2.2结构数组的基本操作181
7.3结构和指针183
7.3.1指向结构类型变量的指针183
7.3.2指向结构数组的指针186
7.3.3结构指针与函数187
7.4联合类型190
7.4.1联合类型定义190
7.4.2联合类型基本操作191
7.5枚举类型192
7.5.1枚举类型定义192
7.5.2枚举类型基本操作193
7.6用typedef定义类型别名193
本章小结194
习题194
第8章文件200
8.1文件与文件指针类型200
8.1.1流与文件200
8.1.2文件类型指针201
8.2文件的打开和关闭202
8.3读写函数203
8.4文件的定位和随机读写210
8.4.1文件定位210
8.4.2文件随机读写211
8.5文件的出错检测215
本章小结216
习题216
第9章编译预处理221
9.1宏定义221
9.1.1无参宏的定义221
9.1.2有参宏的定义222
9.2文件包含223
9.3条件编译224
本章小结226
习题226
模拟试卷一229
模拟试卷一参考答案235
模拟试卷二236
模拟试卷二参考答案242
模拟试卷三244
模拟试卷三参考答案250
附录A常用字符与ASCII代码对照表251
附录BC语言关键字252
附录C运算符和结合性253
附录DC语言常用语法提要255
附录E库函数259
参考文献265