内容简介
本书作为C语言程序设计的入门实验教材,共分8组实验,主要涵盖顺序结构程序设计、选择结构程序设计、循环结构程序设计、利用数组处理批量数据、字符串处理、用函数实现模块化程序设计、善于利用指针和用户建立数据类型等知识点内容。每组实验包含实验目的、基础知识、基础实验内容题目和实验拓展题目。基础实验内容题目只需读者掌握实验的基础知识即可完成,实验拓展题目需要综合所学的内容并加以拓展延伸才能完成。为了提高读者的编程水平,本书还设有4个综合性练习,综合练习题目由易至难,力求尽量用通俗易懂的程序示例和语言叙述C语言中的主要知识点,帮助读者建立程序设计的思维方式、编程和程序调试技巧。实验题目和综合练习题目中都包含涉及的算法内容、解题思路和部分代码段,以便读者理解及编写程序。教材最后设有四套模拟考试题目,以便读者检验所学知识。
本书易教易学,深入浅出地描述C语言的精髓,通过例题巩固基本知识,通过拓展题目提高解题能力。本书适合作为普通高等院校应用型本科(含部分专科、高职类)各相关专业的C语言程序设计实验用教材,也可作为参加大学生程序设计竞赛及自学C语言辅导教材使用。前 言C语言是一种通用的、过程式的编程语言,已成为目前软件开发者们使用最多的一种计算机语言。本书是针对C语言的学习而编写的实验教材用书,是结合本科院校非计算机专业学生目前的实际情况而精心编写的,与张丽萍、孟繁军等编著的《C语言程序设计基础教程》(清华大学出版社,2014年出版)配套的参考书。本书在编写过程中,从基础知识着手,循序渐进,力求尽量用通俗易懂的程序示例和语言叙述C语言中的主要知识点,帮助初学者们建立程序设计的思维方式、程序编写和程序调试技巧。本指导手册共包含8组实验和4个综合练习,对应《C语言程序设计基础教程》相应章节的内容。每组实验均明确实验目的、基础知识、实验基本内容及实验拓展,能帮助读者有效地掌握C语言程序设计的核心内容。并通过综合练习模块的内容为学习者提供练习机会,该部分不属于实验课程中必做编程题目,其中含一些竞赛题目,可为有意参加国际大学生程序设计竞赛(ACM)或对编程感兴趣的读者提供参考。书中所有实验题目和综合练习题目均有详细的解题思路的解释及代码。并提供了模拟考试在线测评系统(http://118.230.58.253/JudgeOnline)来考查读者的掌握程度。本书附赠的电子课件包含所有实验、综合练习题目的完整代码,望给大家带来一些编程上的提示。如教师需要所有题目的测试数据,完整代码,可以与我们联系(cntclmg@imnu.edu.cn)。本书由王海龙、苏贵斌、澈力木格、孟繁军编写,所有编者均是多年专门从事C语言教学、具有丰富教学经验的教师。参加编写和审校工作的还有白喜文、李联合、默原等。由于编者水平有限,不足与疏漏之处在所难免,敬请读者批评指正。目 录第1章 顺序结构程序设计 11.1 实验目的 11.2 基础知识 11.2.1 最简单的C程序 11.2.2 转义字符及其作用 21.2.3 定义变量 21.2.4 输入语句scanf 31.2.5 整型 41.2.6 浮点型 41.2.7 字符型 41.2.8 输入输出格式控制 51.3 基本实验内容 6问题A:原样输出 6问题B:复数相加 7问题C:浮点数相加 8问题D:输出ASCII码值 9问题E:十进制转换为十六进制 10问题F:八进制转换为十进制 111.4 实验拓展 11问题G:温度转换 11问题H:求平均数 12问题I:计算体积 13问题J:小写字母转换为大写字母 14第2章 选择结构程序设计 162.1 实验目的 162.2 基础知识 162.2.1 if语句 162.2.2 关系表达式和逻辑表达式 172.2.3 switch语句 182.3 基本实验内容 19问题A:判断负数 19问题B:求绝对值 20问题C:比较两个整数的大小 21问题D:判断闰年 22问题E:成绩转换(一) 232.4 实验拓展 24问题F:判断能否组成三角形 24问题G:求一元二次方程的根 25问题H:ASCII码排序 27问题I:成绩转换(二) 29问题J:简单计算器 30第3章 循环结构程序设计 323.1 实验目的 323.2 基础知识 323.3.1 while语句 323.2.2 do…while语句 323.2.3 for语句 333.3 基本实验内容 33问题A:简单数字打印 33问题B:求和 34问题C:计算n! 35问题D:求立方和 363.4 实验拓展 37问题E:整数的个数 37问题F:水仙花数 38问题G:判断素数 40问题H:数据简单处理 42问题I:猴子吃桃 43问题J:斐波那契数列 44第4章 综合练习题目(一) 46问题A:平方和与立方和 46问题B:最大公约数 47问题C:最小公倍数 48问题D:求素数 50问题E:倒序输出 51问题F:输出菱形 52问题G:制作数字三角形 54问题H:计算器 56问题I:收入统计 57问题J:九九乘法表 58第5章 利用数组处理批量数据 605.1 实验目的 605.2 基础知识 605.2.1 数组定义 605.2.2 选择排序 605.2.3 冒泡排序 615.2.4 二维数组 625.3 基本实验内容 62问题A:逆序输出 62问题B:数值排序 63问题C:矩阵输入输出 655.4 实验拓展 66问题D:陶陶摘苹果 66问题E:评委会打分 67问题F:母牛的故事 68问题G:又是斐波那契数列 70问题H:十进制转换为六进制 71问题I:矩阵加法 72问题J:矩阵乘法 73第6章 字符串处理 766.1 实验目的 766.2 基础知识 766.2.1 定义字符数组 766.2.2 字符串输入输出 776.2.3 字符串函数 776.3 基本实验内容 78问题A:打印数字字符串 78问题B:求字符串长度 79问题C:字符串连接 80问题D:字符串复制 81问题E:字符串比较 83问题F:大写换小写 84问题G:小写换大写 856.4 实验拓展 85问题H:字符串统计 85问题I:统计大写字母 86问题J:大小写改写 87第7章 综合练习题目(二) 89问题A:至少要几个数,才超过100 89问题B:绝对值排序 90问题C:矩阵转置 92问题D:杨辉三角 93问题E:图片旋转 95问题F:字符串的价值 98问题G:字符分类统计 99问题H:特定字符出现次数 100问题I:驾校考试 101问题J:首字母大写 102第8章 用函数实现模块化程序设计 1048.1 实验目的 1048.2 基础知识 1048.2.1 函数的基本知识 1048.2.2 函数的定义 1058.2.3 函数的调用 1068.2.4 函数之间的调用 1068.3 基本实验内容 107问题A:原样输入输出 107问题B:求大值 108问题C:四个数中求最大值 110问题D:他的年龄是多少 1118.4 实验拓展 112问题E:兔子繁殖 112问题F:求平均成绩 114第9章 善于利用指针 1169.1 实验目的 1169.2 基础知识 1169.2.1 指针定义 1169.2.2 引用指针变量 1179.2.3 运算符&和* 1179.2.4 指针指向数组时的运算 1189.3 基本实验内容 119问题A:三个数值排序 119问题B:两个数值排序 120问题C:指定位置输出 122问题D:数值排序 1239.4 实验拓展 124问题E:输出二维数组指定位置 124问题F:字符串排序 125第10章 用户建立数据类型 12810.1 实验目的 12810.2 基础知识 12810.2.1 定义结构体 12810.2.2 定义结构体类型变量 13010.2.3 结构体变量的初始化和引用 13010.2.4 定义结构体数组的一般形式 13110.3 基本实验内容 131问题A:成绩比较 131问题B:成绩排序 132问题C:输出信息 13410.4 实验拓展 135问题D:求排名 135问题E:年龄为多大 136问题F:小白鼠排队 138第11章 综合练习题目(三) 140问题A:Hanoi塔问题 140问题B:判断数独 142问题C:油田合并 147问题D:奖学金 149问题E:复数计算 151问题F:约瑟夫问题 154问题G:移动小球 156问题H:线性表操作 159问题I:消除星星 162问题J:青蛙的约会 164第12章 综合练习题目(四) 169问题A:汽水瓶 169问题B:寻找X 170问题C:等差数列求值 171问题D:牛羊马的问题 172问题E:怪阿数S 174问题F:整数数列求和 175问题G:输出字母图形 176问题H:LED显示器 177问题I:数根 181问题J:福彩玩法 182问题K:装箱子 185问题L:十进制转换为R进制 187问题M:R进制转换为十进制 188问题N:今天,你AC了吗 189问题O:回文单词 191问题P:消掉ACM 192问题Q:最大整数 194问题R:螺旋方阵 195问题S:找鞍点 197问题T:扫雷游戏 199模拟考题(一) 203题目A:求特定数值和(10分) 203题目B:与7有关的数(10分) 203题目C:三角形面积(10分) 204题目D:英文输出(10分) 204题目E:第几天(20分) 205题目F:单词统计(20分) 206题目G:圆(20分) 206模拟考题(二) 208问题A:求奇数和(10分) 208问题B:求出生年月日(10分) 208题目C:简单计算(10分) 209题目D:判断完数(10分) 209题目E:矩阵最大值(20分) 210题目F:走楼梯(20分) 211题目G:计算两点间的距离(20分) 211模拟考题(三) 213问题A:小树成长(10分) 213问题B:成绩计算(10分) 214题目C:数羊(10分) 215题目D:数字的个数(10分) 216问题E:密码问题(20分) 216题目F:IP地址(20分) 217题目G:加法运算(10分) 218题目H:有序数据(10分) 219模拟考题(四) 220题目A:还是A+B(10分) 220题目B:平行四边形(10分) 220题目C:求子串(10分) 221题目D:卖西瓜(10分) 222题目E:条件输出(10分) 223题目F:通讯录(20分) 223题目G:斗地主(20分) 224题目H:求和(10分) 225附录 在线测评系统使用指南 226参考文献 230