《C语言程序设计 》全面而又系统地讲解了C语言程序设计的基础知识及程序设计语句和常用的编程方法,力求给读者打下一个扎实的程序设计基础,培养读者程序设计的能力。主要内容包括C语言程序设计基础知识、基本数据类型及运算符、C语言的控制结构、数组、函数、指针、结构体、编译预处理、文件等。本教材采用循序渐进、深入浅出、通俗易懂的讲解方法,本着理论与实际相结合的原则,通过大量经典实例对C语言知识进行重点讲解,使程序设计语言的初学者能够掌握利用C语言进行结构化程序设计的技术和方法。
《C语言程序设计 》以C编程基本技能训练为主线,突出基本技能的掌握,重视对程序设计和C语言基本概念、原理和规则的讲解,力求给读者打下一个扎实的基础,培养读者良好的编程风格,提高读者进一步学习其他程序设计语言的能力。
《C语言程序设计 》适用于高等学校各专业程序设计基础教学,特别适合作为应用型本科、高职院校的计算机及非计算机相关专业的学生使用,同时也可作为参加计算机等级考试和其他自学者的参考用书。
C语言是广泛使用的计算机程序设计语言之一,是大学普遍开设的程序设计课程。C语言具有表达能力强、概念和功能丰富、目标程序质量高、可移植性好、使用灵活方便等特点,既具有高级语言的优点,又具有低级语言的某些特点。能够有效地用来编制各种系统软件和应用软件,是当今流行的一种计算机语言。
C语言涉及的概念多、规则复杂、容易出错,初学者往往感觉困难。本教材在详细阐述程序设计基本概念、原理和方法的基础上,采用循序渐进、深入浅出、通俗易懂的讲解方法,本着理论与实际相结合的原则,通过大量经典实例重点讲解了C语言的概念、规则和使用方法,使程序设计语言的初学者能够在建立正确程序设计理念的前提下,掌握利用C语言进行结构化程序设计的技术和方法。全书共9章,主要内容包括C语言程序设计基础知识、基本数据类型及运算符、C语言的控制结构、数组、函数、指针、结构体、编译预处理和文件。书中对数组、函数、指针、变量的存储类型、结构体和共用体、文件等重点和难点内容进行了深入讲解和分析。本书可作为高等学校各专业程序设计基础教学的教材,特别适合作为应用型本科、高职院校的计算机及非计算机专业的学生使用,同时也可作为编程人员和C语言自学者的参考用书。
本书的第1章、第4章、第9章由杜庆东编写; 第2章、第3章由闫红编写; 第5章、第6章由张静编写; 第7章由侯彤璞、郝颖编写; 第8章由侯彤璞、高婕姝编写; 附录由封雪编写; 全书由王丽君主审。最后还要感谢为本书付出心血的编辑、审稿人员等各位朋友!
为了帮助读者学习,每章设有小结和习题; 同时本书还有配套的《C语言程序设计上机实验指导及习题解答》的实验教材,重点介绍了Visual C++6.0编译系统的使用方法,使学生在学习过程中能迅速掌握C语言程序的编写、编译、调试和运行方法。
由于编者水平有限,书中难免存在一些缺点和错误,殷切希望广大读者批评指正。
作者
2014年11月
第1章C语言概述
1.1C语言的发展与特点
1.1.1程序设计语言
1.1.2C语言的发展
1.1.3C语言的特点
1.2程序设计基础
1.2.1程序设计的基本概念
1.2.2程序设计方法
1.2.3结构化分析方法
1.3C语言程序的结构
1.3.1基本程序结构
1.3.2函数库和连接
1.3.3C语言词汇
1.4C语言程序的开发与环境
1.4.1C语言程序的开发
1.4.2C语言程序的开发环境
本章小结
习题1
第2章数据描述与基本操作
2.1数据类型概述
2.2常量与变量
2.2.1常量
2.2.2变量
2.3运算符与表达式
2.3.1算术运算符与算术表达式
2.3.2赋值运算符与赋值表达式
2.3.3关系运算符与关系表达式
2.3.4逻辑运算符与逻辑表达式
2.3.5条件运算符与条件表达式
2.3.6逗号运算符与逗号表达式
2.4位运算
2.4.1按位与、或、异或运算
2.4.2求反运算
2.4.3按位左、右移运算
2.5输入和输出函数
2.5.1字符的输入与输出函数
2.5.2格式输入与输出函数
2.6不同数据类型之间的转换
2.6.1自动转换
2.6.2强制类型转换
本章小结
习题2
第3章C语言的控制结构
3.1结构化程序设计
3.1.1结构化程序的基本结构
3.1.2结构化程序设计的特点
3.1.3结构化程序设计的方法
3.1.4结构化程序设计的步骤
3.2顺序结构程序设计
3.3选择结构程序设计
3.3.1if语句
3.3.2switch语句
3.4循环结构程序设计
3.4.1while语句
3.4.2dowhile语句
3.4.3for语句
3.4.4几种循环的比较
3.4.5循环结构的嵌套
3.4.6break语句和continue语句
3.5应用举例
本章小结
习题3
第4章数组
4.1一维数组的定义和引用
4.1.1一维数组的定义
4.1.2一维数组的初始化
4.1.3一维数组元素的引用
4.1.4一维数组的应用举例
4.2二维数组的定义和引用
4.2.1二维数组的定义
4.2.2二维数组的初始化
4.2.3二维数组元素的引用
4.2.4二维数组元素应用举例
4.3字符数组的定义和引用
4.3.1字符数组的定义
4.3.2字符数组的初始化
4.3.3字符数组的引用
4.3.4字符串与字符数组
4.3.5字符数组的输入与输出
4.3.6字符串处理函数
4.3.7字符数组应用举例
本章小结
习题4
第5章函数
5.1模块化程序设计与函数
5.1.1模块化程序设计原则
5.1.2C语言源程序的结构
5.2函数的定义
5.2.1函数的定义形式
5.2.2函数参数
5.3函数调用与返回值
5.3.1函数调用
5.3.2函数的返回值
5.3.3函数的声明
5.4函数的递归调用
5.4.1递归定义
5.4.2递归算法
5.5数组作为函数参数
5.5.1数组元素作为函数的参数
5.5.2一维数组名作函数参数
5.5.3用多维数组作函数参数
5.6变量的作用域与存储属性
5.6.1变量的作用域
5.6.2变量的存储属性
5.7内部函数和外部函数
5.7.1内部函数
5.7.2外部函数
5.8带参数的main函数
本章小结
习题5
第6章指针
6.1指针的概念
6.2指针变量的定义和运算
6.2.1指针变量的定义
6.2.2赋值运算
6.2.3算术运算
6.3指针与数组
6.3.1指向一维数组的指针
6.3.2指向二维数组的指针
6.3.3指向字符串的指针
6.4指针与函数
6.4.1指针变量作为函数参数
6.4.2指向数组的指针作为函数参数
6.4.3指针作为函数的返回值
6.4.4指向函数的指针变量
6.5指针数组与指向指针的指针
6.5.1指针数组
6.5.2指向指针的指针
本章小结
习题6
第7章构造数据类型
7.1结构体数据类型
7.1.1结构体类型的定义
7.1.2结构体类型变量的定义
7.1.3结构体变量的初始化
7.1.4结构体变量成员的引用
7.2结构体数组
7.2.1结构体数组的定义
7.2.2结构体数组的初始化
7.2.3结构体数组的引用
7.3结构体指针
7.3.1指向结构体变量的指针
7.3.2指向结构体数组的指针
7.4结构体类型数据在函数中的应用
7.4.1结构体类型作为函数参数
7.4.2结构体类型作为函数返回值
7.5链表
7.5.1动态存储分配
7.5.2链表的操作
7.6共用体数据类型
7.7枚举类型
7.8类型定义符typedef
本章小结
习题7
第8章编译预处理
8.1宏定义
8.1.1无参宏定义
8.1.2有参宏定义
8.2文件包含
8.3条件编译
本章小结
习题8
第9章文件
9.1C文件概述
9.1.1C文件的分类
9.1.2缓冲文件系统和非缓冲文件系统
9.1.3文件指针
9.2文件的打开与关闭
9.2.1文件的打开
9.2.2文件的关闭
9.3文件的读写
9.3.1字符读写函数
9.3.2字符串读写函数
9.3.3数据块读写函数
9.3.4格式化读写函数
9.4文件定位函数
9.4.1重置文件指针函数
9.4.2文件定位函数
9.4.3取指针位置函数
9.5文件出错检测函数
9.5.1读写出错检测函数
9.5.2清除文件出错标志函数
9.5.3关闭文件函数
本章小结
习题9
附录A常用字符与ASCII代码对照表
附录BC语言中的关键字
附录C运算符和结合性
附录DC语言常用语法提要
附录EC库函数
参考文献