77范文网 - 专业文章范例文档资料分享平台

VC6.0上机指导(C语言实验讲义)(3)

来源:网络收集 时间:2019-01-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

单击编译工具条上的Inert/Remove Breakpoint或F9,断点就设置好了,如果要取消断点,

,这个断点就取消了。

只要把光标放到要取消的断点处,单击

3)单击编译工具条入a=2.1,b=8.9,c=3.5.

(go F5),程序运行,等待输入一元二次方程a、b、c的值,输

4) 程序运行到第一个断点,在Watch窗口输入变量名a,b,c观察执行到第一个断点时变量a,b,c的值是否和(2)中输入一致。

注意,变量可以在Watch1、Watch2、Wathc3、Watch4任何一个窗口输入,输入可以是变量,也可以是表达式。

11

5)假设我们在输入的时候,输错了变量a的值,我们可以在Watch窗口重新赋值,改变原来的值,如我们在Watch窗口中输入表达式a=0,则a的值就改变为0了。

单步执行,单击,箭头指向下一行,说明程序执行到这一行,再观察变量a,b,c的值,发现变量b的值已经改变,原来输入的是8.9,现在已改变为0,我们在2)中输入变量b的值是8.9,说明在程序的执行过程中肯定有一个地方改变了b的值,通过仔细观察、分析,发现if语句中误把相等“==”写成了赋值“=”,所以b=0了,单击(Stop Debugging(Shift+F5)停止调试,把源程序中的“=”改为”==”后,重新编译、连接,没有出现错误信息。

6)单击,重新开始调试,执行3)和4),此时,观察b的值没有改变,单击,结束本次调试。

7)单击,重新开始调试,观察结果的正确性。

2.编程,输入任意三个数n1,n2,n3,求其中最大的一个数。 输入输出示例: Input n1,n2,n3: 2 10.5 8 max=10.50

提示:模仿1,运行时调试程序,包括设置断点、在Watch窗口设置变量的值等。 思考:

1)如何求5个数中的最大的一个数

2)如果要在3个字符中找出最大的一个,如何修改程序

3.编程,输入x,计算并输出下列分段函数f(x)的值(保留2位小数)。

y=

x 2x-1 3x-11

x<1 1<=x<10 x>=10

输入输出示例:

Input x: -2.5 f(-2.500000)=-2.5

提示:该程序应该运行3次,每次测试一个分支,即分别输入每个分段中的x值。 思考:假设x为整数,如何用switch计算上述分段函数。

4.编程,把百分制成绩转换成5级记分制,要求用switch语句。 90分以上(包括90): A 80至90分(包括80):B 70至80分(包括70):C 60至70分(包括60):D 60分以下:E 输入输出示例: Input Score: 86 86的等级为B 提示:

1)该程序应该运行6次,每次测试一种情况,即分别输入不同等级的成绩 2)在switch中使用break语句 思考:如何用if语句实现转换?

5.编程,输入2005年的任一个月,输出这个月的天数,要求使用switch语句。

12

输入输出示例:

Input month of 2005: 10 2005年10月有31天 提示:

1)该程序应该运行13次,分别输入1-12月,以及除此之外的数 2)运行时调试跟踪月份的变化

3)编程时注意不同月份可以有相同的天数 思考:输入年和月,如何求该月的天数?

6.改错,对2个整数进行乘、除和求余运算。 输入输出示例: 输入x 运算符 y : 21 % 8 21 Mod 8 = 5

源程序(有错误的程序) #include void main()

{ char sign; int x,y;

prnitf(“输入x 运算符 y:”); scanf(“%d%c%d”,&x,&sign,&y); if(sign=?*?)

printf(“%d * %d = %d\\n”,x,y,x*y); else if

printf(“%d * %d = %d\\n”,x,y,x*y); else if

printf(“%d * %d = %d\\n”,x,y,x*y); else

printf(“运算符输入错误”);

}

提示:在程序调试中,在变量窗口和Watch窗口中观察变量值的变化。

实验报告要求

将以上各题的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。

13

实验四 循环结构程序设计 (一)

实验目的

1.熟练使用while、do-while语句实现循环程序设计

