第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.2C程序的编译过程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
附录1ASCII码表230
附录2常用库函数231
附录3运算符及其优先级235
参考文献237
第1章认识C程序1
1.1项目一:认识C程序的基本结构1
1.1.1任务1:输出一个字符串1
1.1.2任务2:编写自定义函数实现求两个整数的和在主函数中输出1
1.2知识准备2
1.2.1C程序的特点2
1.2.2C程序的基本结构3
1.3项目二:编写、运行和调试任务2的程序3
1.3.1认识C语言的集成开发环境3
1.3.2C程序的编译过程5
1.4本章小结6
习题一6第2章认识C程序的语法7
2.1项目一:认识C语言的数据类型7
2.1.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.5任务6:其他运算符及其表达式18
2.3本章小结19
习题二20第3章顺序结构程序设计22
3.1项目一:字符输入输出函数的应用22
3.1.1任务1:键盘输入一个小写字母,输出其对应的大写字母22
3.1.2知识准备22
3.2项目二:带格式控制的输入输出函数的应用23
3.2.1任务1:输入平行四边形的底和高,输出其面积(保留两位小数)23
3.2.2知识准备23
3.3项目三:顺序结构的程序设计26
3.3.1任务1:输入圆柱体的底半径和高,输出其体积(保留三位小数)26
3.3.2知识准备27
3.4知识强化27
3.5本章小结28
习题三28第4章选择结构程序设计31
4.1项目三:单分支if语句31
4.1.1任务1:检测键盘输入是否是小写字母,若是则输出输入的字符31
4.1.2知识准备31
4.2项目二:双分支if语句32
4.2.1任务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任务1:用switch语句将百分制成绩转换成五级制输出37
4.4.2知识准备38
4.5知识强化39
4.6本章小结42
习题四42第5章循环结构程序设计46
5.1项目一:while循环46
5.1.1任务1:编程实现求1+2+3+……+100的和46
5.1.2知识准备46
5.2项目二:do——while循环47
5.2.1任务1:编程实现求正整数n的阶乘47
5.2.2知识准备48
5.3项目三:for循环49
5.3.1任务1:编程判断整数n是否是素数49
5.3.2知识准备50
5.4项目四:多重循环51
5.4.1任务1:编程实现求1到10的阶乘之和51
5.4.2知识准备52
5.5知识强化52
5.6本章小结57
习题五57第6章数组63
6.1项目一:数值型一维数组的应用63
6.1.1任务1:统计一组数据中正数的个数和他们的累加和63
6.2技术准备63
6.2.1一维数组概述63
6.2.2一维数组的定义和引用65
6.3一维数组强化练习68
6.4项目二:数值型二维数组的应用71
6.4.1任务1、输入输出一个二维数组,并输出各元素的地址71
6.5技术准备73
6.5.1二维数组的概念73
6.5.2二维数组的定义和元素引用73
6.5.3二维数组在内存中的存放形式73
6.5.4二维数组元素初始化和输出操作74
6.6知识强化74
6.7项目三:字符型数组和字符串的应用77
6.7.1任务1:利用一维数组输出字符串“I Am Student!”77
6.7.2知识准备78
6.8知识强化84
6.9本章小结87
习题六88第7章函数93
7.1项目一:函数调用93
7.1.1任务1:编写两个自定义函数实现求两数的和与积93
7.1.2知识准备94
7.1.3知识强化97
7.2任务2:使用递归调用的方法求正整数n的阶乘100
7.2.1知识准备101
7.2.3知识强化102
7.3项目二:模块化程序设计104
7.3.1任务1:设计一个等差数据系列产生器104
7.3.2知识准备104
7.3.3强化练习111
7.4本章小结113
习题七114第8章指针120
8.1项目一:指针变量的应用120
8.1.1任务1:采用传址调用交换a,b变量的值120
8.1.2知识准备121
8.1.3知识强化126
8.2项目二:数组指针的应用128
8.2.1任务1:用下标法和指针法输出数组元素128
8.2.2知识准备129
8.2.3知识强化132
8.2.4任务2:采用不同的地址计算法输出二维数组元素134
8.2.5知识准备136
8.2.6知识强化139
8.3项目三:字符串指针的应用140
8.3.1任务1:利用指针变量输出字符数组的内容140
8.3.2知识准备141
8.3.3知识强化142
8.4项目四:函数指针的应用144
8.4.1任务1:使用函数指针变量调用函数144
8.4.2知识准备145
8.5项目五:指针数组的应用150
8.5.1任务1:使用指针数组找出多个字符串中的最大串150
8.5.2知识准备151
8.5.3知识强化153
8.6项目六:指向指针的指针的应用154
8.6.1任务1:使用指针的指针将4个字符串按从小到大的顺序进行排序154
8.6.2知识准备155
8.6.3知识强化156
8.7本章小结156
习题八158第9章结构体与共用体166
9.1项目一:结构体的应用166
9.1.1任务1:输出学生信息表166
9.1.2知识准备167
9.2项目二:结构体数组的应用172
9.2.1任务1:编写程序实现对候选人的得票数进行统计172
9.2.2知识准备173
9.3项目三:指向结构体类型数据的指针变量的应用174
9.3.1任务1:使用指向结构体类型数据的指针变量来输出结构体成员的值174
9.3.2知识准备175
9.4知识强化176
9.5项目四:共用体的应用179
9.5.1任务1:编写程序用于学校对教师和学生信息进行统计179
9.5.2知识准备180
9.5.3知识强化183
9.6本章小结184
习题九187第10章文件192
10.1项目一:文件应用192
10.1.1任务1:文件的写入和读取192
10.1.2知识准备193
10.1.3知识强化201
10.2本章小结206
习题十207综合实训1编程制作一个同学通讯录210综合实训2设计一个竞赛计分系统220附录229
附录1ASCII码表229
附录2常用库函数230
附录3运算符及其优先级234参考文献236