“C语言程序设计”是计算机及非计算机专业学生的计算机基础课。通过对本课程的学习,学生可以了解程序设计语言的基本知识,掌握结构化程序设计的基本方法与思路、C语言的基本编程方法和常用算法、程序调试的基本技能,使学生具有初步的应用软件开发基础,并为学习计算机后续课程打下良好的 基础。
本书以程序设计为主线,以编程应用为驱动,通过相关的语法知识点来重点讲解程序设计的思想和方法。本书全面介绍C语言的基本概念、基本语法和基本数据结构,注重学习的连续性和渐进性,章节之间的实例具有关联性,实例后又提出拓展功能和程序改造的思路,在每一章的提高篇中给出一些相对难度较高的开发实例,并且增加综合实例小节,通过一个大型的例子来说明算法基本原理、程序设计分析、源程序及说明、运行结果分析等内容。
本书既可以作为高等院校各专业C语言程序设计课程的教材,也可作为工程技术人员和计算机爱好者的参考书。
1.以编程应用为驱动。在总结与提高篇中给出开发实例,并且通过综合实例说明算法基本原理、程序设计分析、源程序及说明、运行结果分析等内容。
2.强化“计算思维”的训练,侧重程序设计能力的培养。在附录部分配有近几年一些知名企业的招聘试题,给读者提供更宽泛的知识与应用点。
3.强调易读、易学和易教。语言通俗易懂,将抽象、枯燥的语法知识直观、形象的传授给学生。配有设计精美、内容丰富的电子教案和素材供授课教师使用,方便教师授课。
第1章概述
1.1程序设计语言
1.1.1计算机语言
1.1.2程序设计语言的发展
1.2C语言程序设计
1.2.1C语言的发展历史
1.2.2C语言的标准与版本
1.2.3C语言的特点
1.3C语言的基本语法成分
1.3.1字符集
1.3.2标识符
1.3.3运算符
1.4C语言程序的组成
1.4.1简单的C语言程序介绍
1.4.2C语言程序的结构第1章概述
1.1程序设计语言
1.1.1计算机语言
1.1.2程序设计语言的发展
1.2C语言程序设计
1.2.1C语言的发展历史
1.2.2C语言的标准与版本
1.2.3C语言的特点
1.3C语言的基本语法成分
1.3.1字符集
1.3.2标识符
1.3.3运算符
1.4C语言程序的组成
1.4.1简单的C语言程序介绍
1.4.2C语言程序的结构
1.4.3C语言程序的书写
1.5程序设计的一般过程
1.5.1问题分析
1.5.2算法设计
1.5.3编写程序
1.5.4调试与测试
1.5.5整理文档
习题1第2章基本数据类型、运算符及表达式
2.1C语言的基本数据类型
2.1.1数据类型
2.1.2C语言数据类型简介
2.2常量
2.2.1整型常量
2.2.2实型常量
2.2.3符号常量
2.2.4字符型常量
2.3变量
2.3.1变量名
2.3.2变量类型
2.3.3变量值
2.4运算符及表达式
2.4.1C语言运算符简介
2.4.2算术运算符与算术表达式
2.4.3赋值运算符与赋值表达式
2.4.4关系运算符与关系表达式
2.4.5逻辑运算符与逻辑表达式
2.4.6条件运算符与条件表达式
2.4.7逗号运算符与逗号表达式
2.4.8不同类型数据间的混合运算与类型转换
2.5提高篇
2.5.1重点与难点
2.5.2典型题例
习题2第3章简单的C语言程序设计
3.1算法
3.1.1算法的概念
3.1.2算法的评价标准
3.1.3算法的表示
3.2结构化程序设计的方法
3.3程序的基本结构
3.3.1顺序结构
3.3.2选择结构
3.3.3循环结构
3.4顺序结构程序设计
3.5数据的输入与输出
3.5.1C语言中数据的输入与输出
3.5.2字符数据的输入与输出
3.5.3格式的输入与输出
3.6提高篇
3.6.1计算思维
3.6.2C语言程序的上机步骤及基本调试技术
习题3第4章选择分支结构程序设计
4.1二路分支——if语句
4.1.1if语句的一般形式
4.1.2if语句的嵌套
4.2多路分支——switch语句
4.2.1switch语句的一般形式
4.2.2switch语句的嵌套
4.3选择分支结构程序举例
4.4提高篇
4.4.1重点与难点
4.4.2典型题例
习题4第5章循环结构程序设计
5.1while语句
5.2do-while语句
5.3for语句
5.4goto语句
5.5循环的嵌套
5.6循环结束语句
5.6.1continue语句
5.6.2break语句
5.7提高篇
5.7.1重点与难点
5.7.2典型题例
习题5第6章指针基础
6.1地址和指针的概念
6.1.1变量的内容和变量的地址
6.1.2直接访问和间接访问
6.1.3指针的概念
6.2指针变量
6.2.1指针运算符
6.2.2指针变量的定义
6.2.3指针变量的引用
习题6第7章数组
7.1一维数组
7.1.1一维数组的定义和初始化
7.1.2一维数组元素的引用
7.1.3一维数组应用举例
7.2二维数组
7.2.1二维数组的定义和初始化
7.2.2二维数组元素的引用
7.2.3二维数组应用举例
7.3字符数组
7.3.1一维字符数组的定义和引用
7.3.2字符数组的输入与输出
7.3.3字符串处理函数
7.3.4二维字符数组
7.3.5字符数组应用举例
7.4指针与数组
7.4.1指向数组元素的指针
7.4.2字符指针、字符数组和字符串
7.4.3地址越界问题
7.4.4指针数组
7.4.5多维数组和指向分数组的指针
7.4.6动态数组
7.5提高篇
7.6综合实例
习题7第8章函数
8.1概述
8.1.1C语言程序的基本结构
8.1.2函数的分类
8.2函数的定义
8.3函数的调用与返回值
8.3.1函数调用的一般形式
8.3.2函数调用的方式
8.3.3函数的返回值
8.4函数的参数
8.4.1形参和实参
8.4.2数组作为函数参数
8.4.3引用传递
8.5函数声明和函数原型
8.6函数的嵌套调用
8.7函数的递归调用
8.8变量的作用域
8.8.1局部变量
8.8.2全局变量
8.9变量的存储类型
8.9.1静态存储方式和动态存储方式
8.9.2静态局部变量
8.9.3自动变量
8.9.4寄存器变量
8.9.5静态全局变量和非静态全局变量
8.9.6存储类型小结
8.10内部函数和外部函数
8.10.1内部函数
8.10.2外部函数
8.11指针与函数
8.11.1返回指针值的函数
8.11.2指向函数的指针变量
8.11.3指向函数的指针变量作为函数参数
8.12多文件程序的运行
8.13综合实例
8.14提高篇
8.14.1重点与难点
8.14.2数组或指针变量作函数参数
8.14.3典型题例
习题8第9章结构体与共用体
9.1结构体类型的定义
9.2结构体变量
9.2.1结构体变量的定义
9.2.2结构体变量的使用
9.3结构体数组
9.3.1结构体数组的定义
9.3.2结构体数组元素的使用
9.4结构体和函数
9.4.1结构体作函数参数
9.4.2返回值为结构体类型的函数
9.5共用体
9.5.1共用体类型的定义
9.5.2共用体变量
9.5.3共用体应用举例
9.6枚举类型
9.7typedef语句
9.8指针与结构体
9.8.1指向结构体的指针变量
9.8.2用指向结构体的指针作为函数参数
9.9提高篇
习题9第10章指针与链表
10.1存储空间的分配和释放
10.2链式存储结构——链表
10.2.1静态链表
10.2.2动态链表
10.3单链表
10.3.1单链表的建立
10.3.2单链表的遍历
10.3.3单链表的插入
10.3.4单链表的删除
10.4循环链表
10.5双向链表
10.6提高篇
10.6.1重点与难点
10.6.2典型例题
10.7综合实例
10.7.1需求分析
10.7.2系统设计
10.7.3功能设计
10.7.4小结
习题10第11章编译预处理、位运算及混合编程
11.1文件包含处理——#include
11.2宏定义——#define
11.2.1不带参数的宏定义
11.2.2带参数的宏定义
11.3条件编译
11.4位运算符和位运算
11.5位段
11.6位运算举例
11.7C语言与汇编语言的混合编程
11.7.1内嵌汇编代码
11.7.2模块化连接方法
习题11第12章文件
12.1文件概述
12.1.1数据流
12.1.2文件
12.1.3文件的操作流程
12.1.4文件和内存的交互处理
12.2文件类型的指针
12.3标准输入/输出函数
12.3.1打开文件
12.3.2关闭文件
12.3.3获取文件的属性
12.3.4文件的顺序读写
12.3.5文件的随机读写
12.3.6出错检查
12.4系统输入/输出函数
12.5提高篇
12.5.1重点与难点
12.5.2典型题例
12.6综合实例
习题12第13章C语言图形程序设计
13.1图形显示的坐标和像素
13.1.1图形显示的坐标
13.1.2像素
13.2Turbo C支持的图形适配器和图形模式
13.3图形模式的初始化
13.3.1图形系统的初始化函数
13.3.2图形系统的自动检测函数
13.3.3关闭图形模式函数
13.3.4屏幕颜色的设置
13.3.5清屏函数
13.4基本绘画
13.4.1画点函数
13.4.2画直线函数
13.4.3画矩形和多边形函数
13.4.4画圆和椭圆函数
13.4.5设定线型函数
13.5图形填充
13.5.1画填充图函数
13.5.2设定填充方式函数
13.5.3可对任意封闭图形填充的函数
13.6图形模式下的文本输出
13.6.1文本输出函数
13.6.2文本字体格式和输出方式的设置
13.7视口和视口函数
13.8屏幕操作
13.8.1设置显示页函数
13.8.2屏幕图像处理存储和显示函数
13.8.3键盘对屏幕的控制操作
13.9提高篇
13.10综合实例
习题13第14章C++面向对象程序设计
14.1面向对象程序设计
14.1.1面向对象程序设计的产生背景
14.1.2类和对象
14.1.3构造函数和析构函数
14.1.4继承
14.1.5多态性
14.2C++语言
14.2.1C++语言的特点
14.2.2输出流、输入流
14.2.3函数内联
14.2.4函数重载
14.2.5引用
14.2.6C++增加的运算符、数据类型和注释
14.2.7C++程序的集成开发环境
14.3C#语言
14.3.1C#简介
14.3.2C#的特点
14.4基于MFC库的用户界面编程基础
14.5提高篇
14.5.1重点与难点
14.5.2典型题例
习题14
附录
附录Ⅰ常用字符与ASCⅡ码对照表
附录ⅡC语言中的关键字表
附录ⅢC语言中运算符的优先级与结合性一览表
附录ⅣC库函数
附录ⅤVisual C++ 6.0菜单介绍
附录ⅥVisual C++ 6.0编译错误信息介绍
主要参考文献