《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算

上传人:文*** 文档编号:34358808 上传时间:2021-10-21 格式:DOC 页数:12 大小:182KB
收藏 版权申诉 举报 下载
《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算_第1页
第1页 / 共12页
《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算_第2页
第2页 / 共12页
《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算_第3页
第3页 / 共12页
资源描述:

《《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验.设计.习题.答案.顺序结构与逻辑运算(12页珍藏版)》请在装配图网上搜索。

1、真诚为您提供优质参考资料,若有不当之处,请指正。实验2 顺序结构与逻辑运算学号: 姓名: 实验日期:1. 实验目的和要求(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。(3)能够正确使用逻辑运算符和逻辑表达式。(4)学会运用逻辑表达式或关系表达式等表示条件。(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。(7)学会编写简单程序。2. 实验内容:实验指导书中的实验三和实验四3. 实验步骤及结果实验三部分

2、:3-1-1 该程序的功能是:输出m=345,n=2.560000,并计算输出(n*100)程序运行结果画面如下:#includemain()int m=345;float n=2.56;printf(m=%d,n=%f,n*100=%fn,m,n,n*100);3-1-2 该程序的功能是:输入三个数赋给a,b,c,输出这三个数,并计算输出s=a*b和v=a*b*c的值程序运行结果画面如下:#includemain()double a,b,c,s,v;scanf(%lf,%lf,%lf,&a,&b,&c);s=a*b;v=a*b*c;printf(%lf,%lf,%lfn,a,b,c);pri

3、ntf(s=%lfn,s);printf(v=%lfn,v);3-2-1 该程序的功能是:输入两个整数m,n,输出m,n并使其输出时每个数输出宽度为6,两数之间逗号间隔;并输出x,y并使其每个数输出宽度为7,小数位数为2。程序运行结果画面如下:#includemain()int m,n;float x=3.5,y=6.2;scanf(%d,%d,&m,&n);printf(m=%6d,n=%6dn,m,n);printf(x=%7.2f,y=%7.2fn,x,y);3-2-2 该程序的功能是:赋给a,b,m,n,p,q数值,并输出a,b,m,n的整型数值和p,q的浮点型数值。程序运行结果画面如

4、下:#includemain()int a,b;long m,n;float p,q;scanf(%d,%dn,&a,&b);scanf(%f,%fn,&p,&q);scanf(%ldn%ld,&m,&n);printf(a=%d,b=%dn m=%ld,n=%ldn,a,b,m,n);printf(p=%f,q=%fn,p,q);3-3 注意:这道程序我们不按书中提示进行,而在VC环境下进行调试。语法错误和逻辑错误的区别何在?语法错误有错误提示,程序不可运行;逻辑错误无错误提示,程序可运行,但得不到你想求得的答案。如何启动单步调试?在菜单栏中选择“组建”,然后在下拉菜单中选择“开始调试”,然

5、后选择“Step Into”。要使程序运行到“ss=(k”这一行暂停下来,该如何操作? 点到“ss=(k”这一行,按F9,设置一个断点。怎样终止调试状态(程序复位)?在菜单栏中选择“调试”,然后选择“Stop Debugging”。单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):第一种选择“Step Into”,跟踪到自定义函数内部;第2种选择“Step over”,不跟踪到自定义函数内部在本题中,假设要在运行第2条语句(即scanf语句后),要马上观察i,j,k,ss,m,n的变量的值,操作方法:在菜单栏中选择“组建

6、”,然后在下拉菜单中选择“开始调试”,然后选择“Step Into”,在watch窗口的名称下的框中输入要马上观察的“i,j,k,ss,m,n”,请把观察这些变量时的画面粘贴到下面:#includemain()int i,j,k,ss,m=1,n=1;scanf(%d%d,&i,&j);m+=i+;n*=-j;ss=(k=m+2,n-5,k+n);printf(%d,ss);通过这道题单步调试,你对i+和+i及i和i应该有了更直观的理解,他们的区别在于:i+和i是在使用变量后加(减)一,+i和i是在使用变量前加(减)一。3-4 请回答书中问题问题(1)都可以。问题(2)用printf函数,c1

7、、c2输出的格式符用%d。问题(3)不可以程序运行结果画面如下:#includemain()char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(n);printf(%c%cn,c1,c2);3-5 我使用的算法:运用求商的整数部分和求余数进行分钟的转换运行结果画面:#includemain()int x,h,m;printf(输入需转换的分钟数:);scanf(%d,&x);h=x/60;m=x%60;printf(%d小时%d分钟,h,m);3-7我使用的算法:进行千分位转换,四舍五入。运行结果画面:#inc

8、ludemain()double x;scanf(%lf,&x);printf(%7.2fn,x);实验四部分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的值。运行结果画面:#includemain()int a,b,y;scanf(%d%d,&a,&b);switch(a*a+b*b)case 3:case 1:y=a+b;break;case 0:y=b-a;break;default :printf(erro

9、rn);printf(%d,y);4-1-b 该程序的功能是:输入两个数:a、b,判断a的值,若a的值等于10,则y=a-b;若a的值等于11,则y= a*b;若a的值等于其他值,则y=a+b;最后计算输出y的值。运行结果画面:#includemain()int a,b,y;scanf(%d%d,&a,&b);switch(a)default :y=a+b;break;case 10:y=a-b;break;case 11:y=a*b;break;printf(%d,y);4-1-c 该程序的功能是:输入两个数:a、b,判断a+b的值,若a+b的值等于10,则y=a+b;若a+b的值等于11,

10、则y= a-b;若a+b的值等于其他值,则输出“eerror”;最后计算输出y的值。运行结果画面:#includemain()int a,b,y;scanf(%d%d,&a,&b);switch(a+b)case 10:y=a+b;break;case 11:y=a-b;break;default :printf(errorn);break;printf(%d,y);4-2-1 运行结果画面:#includemain()int x,y;scanf(%d,&x);if(x-5&x0&x10)y=x+1;printf(%d,y);4-2-2 运行结果画面:#includemain()int x,y

11、;scanf(%d,&x);if(x-5&x0&x0?a:-a;运行结果画面:#includemain()int a,M;scanf(%d,&a);M=a0?a:-a;printf(abs(a)=%dn,M);4-4 运行结果画面:#includemain()int c,t,m;printf(input the number of coat and trousers your want buy:n);scanf(%d%d,&c,&t);if(t=c)if(c=50)m=c*80;else m=c*90;elseif(ct)if(t=50)m=t*80+(c-t)*60; else m=c*80

12、+(t-c)*45;else if(c=50)m=t*90+(c-t)*60;else m=c*90+(t-c)*45;printf(%dn,m);4-5我使用的算法:输入三边,然后判断是否构成三角形,能构成三角形后再判断三角形类型。运行结果画面:#includemain()float x,y,z;int i;printf(输入三条边长:);scanf(%f%f%f,&x,&y,&z);if(x+yz&x+zy&y+zx&x0&y0&z0)i=1;if(i=1)if(x=y&y=z)printf(此三角形为等边三角形n);else if(x=y|y=z)printf(此三角形为等腰三角形n);

13、else printf(此三角形为不等边三角形n);if(i=0)printf(这三边不构成三角形n);4-5我使用的算法:用求余的方法,若赋给x的值除以5和除以7的余数都为0,则输出yes,否则输出no。运行结果画面:#includemain()int x;scanf(%d,&x);if(x%5=0&x%7=0)printf(yesn);elseprintf(non);4实验小结通过实验我的C语言能力的到了进一步的提高:(1) 学会了基本的程序调试;(2) 掌握了IF和SWITCH语句的应用;(3) 掌握数据输入/输出函数的使用,能正确使用各种格式转换符(4) 知道了逻辑运算符、逻辑表达式、关系表达式的运用(5) 可以进行简单的程序的编写12 / 12

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!