




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章3.1请从以下的四个选项中选择1个正确答案:(1)以下叙述中错误的是(C)AC语句必须以分号结束; B复合语句在语法上被看作一条语句; C空语句出现在任何位置都不会影响程序运行; D赋值表达式末尾加分号就构成赋值语句。(2)以下叙述中错误的是(D)AC程序中的#include和#define行均不是C语句;B除逗号运算符外,赋值运算符的优先级最低;CC程序中,j+;是赋值语句;DC程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算 。(3)以下叙述中正确的是(A)AC程序中注释部分可以出现在程序中任意合适的地方;B花括号和只能作为函数体的定界符;C构成C程序的基本单位是函数,所有函数名都可以由用户命名;D分号是C语句之间的分隔符,不是语句的一部分。3.2结构化程序设计所规定的三种基本控制结构是那三种,请分别画出三种结构的执行流程图。(1)顺序结构 (2)选择结构(3)循环结构(当型循环) 循环结构(直到型循环)3.3 有如下if条件语句:if(ab)if(cd)x=1;else if(ac)if(bd)x=2;else x=3;else if(cd)x=4;else x=5;试按缩进对齐的格式将以上语句改写为结构更清晰的等效if语句,并在每个条件表达式之后用逻辑表达式注释所满足的条件。 if(ab) /*ab*/ if(cd) /*(ab)&(cd)*/ x=1; else if(ac) /*(ab)&(ac)*/ if(bd) /*(ab)&(ac)&(bd)*/ x=2; else /*(ab)&(a=d)*/ x=3; else if(c=b)&(c=b)&(c=d)*/ x=5;3.4读程序写结果(1)从键盘输入58 #includevoid main() int a;scanf(%d,&a);if(a50) printf(A=%d ,a);if(a40) printf(B=%d ,a);if(a30) printf(C=%d,a);运行结果: A=58B=58C=58(2) #includevoid main() int x=10,y=20,t=0;if(x=y) t=x;x=y;y=t;printf(“%d,%d n”,x,y);运行结果:20,0(3) #includevoid main()int p,a=5; if(p=a!=0) printf(%dn,p); else printf(%dn,p+2);运行结果:1 (4) #includevoid main()int a=4,b=3,c=5,t=0;if(ab) t=a;a=b;b=t;if(ac) t=a;a=c;c=t;printf(%d %d %dn,a,b,c);运行结果:5 3 4(5) #includevoid main() int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch(i/10) case 0: m+; n+; break;case 10: n+;break;default: k+;n+; printf(%d %d %dn,m,n,k); 运行结果:1 3 2(6) #includevoid main() int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(%dn,x);运行结果:-4(7) #includevoid main() int x=1,y=0,a=0,b=0; switch(x) case 1:switch(y) case 0:a+; break; case 1:b+; break; case 2:a+;b+; break; printf(%d %dn,a,b);运行结果:2 1(8) #includevoid main() int a=3,b=4,c=5,t=99; if(ba&ac) t=a;a=c;c=t; if(ac&bc) t=b;b=a;a=t; printf(%d%d%dn,a,b,c);运行结果:435(9) #includevoid main()int n=c;switch(n+) default: printf(error);break; case a:case A:case b:case B:printf(good);break; case c:case C:printf(pass); case d:case D:printf(warn); 运行结果: passwarn3.5以下程序所表示的分段函数是() #include void main( ) int x,y; printf(Enter x: ); scanf(%d,&x); y=x=0?2*x+1:0; printf(x=%d:f(x)=%d,x,y); 0 (x0) 0 (x0)f(x)= f(x)= 2x+1 (x0) 2x+1 (x0) 2x+1 (x0) 0 (x0) f(x)= f(x)=0 (x0) 2x+1 (x0)3.6编程序计算下面的分段函数 x-1 (x0)y= x (x=0) x+1 (x0)#include void main() int x,y;scanf(%d,&x);if(x=0) if(x0) y=x-1; else y=x;else y=x+1;printf(y=%d,y);3.7编程序计算下面的分段函数 0 (x=a或x=-a)y= (-axa) x (xa)#include #include void main() int x,a; double y; scanf(%d%d,&x,&a); if(x=a|x=-a) y=0; else if(x-a&xa) y=sqrt(a*a-x*x); else y=x; printf(%lf,y);3.8电文加密算法:输入一个小写字母,将字母循环后移5个位置后输出。例如a变成f, w变成b。从键盘输入一个电文字符,输出其相应的密码。#include void main() char c; c=getchar(); if(c=a&c=v&c=z) c-=21; putchar(c);3.9输入一个自然数,判断它是奇数还是偶数。#include void main()int i;printf(Input a natural number:);scanf(%d,&i);if (i%2=0)printf(evenn);elseprintf(oddn);3.10编程实现将输入的字符进行大小写互换。#include void main() char ch; scanf(%c,&ch); if(ch=A&ch=a&ch=z) ch-=32; printf(%c,ch);3.11编程判断一个5位数是否是回文数(例如12321即为回文数,个位与万位相同,十位与千位相同)。#include void main() long units,tens,kilobit,myriabit,x; scanf(%ld,&x); myriabit=x/10000; kilobit=x%10000/1000; tens=x%100/10; units=x%10; if(units=myriabit&tens=kilobit) /*个位等于万位并且十位等于千位*/ printf(this number is a huiwenn); else printf(this number is not a huiwenn);3.12输入一个不多于5位的正整数,要求:求它是几位数;分别输出每一位数字;按逆序输出各位数字。例如原数为321,应输出123。#include #include void main() long int num; int indiv,ten,hundred,thousand,ten_thousand,place; printf(请输入一个整数(0-99999):); scanf(%ld,&num); if(num9999) place=5; else if(num999) place=4; else if(num99) place=3; else if(num9) place=2; else place=1; printf(位数=%dn,place); printf(每位数字为:); indiv=num%10; ten=num/10%10; hundred=num/10/10%10; thousand=num/10/10/10%10; ten_thousand=num/10/10/10/10%10; switch(place) case 5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%d%d%dn,indiv,ten,hundred,thousand,ten_thousand); break; case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%d%dn,indiv,ten,hundred,thousand); break; case 3:printf(%d,%d,%d,hundred,ten,indiv); printf(n反序数字为:); printf(%d%d%dn,indiv,ten,hundred); break; case 2:printf(%d,%d,ten,indiv); printf(n反序数字为:); printf(%d%dn,indiv,ten); break; case 1:printf(%d,indiv); printf(n反序数字为:); printf(%dn,indiv); break; 3.13编写程序实现功能:读入两个运算数(data1和data2)及一个运算符(op),计算表达式data1 op data2的值,其中op可以为+、-、*、/、%五个符号中的任一种。#include #include void main() float data1,data2,data3; char op; printf(nType in your expression:); scanf(%f %c %f,&data1,&op,&data2); switch(op) case +:data3=data1+data2; break; case -:data3=data1-data2; break; case *:data3=data1*data2; break; case /:if(data2=0) printf(nDivision by zero!); exit(1); /*终结程序*/ else data3=data1/data2; break; case %:(int)(data3=(int)data1%(int)data2);/*注意%运算符只能用于整形数*/ break; printf(This is %6.2f %c %6.2f=%6.2fn,data1,op,data2,data3);3.14某个自动加油站有x(90号)、y(93号)、z(97号)三种汽油,单价分别为5.8、6.2、6.6(元/升),也提供了“自己加”或“协助加”两个服务等级,可以使用户得到5%或10%的优惠。请编程实现油款计算,用户输入加油量v(升),汽油品种k(对应x-90号、y-93号、z-97号)和服务类型s(a-自动、m-自己、h-协助),输出应付款m。#
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国化妆品行业市场细分趋势与渠道变革战略分析报告
- 标准化设计劳务合同5篇
- 2025年智能制造技术的商业价值
- 2025年安徽机电职业技术学院高层次人才引进15人考前自测高频考点模拟试题及参考答案详解一套
- 2025年海洋能发电海岛能源互联网建设策略报告
- 2025年合肥某国企面向社会招聘初级审核员5人模拟试卷完整参考答案详解
- 2025年东宁市法院系统招聘真题
- 2024年广西柳州市柳江区社会福利院聘用人员招聘真题
- 2025江苏苏州张家港市国有资本投资集团有限公司专业化青年人才定岗特选(岗位代码098)人员考前自测高频考点模拟试题及参考答案详解
- 2025年度福建省血液中心招聘6人考前自测高频考点模拟试题附答案详解(黄金题型)
- API SPEC 7-1-2023 旋转钻柱构件规范
- 2025年自考《艺术概论》考试复习题库(含答案)
- 人工智能深度学习概念与应用测试卷
- 小学道德与法治理论培训
- GB/T 12643-2025机器人词汇
- 《酒店服务礼仪培训》课件
- 挤出机生产线安全操作规程
- 药品采购与供应链管理
- 函数与基本初等函数 章节总结(解析版)-2025年高考数学一轮复习(新高考专用)
- 麻醉科2025年发展计划
- 分包商安全管理规定(4篇)
评论
0/150
提交评论