为了激发学生的创新意识、培养学生的自学能力、锻炼学生的编程能力,本书在内容编排和体系结构上具有由浅入深、深入浅出、循序渐进的特点,其主要内容包括:程序设计和C语言概述、程序设计和算法;数据类型、运算符与表达式;语句与程序结构;数组;函数;指针;结构体与共用体;文件。为了提高读者的编程技巧,书后有附录,每章后都有习题。本书在结构上以程序设计为中心,以语言知识为工具,对C语言的语法规则进行了整理和提炼,深入浅出地介绍了C语言在程序设计中的应用;在学习上遵循循序渐进的原则,在内容上注重知识的完整性,实例讲解通俗易懂。本书可作为普通本科院校、高等专科学校的计算机教材,也可作为计算机培训和计算机考试辅导的教学用书,还可作为科技人员或程序开发人员的参考用书。
韩波,男,硕士,1978.12月生,陕西商洛人,现商洛学院数学与计算机学院计算机系主任,2003年毕业于西安交通大学,获计算机科学与技术专业学士学位
目 录
第1章 程序设计和C语言概述
1.1 程序和程序设计语言
1.1.1 程序
1.1.2 程序设计语言
1.2 C语言简介
1.2.1 C语言的产生和发展
1.2.2 C语言的特点
1.3 C程序的组成与结构
1.4 C语言的字符集与标识符
1.5 C程序的上机步骤
习题
第2章 程序设计和算法
2.1 程序设计的基本步骤
2.2 算法的概念
2.3 算法的特性
2.4 算法的描述方法
2.4.1 用自然语言表示算法
2.4.2 用流程图表示算法
2.4.3 用N-S图表示算法
2.4.4 用伪代码表示算法
2.4.5 用计算机语言表示算法
2.5 算法设计举例
2.5.1 顺序结构算法设计
2.5.2 选择结构算法设计
2.5.3 循环结构算法设计
2.5.4 常见算法设计
2.6 程序设计的基本方法
习题
第3章 数据类型、运算符和表达式
3.1 常量与变量
3.1.1 常量
3.1.2 变量
3.2 C语言的数据类型
3.2.1 C语言数据类型概述
3.2.2 整型数据
3.2.3 实型数据
3.2.4 字符型数据
3.3 不同类型数据的混合运算
3.3.1 不同数值型数据间的混合运算与类型转换
3.3.2 赋值运算中的数据类型转换
3.3.3 强制类型转换
3.4 运算符和表达式
3.4.1 C语言运算符简介
3.4.2 算术运算符和算术表达式
3.4.3 赋值运算符
3.4.4 关系运算符和关系表达式
3.4.5 逻辑运算符和逻辑表达式
3.4.6 逗号运算符和逗号表达式
3.4.7 条件运算符和条件表达式
3.4.8 位运算
习题
第4章 语句与程序结构
4.1 C语言语句
4.1.1 赋值语句
4.1.2 数据格式化输入与输出
4.1.3 字符型数据输入与输出
4.2 顺序结构程序设计
4.3 选择结构程序设计
4.3.1 if语句
4.3.2 switch语句
4.3.3 选择结构程序举例
4.4 循环结构程序设计
4.4.1 goto语句及用goto语句构成循环
4.4.2 while语句
4.4.3 do…while语句
4.4.4 for语句
4.4.5 辅助控制语句:break、continue语句
4.4.6 循环嵌套
4.4.7 循环结构程序设计举例
习题
第5章 数组
5.1 一维数组
5.1.1 一维数组的定义
5.1.2 一维数组的初始化
5.1.3 数组元素的引用
5.1.4 一维数组的应用举例
5.2 二维数组
5.2.1 二维数组的定义
5.2.2 二维数组的初始化
5.2.3 二维数组元素的引用
5.2.4 二维数组应用举例
5.3 字符数组
5.3.1 字符数组的定义、初始化及引用
5.3.2 字符串和字符串结束标志
5.3.3 字符数组的输入/输出
5.3.4 常用字符串处理函数
5.3.5 字符数组应用举例
习题
第6章 函数
6.1 函数概述
6.1.1 模块化程序设计
6.1.2 函数的分类
6.2 函数定义与声明
6.2.1 函数定义
6.2.2 函数声明与函数原型
6.3 函数调用与参数传递
6.3.1 函数的调用
6.3.2 函数的嵌套调用
6.3.3 函数的参数及参数传递
6.3.4 函数的返回值
6.4 数组作为函数参数
6.4.1 数组元素作为函数实参
6.4.2 数组名作为函数参数
6.5 递归
6.6 变量的作用域及其存储类型
6.6.1 局部变量
6.6.2 全局变量
6.6.3 变量的存储类型
6.7 内部函数和外部函数
6.7.1 内部函数
6.7.2 外部函数
6.8 编译预处理
6.8.1 宏定义
6.8.2 文件包含
6.8.3 条件编译
习题
第7章 指针
7.1 指针的基本概念
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.4 二维数组与指针
7.4.1 二维数组的地址
7.4.2 指向二维数组元素的指针变量
7.4.3 行指针变量—指向由n个元素组成的一维数组的指针变量
7.5 字符串与指针
7.5.1 字符串的表示与引用
7.5.2 字符串指针作函数参数
7.6 返回指针值的函数
7.7 指针数组
7.7.1 指针数组概述
7.7.2 指向指针的指针
7.8 函数的指针和指向函数的
指针变量
习题
第8章 结构体与共用体
8.1 结构体数据类型
8.1.1 结构体类型的定义
8.1.2 结构体类型变量
8.1.3 结构体数组
8.1.4 结构体指针
8.1.5 链表
8.2 共用体数据类型
8.2.1 共用体类型的定义
8.2.2 共用体变量的引用
8.2.3 共用体的应用
8.3 举数据类型
8.4 自定义类型
习题
第9章 文件
9.1 文件概述
9.2 文件类型指针
9.3 文件的打开与关闭
9.3.1 文件的打开(fopen函数)
9.3.2 文件的关闭(fclose函数)
9.4 文件的读写
9.4.1 文件的字符读写
9.4.2 文件的字符串读写
9.4.3 文件的数据块读写
9.4.4 文件的格式化输入/输出函数fscanf和fprintf
9.5 文件的定位
9.6 文件的出错检测与处理
习题
附录A 常用字符与ASCII值对照表
附录B C语言中的关键字
附录C 运算符和结合性
附录D 常用的C库函数
参考文献