目 录

第1 章C 语言基础与顺序结构 1


1.1 认识C 语言程序1


1.1.1 了解C 语言程序的构成1


1.1.2 熟悉主函数框架 3


1.2 合理选用数据类型 7


1.2.1 合理选用整型数据7


1.2.2 合理选用实型数据 8


1.2.3 合理选用字符型数据10


1.3 学会使用常用运算符 11


1.3.1 学会使用算术运算符11


1.3.2 学会使用赋值运算符 13


1.4 学会控制输入/ 输出数据 14


1.4.1 使用格式输入/ 输出函数出加法题14


1.4.2 单个字符输入/ 输出函数的使用 15


1.5 画顺序结构的流程图 16


1.6 贯穿教学全过程的实例——公交一卡通管理程序(1) 17


1.7 本章总结 19
思考题 21
上机练习  21
自测题 21
自测题参考答案 23


第2 章分支结构24


2.1 if 语句 24


2.1.1 学习使用关系运算符和if 语句 24


2.1.2 认识省略else 的if 语句 26


2.1.3 学会使用逻辑运算符29


2.1.4 学会使用嵌套的if 语句 31


2.1.5 学会使用if...else if 形式的嵌套if 语句33


2.2 switch 语句35


2.2.1 认识switch 语句 35


2.2.2 多个case 语句相同情况的处理38


2.2.3 用switch 语句的技巧计算分段函数的值 39


2.3 用条件运算符转换大小写字母41


2.4 程序举例 42


2.4.1 掌握三个数中求最大数的方法 42


2.4.2 掌握三个数排序的方法 42


2.4.3 熟悉菜单设计操作43


2.5 贯穿教学全过程的实例——公交一卡通管理程序(2)44


2.6 本章总结 46
思考题 47
上机练习 48
自测题 48
自测题参考答案 50


第3 章循环结构52


3.1 使用for 语句实现循环控制52


3.1.1 使用for 语句重复显示信息 52


3.1.2 使用for 语句重复出加法题 54


3.2 使用while 语句实现循环控制 57


3.2.1 使用while 语句为学生分班 57


3.2.2 使用while 语句计算近似值59


3.3 使用do...while 语句实现循环控制 60


3.3.1 使用do...while 语句计算加法题正确率 60


3.3.2 使用do...while 语句编写打字练习程序 63


3.4 使用break 语句强行退出循环64


3.5 学会使用循环设计典型算法 66


3.5.1 学会找出Fibonacci 数列的各项来掌握递推算法 66


3.5.2 用迭代算法求解某数的平方根68


3.5.3 用枚举算法求解百元百鸡问题 70


3.5.4 学会判断质数的算法 73


3.6 贯穿教学全过程的实例——公交一卡通管理程序(3)77


3.7 本章总结 78
思考题 80
上机练习 81
自测题 82
自测题参考答案 84


第4 章数组86


4.1 认识数组 86

4.2 使用一维数组 86


4.2.1 定义与引用一维数组 86


4.2.2 在字符串中找出数字字符构造新数组 88


4.2.3 判断密码是否正确 89


4.2.4 求一批数据中的最大值 91


4.2.5 在有序数据中插入一个数93


4.2.6 排序数据94


4.3 使用二维数组 97


4.3.1 求两个矩阵的和97


4.3.2 求方阵对角线上元素之和 99


4.3.3 显示算术题和学生答题信息101


4.3.4 编写不同级别的打字练习程序 103


4.3.5 统计一个学习小组的成绩104


4.4 贯穿教学全过程的实例——公交一卡通管理程序(4)106


4.5 本章总结112
思考题113
上机练习114
自测题115
自测题参考答案116


第5 章指针118


5.1 认识变量的地址和指针变量118


5.2 通过指针访问普通变量118


5.3 通过指针访问数组120


5.3.1 通过指针计算总分120


5.3.2 通过指针将数据逆置122


5.3.3 通过指针找出最大值 124


5.3.4 通过指针排序数据 126


5.3.5 通过指针计算两个矩阵的和 126


5.4 通过指针访问字符串128


5.4.1 通过指针判断回文 128


5.4.2 在三个字符串中找出最大的字符串 131


5.4.3 将三个字符串从大到小进行排序 132


5.4.4 连接两个字符串 133


5.5 本章总结 135
思考题136
上机练习136
自测题 138
自测题参考答案 139


第6 章函数141


6.1 了解C 语言程序的执行过程 142


6.2 掌握自定义函数的编写与调用方法144


6.2.1 调用自定义函数计算1~ n 的和 144


6.2.2 调用自定义函数进行四则运算 148


6.2.3 在被调函数中交换数据 151


6.2.4 用嵌套调用的方法进行计算 153


6.3 调用自定义函数处理数组154


6.3.1 调用自定义函数输入/ 输出一维数组 154


6.3.2 调用自定义函数将数据逆置156


6.3.3 调用自定义函数求最大值 157


6.3.4 调用自定义函数判断回文 159


6.3.5 调用自定义函数计算两个矩阵的和 161


6.4 变量的存储类别162


6.4.1 内部变量和外部变量 162


6.4.2 动态存储变量和静态存储变量164


6.5 贯穿教学全过程的实例——公交一卡通管理程序(5) 166


6.6 本章总结 173
思考题176
上机练习.....  177
自测题177
自测题参考答案179


第7 章结构体 181


7.1 了解结构体类型数据的使用场合181


7.2 掌握结构体变量的使用方法 181


7.2.1 使用结构体变量处理实际问题 182


7.2.2 将结构体变量作为实参处理实际问题 186


7.3 掌握结构体数组的使用方法 187


7.3.1 使用结构体数组处理实际问题 187


7.3.2 将结构体数组名作为实参处理实际问题189


7.4 贯穿教学全过程的实例——公交一卡通管理程序(6) 197


7.5 本章总结205
思考题 207
上机练习208
自测题 210
自测题参考答案212


第8 章文件 213


8.1 了解文件的处理过程 213


8.2 掌握文件的基本操作本领 215


8.2.1 创建文本文件215


8.2.2 读取文本文件中的数据 217


8.2.3 创建二进制文件 218


8.2.4 读取二进制文件中的数据 219


8.3 文件的应用举例 221


8.3.1 编写算术考试程序 221


8.3.2 编写阅卷程序 222


8.3.3 复制文件 223


8.3.4 调用函数修改文件中的内容 225


8.4 贯穿教学全过程的实例——公交一卡通管理程序(7) 227


8.5 本章总结 247
思考题 248
上机练习249
自测题250
自测题参考答案 252


附录 253
附录AC 语言关键字 253
附录B 常用字符与ASCII 码对照表 253
附录C 运算符的优先级和结合方向 254
附录D 常用C 库函数254
附录E 用Visual C++ 2010 编写C 程序 257
附录FC 语言常见编译错误的中英文对照表261


参考文献 264