第1章 认识C程序 1
1.1 项目一:认识C程序的基本结构 1
1.1.1 任务1:输出一个字符串 1
1.1.2 任务2:编写自定义函数实现求两个整数的和在主函数中输出 1
1.1.3 知识准备 2
1.2 项目二:编写、运行和调试任务2的程序 3
1.2.1 认识C语言的集成开发环境 3
1.2.2 C程序的编译过程 5
1.3 本章小结 6
习题一 6
第2章 认识C程序的语法 7
2.1 项目一:认识C语言的数据类型 7
2.1.1 任务:计算圆的周长和面积 8
2.1.2 知识准备 8
2.2 项目二:认识C语言的运算符与表达式 12
2.2.1 任务1:算术运算符及其表达式 13
2.2.2 任务2:关系运算符及其表达式 14
2.2.3 任务3:逻辑运算符及其表达式 14
2.2.4 任务4:位运算符及其表达式 16
2.2.5 任务5:赋值运算符及其表达式 16
2.2.6 任务6:其他运算符及其表达式 18
2.3 本章小结 19
习题二 20
第3章 顺序结构程序设计 22
3.1 项目一:字符输入输出函数的应用 22
3.1.1 任务:小写字母转换为大写字母 22
3.1.2 知识准备 22
3.2 项目二:带格式控制的输入输出函数的应用 23
3.2.1 任务:输入平行四边形的底和高,输出其面积(保留两位小数) 23
3.2.2 知识准备 23
3.3 项目三:顺序结构的程序设计 26
3.3.1 任务:输入圆柱体的底半径和高,输出其体积(保留三位小数) 26
3.3.2 知识准备 27
3.4 本章知识强化 27
3.5 本章小结 28
习题三 28
第4章 选择结构程序设计 31
4.1 项目一:单分支if语句 31
4.1.1 任务:字符检测与输出 31
4.1.2 知识准备 31
4.2 项目二:双分支if语句 32
4.2.1 任务:任意输入两个不相等的整数,输出较大的数 32
4.2.2 知识准备 32
4.3 项目三:if语句的嵌套 33
4.3.1 任务1:检测键盘输入的字符类型 33
4.3.2 知识准备 34
4.3.3 任务2:检测键盘输入的字符类型 35
4.3.4 知识准备 37
4.4 项目四:switch和break语句 37
4.4.1 任务:用switch语句将百分制成绩转换成五级制输出 37
4.4.2 知识准备 38
4.5 本章知识强化 39
4.6 本章小结 42
习题四 42
第5章 循环结构程序设计 46
5.1 项目一:while循环 46
5.1.1 任务:编程实现求1+2+3+…+100的和 46
5.1.2 知识准备 46
5.2 项目二:do-while循环 47
5.2.1 任务:编程实现求正整数n的阶乘 47
5.2.2 知识准备 48
5.3 项目三:for循环 49
5.3.1 任务:编程判断整数n是否是素数 49
5.3.2 知识准备 50
5.4 项目四:多重循环 51
5.4.1 任务:编程实现求1到10的阶乘之和 51
5.4.2 知识准备 52
5.5 本章知识强化 52
5.6 本章小结 57
习题五 58
第6章 数组 63
6.1 项目一:数值型一维数组的应用 63
6.1.1 任务:统计一组数据中正数的个数和他们的累加和 63
6.1.2 知识准备 64
6.1.3 知识强化 69
6.2 项目二:数值型二维数组的应用 72
6.2.1 任务:输入输出一个二维数组,并输出各元素的地址 72
6.2.2 知识准备 73
6.2.3 知识强化 75
6.3 项目三:字符型数组和字符串的应用 78
6.3.1 任务:利用一维数组输出字符串“I Am Student!” 78
6.3.2 知识准备 79
6.4 本章知识强化 85
6.5 本章小结 88
习题六 89
第7章 函数 94
7.1 项目一:函数调用 94
7.1.1 任务:编写两个自定义函数实现求两数的和与积 94
7.1.2 知识准备 95
7.1.3 知识强化 98
7.1.4 使用递归调用的方法求正整数n的阶乘 101
7.1.5 知识准备 102
7.1.6 知识强化 103
7.2 项目二:模块化程序设计 105
7.2.1 任务:设计一个等差数据系列产生器 105
7.2.2 知识准备 105
7.2.3 知识强化 112
7.3 本章小结 115
习题七 115
第8章 指针 121
8.1 项目一:指针变量的应用 121
8.1.1 任务:采用传址调用交换a,b变量的值 121
8.1.2 知识准备 122
8.1.3 知识强化 127
8.2 项目二:数组指针的应用 130
8.2.1 任务1:用下标法和指针法输出数组元素 130
8.2.2 知识准备 130
8.2.3 知识强化 133
8.2.4 任务2:采用不同的地址计算法输出二维数组元素 136
8.2.5 知识准备 138
8.2.6 知识强化 140
8.3 项目三:字符串指针的应用 141
8.3.1 任务:利用指针变量输出字符数组的内容 141
8.3.2 知识准备 142
8.3.3 知识强化 143
8.4 项目四:函数指针的应用 145
8.4.1 任务:使用函数指针变量调用函数 145
8.4.2 知识准备 146
8.4.3 知识强化 150
8.5 项目五:指针数组的应用 152
8.5.1 任务:使用指针数组找出多个字符串中的最大串 152
8.5.2 知识准备 153
8.5.3 知识强化 154
8.6 项目六:指向指针的指针的应用 155
8.6.1 任务:字符串排序 155
8.6.2 知识准备 156
8.6.3 知识强化 157
8.7 本章小结 158
习题八 159
第9章 结构体与共用体 167
9.1 项目一:结构体的应用 167
9.1.1 任务:输出学生信息表 167
9.1.2 知识准备 168
9.2 项目二:结构体数组的应用 173
9.2.1 任务:编写程序实现对候选人的得票数进行统计 173
9.2.2 知识准备 174
9.3 项目三:指向结构体类型数据的指针变量的应用 175
9.3.1 任务:使用指针输出结构体成员的值 175
9.3.2 知识准备 176
9.3.3 知识强化 177
9.4 项目四:共用体的应用 180
9.4.1 任务:编写程序用于学校对教师和学生信息进行统计 180
9.4.2 知识准备 181
9.4.3 知识强化 184
9.5 本章小结 185
习题九 189
第10章 文件 193
10.1 项目:文件应用 193
10.1.1 任务:文件的写入和读取 193
10.1.2 知识准备 194
10.1.3 知识强化 202
10.2 本章小结 207
习题十 208
第11章 综合实训一:编程制作一个同学通讯录 211
第12章 综合实训二:设计一个竞赛计分系统 221
附录 230
附录1 ASCII码表 230
附录2 常用库函数 231
附录3 运算符及其优先级 235
参考文献 237