本书从分析C语言程序的基本结构开始,介绍了常量、变量、表达式和常用输入输出库函数、流程控制、数组和字符串处理、函数、指针、编译预处理命令、结构体和共用体、文件以及C语言高级程序设计等知识点。
考虑到兼容性,本书以介绍ANSI C为主线。每一章的示例程序都可在Visual C++ 6.0环境下编译运行,每一章后面均附有习题,读者通过完成习题可检验和巩固学过的内容。
本书可作为高等院校本科和专科相关专业的C语言课程教学用书,也可作为计算机应用开发人员的参考书或培训教材。
样章试读
目录
- 第1章 C语言概述
1.1 程序设计语言及其发展
1.1.1 机器语言
1.1.2 汇编语言
1.1.3 高级语言
1.2 C语言的历史
1.3 C语言的标准
1.4 C语言的程序结构
1.4.1 简单的C程序剖析
1.4.2 C程序的基本结构
1.5 C程序的运行
1.5.1 运行C程序的步骤
1.5.2 集成开发环境(IDE)
本章小结
习题
第2章 C语言程序设计基础
2.1 常量
2.1.1 整型常量
2.1.2 实型常量
2.1.3 单字符常量
2.1.4 字符串常量
2.1.5 符号常量
2.2 变量
2.2.1 变量名
2.2.2 变量的类型
2.2.3 变量的定义及操作
2.3 运算符与表达式
2.3.1 算术运算符和算术表达式
2.3.2 关系运算符和关系表达式
2.3.3 逻辑运算符和逻辑表达式
2.3.4 赋值运算符和赋值表达式
2.3.5 自增、自减运算符
2.3.6 条件运算符
2.3.7 逗号运算符和逗号表达式
2.4 运算符的优先级与结合性
2.4.1 优先级
2.4.2 结合性
2.5 类型转换
2.5.1 隐式类型转换
2.5.2 显式类型转换
本章小结
习题
第3章 输入与输出
3.1 读入一个字符
3.2 输出一个字符
3.3 格式化输入
3.3.1 整数输入
3.3.2 实数输入
3.3.3 单个字符输入
3.3.4 字符串输入
3.4 格式化输出
3.5 程序举例
本章小结
习题
第4章 选择结构程序设计
4.1 if语句
4.1.1 简单if语句
4.1.2 if...else语句
4.1.3 嵌套if...else语句
4.1.4 阶梯式if...else语句
4.2 switch语句
本章小结
习题
第5章 循环结构程序设计
5.1 goto语句
5.2 while语句
5.3 do...while语句
5.4 for语句
5.5 break语句与continue语句
5.5.1 break语句
5.5.2 continue语句
5.6 循环的嵌套
本章小结
习题
第6章 数组
6.1 一维数组
6.1.1 一维数组的定义
6.1.2 一维数组的引用
6.1.3 一维数组的初始化与赋值
6.1.4 一维数组的应用举例
6.2 二维数组
6.2.1 二维数组的定义
6.2.2 二维数组的引用
6.2.3 二维数组的初始化与赋值
6.3 字符数组与字符串
6.3.1 字符数组的定义
6.3.2 字符数组的初始化与赋值
6.3.3 字符串和字符数组
6.3.4 字符数组的输入输出
6.3.5 字符串处理函数
本章小结
习题
第7章 函数
7.1 函数概述
7.2 函数声明
7.3 函数定义和函数调用
7.3.1 函数定义
7.3.2 函数调用
7.3.3 参数传递
7.4 程序举例
7.5 函数的嵌套调用和递归调用
7.5.1 函数的嵌套调用
7.5.2 函数的递归调用
7.6 变量的作用域
7.6.1 局部变量
7.6.2 全局变量
7.7 变量的存储类别
本章小结
习题
第8章 指针
8.1 指针概述
8.2 访问变量的地址
8.3 指针变量的定义与运算
8.3.1 指针变量的定义
8.3.2 指针变量的初始化与赋值
8.3.3 通过指针访问变量
8.3.4 指针的运算
8.4 指针与一维数组
8.5 指向指针的指针与指针数组
8.5.1 指向指针的指针
8.5.2 指针数组
8.6 指针与二维数组
8.6.1 指向二维数组元素的指针
8.6.2 二维数组名与指针
8.6.3 二维数组与指向一维数组的指针变量
8.7 指针与字符串
8.8 指针兼容性
8.8.1 指针大小兼容
8.8.2 void指针
8.8.3 指针转换
8.9 指针与函数
8.9.1 指针作为实际参数
8.9.2 指针型函数
8.9.3 函数指针变量
8.10 main函数的参数
本章小结
习题
第9章 编译预处理
9.1 概述
9.1.1 预处理器的工作方式
9.1.2 预处理命令
9.2 宏定义
9.2.1 不带参数的宏定义
9.2.2 带参数的宏定义
9.3 文件包含
9.4 条件编译
本章小结
习题
第10章 结构体、共用体与枚举类型
10.1 结构体
10.1.1 定义结构体类型
10.1.2 定义结构体变量
10.1.3 访问结构体成员
10.1.4 结构体变量的初始化
10.1.5 结构体嵌套
10.1.6 结构体数组
10.1.7 结构体指针变量
10.1.8 结构体与函数
10.2 共用体
10.2.1 定义共用体类型
10.2.2 定义共用体变量
10.2.3 访问共用体成员
10.2.4 共用体变量的赋值
10.2.5 共用体变量的初始化
10.2.6 共用体的应用
10.3 枚举类型
10.3.1 定义枚举类型
10.3.2 定义枚举类型变量
10.4 用typedef定义类型
本章小结
习题
第11章 文件管理
11.1 概述
11.2 文件的打开与关闭
11.2.1 文件指针
11.2.2 文本文件与二进制文件
11.2.3 文件的打开
11.2.4 文件的关闭
11.3 文件的读/写
11.3.1 fputc函数和fgetc函数
11.3.2 fread函数和fwrite函数
11.3.3 fscanf函数和fprinf函数
11.3.4 fgets函数和fputs函数
11.4 文件的定位
本章小结
习题
第12章 C语言高级程序设计
12.1 位运算
12.1.1 位运算符
12.1.2 按位与运算
12.1.3 按位或运算
12.1.4 按位异或运算
12.1.5 按位取反运算
12.1.6 左移运算符(<<)
12.1.7 右移运算符(>>)
12.1.8 程序举例
12.2 动态存储分配
12.2.1 malloc函数
12.2.2 calloc函数
12.2.3 realloc函数
12.2.4 free函数
12.3 链表
12.3.1 链表概述
12.3.2 增加新节点
12.3.3 单向链表的遍历
12.3.4 查找数据项
12.3.5 插入节点
12.3.6 删除节点
12.3.7 清空链表
本章小结
习题
附录1 部分ASCII码表
附录2 C语言的部分关键字
附录3 运算符的优先级和结合性
参考文献