北科大C语言程序设计实验报告4 分支结构程序设计.docx
- 文档编号:24630772
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:13
- 大小:353.47KB
北科大C语言程序设计实验报告4 分支结构程序设计.docx
《北科大C语言程序设计实验报告4 分支结构程序设计.docx》由会员分享,可在线阅读,更多相关《北科大C语言程序设计实验报告4 分支结构程序设计.docx(13页珍藏版)》请在冰豆网上搜索。
北科大C语言程序设计实验报告4分支结构程序设计
姓名
徐松松
学号
41345053
班级
计1304
说明:
1.将本文档改名为“学号_姓名_班级_Lab4.doc”,按照本说明完成以下实验内容;
2.在下次上机前通过课程中心提交本文档。
实验内容和实验要求(上机指导P127)
1.练习题一
运行结果截图:
思考题及问题:
答案:
不可以。
”0<=x<15”其中0<=x的值为0或1(假,真),那么表达式”0<=x<15”的值必为1即永远为真,起不到判断的效果。
2.练习题二
运行结果截图:
思考题及问题:
1答案:
不可以。
a=b=c表示把c的值赋给b,再把b赋给a,即最后a,b的值都是c。
当c!
=0时表达式的值为1,即真;当c=0时表达式的值为0,为假,故无法用来判断三者是否相等。
3.练习题三
运行结果截图:
思考题及问题:
1答案:
不可以,如果程序中输入的mon的值不是正确的值就会出现错误,程序不够完善。
Default可以加在case2语句的后面,加上defualt:
printf(“输入月份有误!
\n”);
2答案:
正确,如果mon==2,那么就执行case2后面的语句,执行结束后switch语句结束
自测练习
1.自测练习一
注:
①②③中的各表达式均在题目给定初始a、b、c、d的值的条件下计算。
①源程序文本:
#include
intmain()
{
inta=0,b=1,c=1,d=3;
intx1,x2;
x1=a*b&&c-d;
x2=c-d&&a*b;
printf("x1=%d,x2=%d\n",x1,x2);
return0;
}
1运行结果截图:
1答案:
a*b&&c-d=0;c-d&&a*b=0。
算数运算符的优先级高所以a*b&&c-d相当于(a*b)&&(c-d)=(0*1)&&(1-3)=0;
c-d&&a*b=(c-d)&&(a*b)=(1-3)&&(0*1)=0。
②源程序文本:
#include
intmain()
{
inta=0,b=1,c=1,d=3;
inty;
y=--a||++b&&--c;
printf("a=%d,b=%d,c=%d,y=%d\n",a,b,c,y);
return0;
}
3行结果截图:
②答案:
a,b,c的值分别为-1,1,1,表达式--a||++b&&--c为1.
--a||++b&&--c=(--a)||(++b&&--c)=(-1)||(++b&&--c)=1。
先执行(--a)先自减变为-1,非零数逻辑值为1,由于逻辑运算的短路性质不执行(++b&&--c),
整个表达式为真,值为1。
所以a变成-1,而b,c的值不变,仍为1。
③源程序文本:
#include
intmain()
{
inta=0,b=1,c=1,d=3;
inty;
y=++b&&--c||--a;
printf("a=%d,b=%d,c=%d,y=%d\n",a,b,c,y);
return0;
}
4行结果截图:
③答案:
a,b,c的值分别为-1,2,0,表达式++b&&--c||--a为1。
++b&&--c||--a=(++b&&--c)||(--a)=(2&&0)||(-1)=0||1=1。
分析:
首先执行++b,b自增变为2,然后计算—c,c自减变为0,逻辑表达式(++b&&--c)为0,然后执行(--a),a自减变成-1,非0逻辑真,所以整个表达式的值为真,即1。
所以运行完a,b,c的值分别为-1,2,0,表达式++b&&--c||--a为1。
2.自测练习二
源程序文本:
#include
intmain()
{
inta,b,c;
printf("请输入三个整数(用逗号隔开):
\n");
scanf("%d,%d,%d",&a,&b,&c);
inttemp;
if(a
{
temp=a;
a=b;
b=temp;
}
if(a { temp=a; a=c; c=temp; } if(b { temp=b; b=c; c=temp; } printf("a=%d,b=%d,c=%d\n",a,b,c); return0; } 运行结果截图: 3.自测练习三 源程序文本: #include intmain() { intn; printf("输入一个小于六位的正整数: \n"); scanf("%d",&n); if(n<10) printf("%d",n); elseif(n<100) printf("%d%d",n%10,n/10); elseif(n<1000) printf("%d%d%d",n%10,n/10%10,n/100); elseif(n<10000) printf("%d%d%d%d",n%10,n/10%10,n/100%10,n/1000); elseif(n<100000) printf("%d%d%d%d%d",n%10,n/10%10,n/100%10,n/1000%10,n/10000); else printf("error"); printf("\n"); return0; } 运行结果截图: 4.自测练习四 源程序文本: #include intmain() { intn; printf("今天是星期日,请输入多少天后: \n"); scanf("%d",&n); switch(n%7) { case1: printf("%d天后是星期一\n",n);break; case2: printf("%d天后是星期二\n",n);break; case3: printf("%d天后是星期三\n",n);break; case4: printf("%d天后是星期四\n",n);break; case5: printf("%d天后是星期五\n",n);break; case6: printf("%d天后是星期六\n",n);break; case0: printf("%d天后是星期日\n",n);break; } return0; } 运行结果截图: 5.自测练习五 源程序文本: #include intmain() { intn,s,f; printf("输入重量(g)和里程(km)(逗号隔开): \n"); scanf("%d,%d",&n,&s); if(n<=15) f=5; elseif(n<=30) f=9; elseif(n<=45) f=12; elseif(n<=60) f=14+s/1000*1; else f=15+s/1000*2; printf("你的费用为%d\n",f); return0; } 运行结果截图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北科大C语言程序设计实验报告4 分支结构程序设计 北科大 语言程序设计 实验 报告 分支 结构 程序设计