第1章 欢迎进入C语言世界 1
1.1 程序宏观框架结构及构成 1
1.1.1 程序框架结构 1
1.1.2 程序的构成 3
1.2 程序开发过程及环境 5
1.2.1 程序开发过程 5
1.2.2 程序开发环境 6
1.3 C语言特点及知识脉络 11
知识拓展 12
本章自测 14
第2章 程序设计基础知识 16
2.1 数据表示 16
2.1.1 数据类型 16
2.1.2 常量 18
2.1.3 变量 21
2.2 数据操作 22
2.2.1 运算符与表达式 22
2.2.2 类型转换 24
2.3 算法与三种基本程序结构 25
2.3.1 算法及其描述 25
2.3.2 三种基本程序结构 27
知识拓展 28
本章自测 30
第3章 顺序结构程序设计 31
3.1 字符输入与输出 32
3.1.1 字符输出函数putchar() 32
3.1.2 字符输入函数getchar() 32
3.2 格式化输入与输出 33
3.2.1 格式化输出函数printf() 33
3.2.2 格式化输入函数scanf() 35
3.3 综合应用案例 37
知识拓展 40
本章自测 42
第4章 选择结构程序设计 43
4.1 条件判断表达式 44
4.1.1 关系运算符及表达式 44
4.1.2 逻辑运算符及表达式 45
4.2 if选择语句 47
4.2.1 单分支if语句 47
4.2.2 双分支if-else语句 49
4.2.3 条件运算符 52
4.3 多分支switch语句 53
4.4 综合应用案例 56
知识拓展 60
本章自测 62
第5章 循环结构程序设计 63
5.1 循环的本质 64
5.2 二种循环结构语句 66
5.2.1 while语句 66
5.2.2 do-while语句 67
5.2.3 for语句 69
5.3 循环结构控制语句 70
5.3.1 break语句 70
5.3.2 continue语句 72
5.4 综合应用案例 73
知识拓展 76
本章自测 77
第6章 数组的使用 79
6.1 一维数组 80
6.1.1 一维数组的定义 80
6.1.2 一维数组的初始化 81
6.1.3 一维数组元素的引用 81
6.2 二维数组 83
6.2.1 二维数组的定义 83
6.2.2 二维数组的初始化 84
6.2.3 二维数组元素的引用 85
6.3 字符数组与字符串 86
6.3.1 字符数组的定义及初始化 86
6.3.2 字符串及其处理函数 87
6.4 综合应用案例 89
知识拓展 92
本章自测 93
第7章 函数的使用 94
7.1 为什么使用函数 95
7.2 函数的基本使用 97
7.2.1 函数的定义 97
7.2.2 函数的声明 98
7.2.3 函数的调用 99
7.3 函数递归调用 103
7.3.1 递归问题的引入 103
7.3.2 使用函数递归解决问题 104
7.4 用带参数的宏定义代替公式型函数 105
7.5 函数和变量的作用域及存储类型 107
7.5.1 函数的作用域及存储类型 107
7.5.2 变量的作用域 108
7.5.3 变量的存储类型 110
知识拓展 112
本章自测 113
第8章 指针的使用 115
8.1 地址与指针 116
8.1.1 指针变量的定义 116
8.1.2 指针变量的基本使用 117
8.2 用指针操作一维数组 120
8.2.1 用指针访问一维数组 120
8.2.2 数组名作函数参数 122
8.3 用字符指针操作字符串 124
8.4 返回地址的函数 126
知识拓展 127
本章自测 129
第9章 结构类型的使用 130
9.1 结构类型的基本使用 131
9.1.1 结构类型的说明 131
9.1.2 结构变量的定义 132
9.1.3 结构变量的引用 133
9.2 用函数处理结构类型数据 135
知识拓展 137
本章自测 139
第10章 文件操作 141
10.1 文件操作概述 142
10.2 文件的打开与关闭——fopen()与fclose() 142
10.3 文件读写操作 144
10.3.1 字符读写——fputc()和fgetc() 144
10.3.2 文件格式化读写——fprintf()和fscanf() 145
10.4 综合应用案例 147
知识拓展 150
本章自测 151
附表 153
附录A 常用字符与ASCII码对照表 153
附录B C语言运算符的优先级及其结合性 154
附录C C语言中的关键字 155
附录D C语言常用库函数 156
附录E 常用英文词汇及程序调试常见错误信息 161
参考文献 166