目录 模块1C语言基础/1 任务1.1输出“Hello World! Hello C!”——了解C语言的结构1 1.1.1计算机程序及其设计语言1 1.1.2第一个C语言程序2 1.1.3第一个C语言程序的说明2 1.1.4C语言程序结构3 任务1.2熟悉编写C语言程序的环境4 1.2.1Visual C++6.0编程环境介绍4 1.2.2Devcpp编程环境介绍8 1.2.3C语言程序的设计步骤12 1.2.4C语言程序的执行过程与上机调试步骤12 任务1.3猜牌游戏的体验——C语言的综合运用一13 任务1.4打字游戏的体验——C语言的综合运用二14 归纳与总结14 拓展阅读15 习题115 模块2顺序结构程序设计及输入/输出语句/17 任务2.1计算三角形的周长和面积——数值计算17 2.1.1数据的分类18 2.1.2常量和变量18 2.1.3数据类型23 2.1.4数据的输入和输出26 2.1.5C语言算术表达式与数学公式30 2.1.6程序语句序列的表示31 2.1.7程序代码31 任务2.2密码的破解——字符运算32 2.2.1运算符与表达式32 2.2.2数据类型转换392.2.3对称加密技术的引入40 2.2.4运行程序41 任务2.3求解一元二次方程——数学函数和复杂公式42 2.3.1常用的数学函数42 2.3.2一元二次方程组的求解44 任务2.4猜牌游戏的界面——输入/输出语句46 任务2.5编程语句的规范化47 2.5.1标识符命名规则47 2.5.2程序版式48 2.5.3注释规范50 2.5.4编码原则51 归纳与总结52 拓展阅读52 习题253 模块3选择结构程序设计/56 任务3.1求数字的绝对值——if分支判断56 3.1.1if语句形式(1)——if形式57 3.1.2if语句形式(2)——ifelse形式57 3.1.3if语句形式(3)——ifelseif形式57 3.1.4C语言的语句58 3.1.5程序语句序列的表示59 3.1.6程序代码59 任务3.2完善三角形面积计算——ifelse分支判断60 3.2.1关系运算符与关系表达式60 3.2.2逻辑运算符与逻辑表达式61 3.2.3if条件判断语句61 3.2.4程序代码62 3.2.5程序说明62 3.2.6小技巧63 任务3.3学生学习成绩评定——多条件分支63 3.3.1结构化程序设计65 3.3.2随机函数65 3.3.3多分支选择65 3.3.4程序代码68 3.3.5程序说明69 3.3.6补充代码69 任务3.4猜牌游戏拓展——猜牌分支思考70 归纳与总结71 拓展阅读71 习题372 模块4循环结构程序设计/75 任务4.1打印抽奖号码——while循环75 4.1.1while循环语句76 4.1.2死循环76 4.1.3程序设计流程图77 4.1.4程序代码77 4.1.5程序说明77 4.1.6应用拓展77 任务4.2模拟抽奖——dowhile循环78 4.2.1dowhile循环语句79 4.2.2while和dowhile的区别79 4.2.3程序代码81 4.2.4程序说明81 4.2.5应用拓展82 任务4.3韩信点兵——for循环83 4.3.1穷举法84 4.3.2for循环语句84 4.3.3break语句84 4.3.4continue语句85 4.3.5break语句与continue语句的区别85 4.3.6goto语句85 4.3.7程序代码86 4.3.8程序说明86 4.3.9应用拓展87 任务4.4打印吉祥图案——循环嵌套87 4.4.1循环嵌套87 4.4.2for语句的一些特殊用法88 4.4.3算法分析89 4.4.4程序代码90 4.4.5程序说明91 任务4.5VC++6.0程序的跟踪调试入门92 4.5.1程序断点设置92 4.5.2观看值93 4.5.3进程控制94 4.5.4实例操作94 任务4.6猜牌游戏拓展——显示所选的牌96 4.6.1程序代码96 4.6.2程序说明96 归纳与总结96 拓展阅读97 习题497 模块5数组的应用/103 任务5.1一名参赛选手的评分程序——一维数组103 5.1.1一维数组的定义104 5.1.2一维数组元素的引用104 5.1.3一维数组的存储结构105 5.1.4一维数组的初始化105 5.1.5程序设计思路106 5.1.6程序代码107 5.1.7程序说明107 任务5.2多名参赛选手的评分程序——二维数组108 5.2.1二维数组的定义108 5.2.2二维数组元素的使用109 5.2.3程序设计思路110 5.2.4程序代码110 任务5.3参赛选手的成绩排名——冒泡排序和选择排序111 5.3.1冒泡排序112 5.3.2选择排序113 5.3.3冒泡排序和选择排序的比较114 5.3.4程序设计思路114 5.3.5程序代码114 任务5.4输入英文句子统计单词数——字符数组与字符串115 5.4.1字符型数组116 5.4.2字符串和字符串结束标志116 5.4.3字符串的输入/输出117 5.4.4字符串处理函数117 5.4.5程序设计思路120 5.4.6程序代码121 5.4.7程序说明122 任务5.5猜牌游戏拓展——数组的应用122 归纳与总结124 拓展阅读124 习题5125 模块6函数的应用/128 任务6.1打印字符图形——函数的定义与调用128 6.1.1函数的概念及分类129 6.1.2定义函数129 6.1.3函数的调用130 6.1.4形式参数和实际参数131 6.1.5程序设计流程131 6.1.6程序代码131 6.1.7程序说明132 任务6.2小学生加减法算术测试竞赛程序——有参函数133 6.2.1模块化程序设计133 6.2.2函数的分类133 6.2.3函数的返回值134 6.2.4函数调用中参数的传递方法134 6.2.5程序设计流程135 6.2.6程序代码136 6.2.7程序说明137 任务6.3排序——函数的调用及地址传递137 6.3.1地址传递137 6.3.2函数原型说明138 6.3.3全局变量、局部变量与变量的作用域139 6.3.4程序设计流程139 6.3.5程序代码140 任务6.4递归算法——函数的嵌套调用与递归调用141 6.4.1函数的嵌套调用141 6.4.2函数的递归调用142 6.4.3程序代码143 6.4.4递归函数的执行过程143 归纳与总结144 拓展阅读145 习题6146 模块7结构体与共用体的应用/149 任务7.1熟悉结构体149 7.1.1结构体数据类型的定义150 7.1.2结构体类型变量的说明151 7.1.3结构体变量成员的引用152 7.1.4结构体变量的赋值与初始化152 7.1.5结构体数组的说明与初始化153 任务7.2扑克牌人机游戏——结构体应用153 7.2.1程序设计流程153 7.2.2程序代码154 任务7.3共用体类型157 7.3.1共用体数据类型的定义158 7.3.2共用体数据类型的应用158 归纳与总结159 拓展阅读160 习题7160 模块8指针/162 任务8.1使用指针计算圆的面积——指针的定义162 8.1.1指针与指针变量163 8.1.2指针变量的定义164 8.1.3指针变量的初始化164 8.1.4程序代码165 任务8.2猜数游戏——指针指向一维数组的应用166 8.2.1指针指向数组167 8.2.2指针的移动168 8.2.3通过指针引用数组元素168 8.2.4指针变量作为函数的参数169 8.2.5程序代码170 任务8.3字符串纠正程序——指针指向字符串172 8.3.1字符串的表示形式172 8.3.2字符指针在字符串处理函数中的使用173 8.3.3空格和大写字母的判断174 8.3.4程序代码174 任务8.4猜牌游戏——指针的简单综合应用175 8.4.1类型定义关键字typedef175 8.4.2指向结构体变量的指针176 8.4.3结构体指针变量作为函数参数177 归纳与总结178 拓展阅读178 习题8179 模块9文件/182 任务9.1将字符写入文件——文件的定义及简单应用182 9.1.1文件的概念183 9.1.2文件的存储183 9.1.3文件指针的定义183 9.1.4文件的处理183 9.1.5打开文件184 9.1.6文本文件的读/写185 9.1.7关闭文件185 任务9.2简单的考试出题与评分系统——文件格式化读/写187 9.2.1打开多个文件187 9.2.2格式化读/写函数fscanf()和fprintf()187 任务9.3简单的人事信息管理系统——文件数据块的读/写190 9.3.1数据块读/写函数fread()和fwrite()190 9.3.2文件随机定位函数191 任务9.4猜牌游戏拓展——将用户名及选牌写入文件并保存193 归纳与总结194 拓展阅读194 习题9195 模块10综合项目实践/197 任务10.1打字小游戏197 10.1.1功能描述197 10.1.2系统设计197 10.1.3关键技术199 10.1.4程序实现200 10.1.5运行结果206 任务10.2人机互动猜牌游戏207 10.2.1功能描述207 10.2.2系统设计207 10.2.3关键技术207 10.2.4程序实现209 10.2.5运行结果213 拓展阅读214 附录/216 附录A常用的C语言库函数216 附录BC语言常见错误分析221 附录CASCII码表229 附录D习题参考解答230 参考文献/250