2.理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处 3.掌握嵌套循环程序设计

4.熟练掌握下拉菜单Debug的程序调试方法 实验内容

1.调试示例:输入2个正整数m,n,输出它们的最小公倍数和最大公约数。 源程序(有错误的程序) #include void main() { int m,n,j,k;

printf(“input m n\\n”);

while(scanf(“%d%d”,&m,&n),m<0 && n<0); j=m;

while(j/n!=0) j=j+m; k=(m*n)/j;

printf(“最小公倍数是%d\\n最大公约数是%d\\n”,j,k); }

运行结果(改正后程序的运行结果) Input m n: 3 7 最小公倍数是21 最大公约数是1

“编译”菜单中的调试命令和调试工具栏中按钮的功能是一样的,可以使用“编译”菜单来调试程序。

1)输入并保存上述程序后,再进行编译和连接,没有出现错误信息。 2)调试程序开始,设置3个断点,执行“编译”->“开始调试”->入 “-3 7”

去命令,运行程序,输

3)程序执行到第一个断点,变量窗口显示m=-3,n=7,说明有错。因为如果输入负数,必须重新输入,直到输入2个正数为止。

注意:此时菜单栏中新出现一个“Debug”菜单,包括了调试工具栏中所有的调试工具,用

14

户可以选择使用“Debug”菜单或调试工具栏来调试程序。作用相同。

4)单击图标或按组合键Shift+F5停止调试,通过仔细分析,发现循环条件中m<0 && n<0应该是m<0||n<0。

注意:此时,不一定要停止调试,用户可以在Watch窗口输入m=3,再继续调试。

5)把&&改为||,重新编译和连接,然后单击图标或组合键Ctrl+Shift+F5重新开始调试,再单击图标或F5键,输入-3 7后,箭头如果不动,说明需要重新输入数据。

6)重新输入数据3 7,程序执行到第一个断点,观察变量窗口,m=3,n=7,没有错误。 7)继续单击,程序运行到第2个断点,变量窗口显示最小公倍数j的值是3,显然错误,说明第1个断点到第2个断点之间有错误。

8)单击图标或按组合键Shift+F5停止调试,仔细分析程序,发现循环条件j/n!=0错误,因为只有被n除尽的j才是最小公倍数,循环条件应该是j%n!=0。

9)重新编译、连接,并取消第一个断点,再单击图标或组合键Ctrl+Shift+F5重新开始调试,再单击图标或F5键,程序运行到新的第一个断点。

10)变量窗口显示最小公倍数j的值是21,最小公倍数计算正确。

11)单击图标或F5键,程序运行到最后一个断点,变量窗口显示最大公约数k的值是1,最大公约数计算正确。

12)单击图标或按组合键Shift+F5停止调试。

2.编程,输入一批整数,先求出其中的偶数和及奇数和,然后输出偶数和与奇数和的差.

输入输出示例:

输入一批整数:10 11 20 33 Ctrl+Z Sub=-14

提示:从键盘输入Ctrl+Z,表示一批数据输入结束 思考:如何从输入的数中找出一个最小的数。 3.编程,输入1个正实数eps,计算并输出下式的值,十到最后一项的绝对值小于eps。

s?1?15?19?113?117?121?...

输入输出示例: Input eps:0.00001 S = 0.866977

思考:如果条件改为前后2项的绝对值的差小于eps,如何编程。

3. 编程,输入1个实数x,计算并输出下式的值,直到最后一项小于10-5。要求定义和

调用函数fact(n)计算n的阶乘,以及定义和调用函数mypow(x,n)计算xn。 2!4!6!输入输出示例: X=2

S=3.761949

提示:输入不同的正整数和负整数验证结果 s?1?x2?x4?x6?...

思考:如何计算s?1?x22!?x33!?x44!?...的值。

4. 编程,输入一个整数,求它的各位数字之和及位数。例如123的各位数字之和是6,

位数是3. 输入输出示例:

输入一个整数:-12345

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库VC6.0上机指导(C语言实验讲义)(3)在线全文阅读。

VC6.0上机指导(C语言实验讲义)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/419283.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: