还剩10页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
实验2顺序结构与逻辑运算学号姓名实验日期
1.实验目的和要求
(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符
(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法
(3)能够正确使用逻辑运算符和逻辑表达式
(4)学会运用逻辑表达式或关系表达式等表示条件
(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构
(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果
(7)学会编写简单程序
2.实验内容实验指导书中的实验三和实验四
3.实验步骤及结果实验三部分3-1-1该程序的功能是输出m=345n=
2.560000并计算输出n*100程序运行结果画面如下#includestdio.hmain{intm=345;floatn=
2.56;printfm=%dn=%fn*100=%f\nmnn*100;}3-1-2该程序的功能是输入三个数赋给abc,输出这三个数,并计算输出s=a*b和v=a*b*c的值程序运行结果画面如下#includestdio.hmain{doubleabcsv;scanf%lf%lf%lfabc;s=a*b;v=a*b*c;printf%lf%lf%lf\nabc;printfs=%lf\ns;printfv=%lf\nv;}3-2-1该程序的功能是输入两个整数m,n,输出m,n并使其输出时每个数输出宽度为6,两数之间逗号间隔;并输出x,y并使其每个数输出宽度为7,小数位数为2程序运行结果画面如下#includestdio.hmain{intmn;floatx=
3.5y=
6.2;scanf%d%dmn;printfm=%6dn=%6d\nmn;printfx=%
7.2fy=%
7.2f\nxy;}3-2-2该程序的功能是赋给abmnpq数值,并输出abmn的整型数值和pq的浮点型数值程序运行结果画面如下#includestdio.hmain{intab;longmn;floatpq;scanf%d%d\nab;scanf%f%f\npq;scanf%ld\n%ldmn;printfa=%db=%d\nm=%ldn=%ld\nabmn;printfp=%fq=%f\npq;}3-3注意这道程序我们不按书中提示进行,而在VC环境下进行调试语法错误和逻辑错误的区别何在?语法错误有错误提示,程序不可运行;逻辑错误无错误提示,程序可运行,但得不到你想求得的答案如何启动单步调试?在菜单栏中选择“组建”,然后在下拉菜单中选择“开始调试”,然后选择“StepInto”要使程序运行到“ss=k…”这一行暂停下来,该如何操作点到“ss=k…”这一行,按F9,设置一个断点怎样终止调试状态(程序复位)?在菜单栏中选择“调试”,然后选择“StopDebugging”单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部)第一种选择“StepInto”,跟踪到自定义函数内部;第2种选择“Stepover”,不跟踪到自定义函数内部在本题中,假设要在运行第2条语句(即scanf语句后),要马上观察i,j,k,ss,m,n的变量的值,操作方法在菜单栏中选择“组建”,然后在下拉菜单中选择“开始调试”,然后选择“StepInto”,在watch窗口的名称下的框中输入要马上观察的“i,j,k,ss,m,n”,请把观察这些变量时的画面粘贴到下面#includestdio.hmain{intijkssm=1n=1;scanf%d%dij;m+=i++;n*=--j;ss=k=m+2n-5k+n;printf%dss;}通过这道题单步调试,你对i++和++i及i—和—i应该有了更直观的理解,他们的区别在于i++和i—是在使用变量后加(减)一,++i和—i是在使用变量前加(减)一3-4请回答书中问题问题
(1)都可以问题
(2)用printf函数,c
1、c2输出的格式符用%d问题
(3)不可以程序运行结果画面如下#includestdio.hmain{charc1c2;c1=getchar;c2=getchar;putcharc1;putcharc2;printf\n;printf%c%c\nc1c2;}3-5我使用的算法运用求商的整数部分和求余数进行分钟的转换运行结果画面#includestdio.hmain{intxhm;printf输入需转换的分钟数;scanf%dx;h=x/60;m=x%60;printf%d小时%d分钟hm;}3-7我使用的算法进行千分位转换,四舍五入运行结果画面#includestdio.hmain{doublex;scanf%lfx;printf%
7.2f\nx;}实验四部分4-1-a该程序的功能是输入两个数a、b,判断a*a+b*b的值,若a*a+b*b的值等于3或1,则y=a+b;若a*a+b*b的值等于0,则y=b-a;若a*a+b*b的值等于其他值,则输出“eerror”;最后输出y的值运行结果画面#includestdio.hmain{intaby;scanf%d%dab;switcha*a+b*b{case3:case1:y=a+b;break;case0:y=b-a;break;default:printferror\n;}printf%dy;}4-1-b该程序的功能是输入两个数a、b,判断a的值,若a的值等于10,则y=a-b;若a的值等于11,则y=a*b;若a的值等于其他值,则y=a+b;最后计算输出y的值运行结果画面#includestdio.hmain{intaby;scanf%d%dab;switcha{default:y=a+b;break;case10:y=a-b;break;case11:y=a*b;break;}printf%dy;}4-1-c该程序的功能是输入两个数a、b,判断a+b的值,若a+b的值等于10,则y=a+b;若a+b的值等于11,则y=a-b;若a+b的值等于其他值,则输出“eerror”;最后计算输出y的值运行结果画面#includestdio.hmain{intaby;scanf%d%dab;switcha+b{case10:y=a+b;break;case11:y=a-b;break;default:printferror\n;break;}printf%dy;}4-2-1运行结果画面#includestdio.hmain{intxy;scanf%dx;ifx-5x0y=x;ifx==0y=x-1;ifx0x10y=x+1;printf%dy;}4-2-2运行结果画面#includestdio.hmain{intxy;scanf%dx;ifx-5x0y=x;elseifx==0y=x-1;elseifx0x10y=x+1;printf%dy;}4-3填空的内容为a0a:-a;运行结果画面#includestdio.hmain{intaM;scanf%da;M=a0a:-a;printfabsa=%d\nM;}4-4运行结果画面#includestdio.hmain{intctm;printfinputthenumberofcoatandtrousersyourwantbuy:\n;scanf%d%dct;ift==c{ifc=50m=c*80;elsem=c*90;}else{ifct{ift=50m=t*80+c-t*60;elsem=c*80+t-c*45;}else{ifc=50m=t*90+c-t*60;elsem=c*90+t-c*45;}}printf%d\nm;}4-5我使用的算法输入三边,然后判断是否构成三角形,能构成三角形后再判断三角形类型运行结果画面#includestdio.hmain{floatxyz;inti;printf输入三条边长;scanf%f%f%fxyz;ifx+yzx+zyy+zxx0y0z0{i=1;}ifi==1{ifx==yy==zprintf此三角形为等边三角形\n;elseifx==y||y==zprintf此三角形为等腰三角形\n;elseprintf此三角形为不等边三角形\n;}ifi==0printf这三边不构成三角形\n;}4-5我使用的算法用求余的方法,若赋给x的值除以5和除以7的余数都为0,则输出yes,否则输出no运行结果画面#includestdio.hmain{intx;scanf%dx;ifx%5==0x%7==0printfyes\n;elseprintfno\n;}4实验小结通过实验我的C语言能力的到了进一步的提高
(1)学会了基本的程序调试;
(2)掌握了IF和SWITCH语句的应用;
(3)掌握数据输入/输出函数的使用,能正确使用各种格式转换符
(4)知道了逻辑运算符、逻辑表达式、关系表达式的运用
(5)可以进行简单的程序的编写。