实验指导书范本样本.docx
- 文档编号:334358
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:29
- 大小:195.50KB
实验指导书范本样本.docx
《实验指导书范本样本.docx》由会员分享,可在线阅读,更多相关《实验指导书范本样本.docx(29页珍藏版)》请在冰豆网上搜索。
实验指导书范本样本
《C程序设计语言》
实验指导书
信息教研室编
西南科技大学计算机科学与技术学院
8月
实验一简单的C语言程序
1.1实验类型:
验证型实验2学时
1.2实验目的
1、熟悉并学习使用C程序编译平台TurboC;
2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的C程序;
3、掌握C语言基础数据类型,熟悉变量定义和赋值方法;
4、学会使用C算术运算符和算术表示式;
1.3知识点介绍
1、C程序的结构。
一个程序有多个程序单位构成,每一个程序单位作为一个文件,编译系统分别对每个程序文件分别编译,然后连接起来形成可执行程序。
在一个程序单位中包含以下几部分:
预处理命令
全局声明部分
函数(有函数首部和函数体组成),一个C必须有一个(而且只能有一个)main()函数。
2、C数据类型和表示式
C有多种数据类型,数据类型隐含着该类数据的表示、存储及处理规则。
C运算符丰富,使用十分灵活。
有运算符和括号将运算对象(操作数)连接起来,构成表示式。
表示式中混合运算式要注意运算符的优先级和结合性。
另外,不同数据类型运算时,存在类型转换(隐式自动转换和强制转换)。
3、C程序的编写实现
用C语言编写程序——对源程序文件进行编译声称目标文件——对目标文件连接形成可执行程序——运行程序得到结果——分析结果。
1.4实验内容
题目1最简单的C程序
按提示的操作步骤,输入下面程序代码,编译连接并执行。
[实验提示]
按照操作步骤创立第一个应用:
(1)编辑你的第一个C源程序
(2)保存你的源文件
(3)编译、连接得到可执行程序
(4)改正源程序中的错误
(5)运行你的第一个程序
[思考与扩展]
1、如果程序中大小写输入错误如main写成Main,结果会怎样?
2、编译运行经过后,本程序输出了一行字符,如果还想输出一行字符:
"it’stooeasy!
"
程序代码该如何修改添加?
提示:
注意使用换行控制符’\n’
题目2简单应用—求圆柱体的体积
输入下面程序代码,编译运行。
[实验提示]
按照第一题的操作步骤文件,输入代码,编译连接,执行程序,输入测试数据分析结果是否正确,如有错误改正后再重新编译连接,直到没有错误为止。
[测试数据]
运行时输入:
58
-21
[思考与扩展]
1、如果运行时输入
3.85
程序的输出结果是什么,正确吗?
将程序中变量radius,high改为double类型,然后输入上面的测试数据,结果怎么样?
说明原因。
2、注意输入提示和输出提示语句,尝试修改输入数出提示语句。
题目3温度转换
输入华式温度,要求输出摄式温度。
公式C=5/9*(F-32)
输入输出要有文字说明,取两位小数。
[测试数据]
运行时输入:
30
17
实验二逻辑结构
2.1实验类型:
验证型实验2学时
2.2实验目的
1、掌握C程序控制的基本结构:
选择结构的实现;
2、掌握简单C程序的编写和调试
2.3知识点介绍
1关系运算、逻辑预算,关系表示式和逻辑表示式。
2、选择结构:
if语句,switch语句的应用。
2.4实验内容
题目1计算员工周工资
编写一个程序,输入某雇员的每周工作时间(以小时计)和每小时的工资数,计算并输出她的工资。
若雇员周工作小时超过40小时,则超过部分按原工资的1.5倍的加班工资来计算。
若雇员每周工作小时超过60小时,则超过60的部分按原工资的3倍的加班工资来计算,而40到50小时的工资仍按照原工资的1.5倍的加班工资来计算。
1、要求有输入提示和输出提示,如要输入雇员的工作时间和每小时的工资值时,能够提示:
”Pleaseinputemployee’sworktimeandwage_per_hour:
”
输出时,提示:
”Theemployee’swage:
”。
2、给你的程序加上注释,并注意排版格式,使得其清晰可读。
[实验提示]
1、从本次实验开始,我们开始编写稍微复杂的程序,涉及到一些简单的算法,请务必按实验要求养成良好编程的习惯,再次强调:
代码要写整齐,注意排板规范。
。
给你的变量起个好名字,不要什么变量都用a,b,c…等,变量最好用英文单词或单词的缩写命名,变量名字要体现变量在程序的含义和作用。
要有必要的注释!
!
养成这一良好的习惯很重要,请记住,”代码只被书写一次,而它被修改和阅读的次数可能是无限的”
2、本程序能够使用if语句和switch语句分别实现流程图分别如下:
if—elseif语句实现流程图
Switch语句实现流程图
[测试数据]
输入:
304
输入:
454.5
输入:
605
[思考与扩展]
1、尝试分别用if和switch语句实现选择结构语句
2、测试数据的选择应该考虑选择结构中的每一种情况都被执行一次,也就是选择的测试数据应该具有代表性,对本题来说,选择的数据因该分几种情况:
1)小于40的数据 2)大于40而小于50的数据,3)大于50的数据,4)不合理的数据比如负数或大于7*24的数,(注意一周最多只有7*24小时),设计一组你的测试数据。
题目2设计一个计算+、-、*、/的程序
程序从标准输入读入表示式:
输入:
4+2回车
则输出:
4+2=6
输入:
4*2回车
则输出:
4*2=8
。
。
。
。
。
。
。
实现要求:
1、有输入提示和输出提示,如要输入表示式时,能够提示:
"pealseintputarithmeticexpression:
"
输出时,提示:
"4+2=6"。
计算在用户输入的非政策表示式时程序结束并提示输入错误。
2、为你的程序加上注释,使得其清晰可读。
3、尝试利用调试程序来修改你程序的逻辑错误。
[实验提示]
具体计算可采用switch语句实现
switch(operator) //判断运算符
{
case'+':
result=operand1+operand2;
cout< break; case'-': …… default: …… } [测试数据] 自己设计一组测试数据,要求覆盖switch选择结构的中所有路径即每条case语句都被执行一次。 [思考与扩展] 1、使用switch语句中的break起什么作用? 2、你还有更好的实现方法么? 实验三循环控制 题目1下面程序计算n! 要求: 1、看懂代码,添加必要的注释。 2、分别用fordo-while语句改写程序。 3、当程序运行时输入20,会遇到困难,请改写程序? 4、计算-1! +2! -3! -…+20! 。 要求1)分别采用从左到右相加和从右到左相加的计算顺序;2)采用所有负项和所有正项分别相加 [实验提示] 1、设置断点调试程序。 在循环体语句部分设置几个断点,单步执行,观察需循环体语句的执行流程,即循环控制变量的变化,观察执行过程中个变量的值。 2、如果循环次数太大时,。 你应该设置合适的循环条件,使循环次数减少,否则单步执行完所有的循环次数太费时间,如某个循环共1000次,在调试时能够设置较小的循环次数10,待调试完毕再设置为1000。 [思考与扩展] 1、计算n! 时,当程序运行时输入20,会遇到困难,如何改写程序? 2、计算-1! +2! -3! -…+20! 程序中使用的循环嵌套,能够用forwhiledo-while结构进行组合,有几种组合方式? 题目2计算生日时星期几 编写一个程序,只要输入年月日,就能回答那天是星期几。 [实验提示] 1、已知公元1年1月1日是星期一 2、算法提示: 如果输入的是3月12日,计算方法是 (1)先计算从公元00初(0001-1-1)到末(-12-31)共多少天,注意其中有闰年,闰年是366天,平年是365天。 闰年的判断条件满足(见教材例3.8题): ((year%4==0&&year%100! =0)! ! (year%400==0)) (2)然后再计算1月1日到-3-12是多少天。 注意同样判断本年度是否闰年,即二月份是28天还是29天。 (3)上述两部分相加即从公元00初(0001-1-1)到末(-3-12)的天数,用该天数模7(total%7)即得到星期数。 2、用户多次循环输入数据并计算可采用while语句实现: //首先输入三个数据: cout<<"pleaseenteryearmonthday: " cin>>year>>month>>day; //首先输入三个数: 年月日 while(year! =0&&month! =0&&month! =0) { ……//具体计算语句 //本次循环结束前再次输入三个数据(年月日),为下次循环计算做准备 cout<<"pleaseenteryearmonthday: " cin>>year>>month>>day; } [测试数据] 1、1年1月1日是星期一 2、2年1月1日是星期二 3、用上机日期 4、1月1日是星期六 [思考与扩展] 1、用switch语句实现程序。 比较if和switch语句的区别。 2、对输入日期和理性检验,例如月份不能大于12,非闰年不得有2月29日,小月不得有4月31日 实验四数组 4.1实验类型: 验证型实验2学时 4.2实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出方法; 2、掌握字符数组和字符串的使用; 4.3知识点介绍 1、数组是有序数据的集合。 特点: 有序,元素必须是同一个类型,用下标标识每一个元素,数组在内存中占用一块连续的存储单元。 2、数组的定义: 定义时必须给出数组的大小(即数组元素的个数)。 数组使用时用下标标识特定的元素,注意使用时下标不要越界。 3、经常使用char类型的数组来处理字符和字符串。 字符数组和字符串数组的区别在于字符串数组有一个结束标志‘\0’. 4、常见的排序算法: 冒泡法和选择法。 4.4实验内容 题目1排序查找 用选择法对15个学生的成绩按从大到小的顺序排序,15个学生的成绩整数用scanf输入,如果输入的成绩不在[0,100]之间,则提示”输入错误”。 排序完成后,输入一个成绩,要求用折半查找法找出该成绩是该组中第几个元素的值(即第几名)。 如果该成绩不在数组中,则输出”无此成绩”。 [实验提示] 1、本题第一步首先对15个成绩排序,可使用冒泡法或选择法排序(冒泡排序算法见教材)。 选择法排序算法思想: n原数组中选择最小的一个元素,把它和位于第一个位置的元素互换位置;然后,在剩下的n-1个元素中选择最小的一个元素,并把它和第一个位置的元素交换;不断重复这些过程,直到最后两个元素。 如: 设有10个元素
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 指导书 范本 样本