第1章 绪言 1
1.1 C语言的特点 1
1.2 C语言程序的开发过程 2
1.3 简单的C语言程序 2
习题 4
第2章 数据类型和算术表达式 6
2.1 常量和变量 6
2.1.1 常量 6
2.1.2 变量 6
2.2 基本数据类型及其常量 7
2.2.1 整型变量及其常量 7
2.2.2 浮点型变量及其常量 7
2.2.3 字符型变量及其常量 8
2.2.4 长整型、短整型和无符号整型 9
2.2.5 sizeof运算符 10
2.3 算术运算符、赋值运算符及其表达式 10
2.3.1 算术运算符和算术表达式 10
2.3.2 赋值运算符和赋值表达式 11
2.4 变量的初始化 12
2.5 不同类型数据之间的转换 12
2.5.1 自动类型转换 12
2.5.2 强制类型转换 13
2.6 类型定义 13
2.7 应用举例 14
习题 14
第3章 数据的输入和输出 16
3.1 数据的输入 16
3.1.1 字符输入函数getchat 16
3.1.2 格式输入函数scanf 16
3.2 数据的输出 18
3.2.1 字符输出函数putchar 18
3.2.2 格式输出函数printf 18
3.3 应用举例 20
习题 20
第4章 条件语句 22
4.1 语句和复合语句 23
4.2 关系运算符、逻辑运算符及其表达式 23
4.2.1 关系运算符和关系表达式 23
4.2.2 逻辑运算符和逻辑表达式 24
4.3 if语句 25
4.3.1 if语句 25
4.3.2 条件运算符 27
4.4 switch语句 27
4.5 应用举例 30
习题 32
第5章 循环语句 34
5.1 whilc循环语句 34
5.2 do-while循环语句 35
5.3 for循环语句 36
5.4 break语句和continue语句 38
5.4.1 break语句 38
5.4.2 continue语句 39
5.5 goto语句 40
5.6 逗号运算符和空操作语句 40
5.6.1 逗号运算符和逗号表达式 40
5.6.2 空操作语句 41
5.7 应用举例 41
习题 43
第6章 数组 46
6.1 一维数组 46
6.1.1 一维数组的定义和引用 46
6.1.2 一维数组元素的初始化 47
6.2 二维数组 48
6.2.1 二维数组的定义和引用 49
6.2.2 二维数组元素的初始化 50
6.3 字符数组和字符串 52
6.3.1 字符数组 52
6.3.2 字符串 53
6.4 应用举例 57
习题 59
第7章 函数和变量 61
7.1 函数的概念 61
7.2 函数的定义和调用 62
7.2.1 函数的定义 62
7.2.2 函数的调用 63
7.3 函数的返回值及其类型 63
7.4 函数的参数及其传递方式 66
7.4.1 非数组作为函数参数 66
7.4.2 数组作为函数参数 67
7.5 函数的嵌套调用和递归调用 69
7.5.1 函数的嵌套调用 69
7.5.2 函数的递归调用 70
7.6 变量的作用域及其存储类型 72
7.6.1 局部变量及其存储类型 73
7.6.2 全局变量及其存储类型 75
7.7 内部函数和外部函数 77
7.7.1 内部函数 77
7.7.2 外部函数 77
7.8 应用举例 78
习题 80
第8章 结构体和共用体 82
8.1 结构体类型变量的定义 82
8.2 结构体类型变量的引用 84
8.3 结构体的初始化 85
8.4 结构体和函数 86
8.5 结构体和数组 87
8.6 结构体的嵌套 89
8.7 共用体 91
8.8 枚举 93
8.9 应用举例 94
习题 96
第9章 指针 97
9.1 指针的基本概念 97
9.2 指针变量的定义和引用 97
9.2.1 指针变量的定义 97
9.2.2 指针变量的引用 98
9.3 指针和结构体 100
9.3.1 指向结构体的指针 100
9.3.2 结构体中包含指针 101
9.3.3 链表 102
9.4 指针和数组 105
9.5 指针和函数 112
9.6 应用举例 120
习题 125
第10章 位运算 128
10.1 二进制位运算 128
10.2 位段 133
10.3 应用举例 134
习题 135
第11章 编译预处理 137
11.1 宏定义 137
11.2 文件包括 139
11.3 条件编译 141
11.4 应用举例 143
习题 144
第12章 文件 147
12.1 件概述 147
12.2 文件类型指针和文件号 148
12.3 缓冲文件系统 148
12.3.1 文件打开函数fopen 148
12.3.2 文件关闭函数fclose 149
12.3.3 文件读函数fgetc,fread,fscanf 149
12.3.4 文件写函数fpute,fwrite,fprintf 150
12.3.5 文件定位函数rewind,fseek,ftell 152
12.3.6 应用举例 153
12.4 非缓冲文件系统 155
12.4.1 文件打开函数open和文件创建函数creat 155
12.4.2 文件关闭函数close 156
12.4.3 文件读函数read 156
12.4.4 文件写函数write 156
12.4.5 文件定位函数Iseek,tell 157
12.4.6 应用举例 157
习题 159
附录A 标准ASCII字符集 161
附录B 运算符的优先级及其结合性 163
附录C Turbo C集成开发环境简介 164
附录D C语言的巴科斯范式(BNF)描述 166
参考文献 170