本书是《C语言程序设计》的第三版,为C语言程序设计课程教材。全书共分13章,全面地介绍了C语言的基本语法及C语言程序的设计方法,内容包括:C语言程序设计概述,数据类型、运算符与表达式,顺序结构程序设计,选择结构程序设计,循环结构程序设计,数组,函数,用户标识符的作用域和存储类,编译预处理,指针,结构体、共用体和用户定义类型,位运算,文件。每章后面均配有大量的习题,附录中介绍了C语言的关键字、ASCII代码表、运算符及其优先级和结合性、C语言的常用库函数。为了便于教学和自学,本书配有《C语言程序设计导学》(第三版)。 本书特别适合于本、专科非计算机专业的初学者,也可供计算机等级考试者和其他各类学习者使用参考。
样章试读
目录
- 第1章 C语言程序设计概述
1.1 程序和程序设计语言
1.1.1 程序与程序设计
1.1.2 程序设计语言
1.1.3 语言处理程序
1.1.4 设计程序的基本原则
1.2 算法
1.2.1 算法及算法的特性
1.2.2 算法的表示
1.3 结构化程序设计方法
1.4 C程序的基本结构
习题1
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型
2.2 常量、变量与标识符
2.3 整型数据
2.4 实型数据
2.5 字符型数据
2.6 算术运算符和算术表达式
2.7 赋值运算符与赋值表达式
2.8 逗号运算符与逗号表达式
2.9 求字节数运算符
习题2
第3章 顺序结构程序设计
3.1 C语句概述
3.2 赋值语句
3.3 数据的输入与输出
3.3.1 printf函数
3.3.2 putchar函数
3.3.3 scanf函数
3.3.4 getchar函数
3.4 顺序结构程序举例
习题3
第4章 选择结构程序设计
4.1 关系运算和逻辑运算
4.1.1 逻辑值及其在C语言中的表示
4.1.2 关系运算符与关系表达式
4.1.3 逻辑运算符与逻辑表达式
4.2 if语句
4.2.1 if语句的三种常用形式
4.2.2 if语句的嵌套
4.3 条件运算符和条件表达式
4.4 switch语句
4.4.1 switch语句的一般形式与执行过程
4.4.2 switch语句体中的break语句
4.5 选择结构程序举例
习题4
第5章 循环结构程序设计
5.1 语句标号、goto语句及用goto语句构成的循环
5.2 while语句和用while语句构成的循环
5.3 do-while语句和用do-while语句构成的循环
5.4 for语句和用for语句构成的循环
5.5 循环结构的嵌套
5.6 break语句和continue语句在循环体中的作用
5.6.1 break语句
5.6.2 continue语句
5.7 循环结构程序举例
习题5
第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.2.4 二维数组的定义和数组元素引用举例
6.3 字符数组
6.3.1 字符数组的定义与引用
6.3.2 字符数组的初始化
6.3.3 用字符数组来存放字符串
6.3.4 字符数组的输入与输出
6.3.5 用于字符串处理的函数
6.3.6 字符数组应用举例
习题6
第7章 函数
7.1 库函数
7.2 函数的定义和返回值
7.2.1 函数的定义
7.2.2 函数的返回值
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.6.1 函数的嵌套调用
7.6.2 函数的递归调用
7.7 程序举例
习题7
第8章 用户标识符的作用域和存储类
8.1 局部变量、全局变量和存储分类
8.1.1 用户标识符的作用域及变量的生存期
8.1.2 局部变量、全局变量和存储分类
8.2 局部变量及其作用域和生存期
8.2.1 auto变量
8.2.2 register变量
8.2.3 静态存储类的局部变量
8.3 全局变量及其作用域和生存期
8.3.1 全局变量的作用域和生存期
8.3.2 全局变量的作用域扩展
8.3.3 静态全局变量
8.4 外部函数与内部函数
8.4.1 外部函数
8.4.2 内部函数
习题8
第9章 编译预处理
9.1 宏定义
9.1.1 不带参数的宏定义
9.1.2 带参数的宏定义
9.1.3 终止宏定义
9.2 文件包含
9.3 条件编译
习题9
第10章 指针
10.1 指针的基本概念
10.2 指针变量的定义与引用
10.2.1 指针变量的定义
10.2.2 指针变量的引用
10.2.3 指针变量的赋值运算
10.2.4 二重指针变量
10.2.5 空指针和void类型指针
10.3 函数之间地址值的传递
10.3.1 指针变量作为函数参数
10.3.2 返回地址值的函数
10.4 一维数组和指针
10.4.1 通过指针引用数组元素
10.4.2 数组名或指针变量作形参
10.4.3 使用指针变量处理一维数组的应用举例
10.4.4 用指向字符的指针变量处理字符串
10.4.5 使用指针变量处理字符串应用举例
10.5 多维数组和指针
10.5.1 二维数组和数组元素的地址
10.5.2 通过指向数组元素的指针引用二维数组
10.5.3 通过行指针引用二维数组
10.5.4 指针数组
10.6 函数和指针
10.6.1 用函数指针变量调用函数
10.6.2 用指向函数的指针作函数参数
10.7 小结
10.7.1 指针基本概念与性质小结
10.7.2 有关指针的数据类型的小结
10.7.3 指针运算的小结
习题10
第11章 结构体、共用体和用户定义类型
11.1 结构体类型及结构体变量
11.1.1 结构体类型的定义
11.1.2 结构体类型变量的定义
11.1.3 结构体变量的内存空间大小
11.1.4 结构体变量的引用
11.1.5 结构体变量的初始化
11.2 结构体数组
11.3 指向结构体的指针
11.3.1 指向结构体变量的指针
11.3.2 指向结构体数组的指针
11.4 结构体与函数
11.5 链表
11.5.1 链表概述
11.5.2 链表的基本操作
11.6 共用体
11.6.1 共用体类型的定义
11.6.2 共用体类型变量的定义
11.6.3 共用体变量的引用
11.7 枚举类型
11.8 用typedef定义一种新类型名
习题11
第12章 位运算
12.1 位运算符与位运算
12.2 位运算举例
12.3 位段
习题12
第13章 文件
13.1 C语言文件的基本概念
13.2 文件指针
13.3 文件的打开与关闭
13.3.1 文件的打开(fopen函数)
13.3.2 文件的关闭(fclose函数)
13.4 文件的读写
13.4.1 字符的输入与输出(fputc函数、fgetc函数、putc函数、getc函数)
13.4.2 检查文件是否结束(feof函数)
13.4.3 字符串的输入与输出(fgets函数和fputs函数)
13.4.4 二进制数据块的输入与输出(fread函数和fwrite函数)
13.4.5 格式化的文件输入与输出(fscanf函数和fprintf函数)
13.5 文件的定位
13.5.1 改变文件读写位置(fseek函数)
13.5.2 ftell函数
13.5.3 反绕(rewind函数)
13.6 文件的出错检测
13.6.1 出错检测(ferror函数)
13.6.2 清除错误标志(clearerr函数)
习题13
附录A C语言的关键字
附录B ASCII代码表
附录C 运算符及其优先级和结合性
附录D C语言的常用库函数