- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
选择结构习题答案精选
选择结构练习题
分析下面程序运行后输出的结果。
#includestdio.h
main()
{
int x,y=1,z;
if(y==0) y!=0跳过
x=0;
else
x=1; 由于y!=0执行此程序
printf(“(1)x=%d\n”,x); 输出x=1
if(y0) 由于y=1,条件不成立,跳出if语句,
if(y0) 此if语句嵌套在上一个if语句中,所以不执行
x=3;
printf(“(2)x=%d\n”,x); 此时x仍然等于1
if(z=y0) z=y0等价于z=(y0),所以z=0,表达式不成立执行else if
x=3;
else if(y==0) 表达式不成立,执行else
x=5;
else
x=7;
printf(“(3)x=%d, z=%d \n”,x,z); x=7,z=0
}
编写程序,计算半径为r,高为h的圆柱体的表面积S=2πr(h+r)和
体积V=πr2h。r和h由人机交互方式取得,值用宏定义方式给出。
#includestdio.h
#define PI 3.14
main()
{
float r,h;
float s,v;
printf(“Please input the R and H:\n”);
scanf(“%f,%f”,r,h);
s=2*PI*r*(h+r);
v=PI*r*r*h;
printf(“The area is %.2f\n”,s);
printf(“The volume is %.2f\n”,v);
}
电文加密。为了保密,往往对电文码进行加密形成密码文。简单的加密算法是:将字母A变成字母I,a变成i,也就是把某一字母变成其后的第八个字母。编写程序,从键盘输入一串电文:“Welcome to our class. Hope you enjoy yourselfe!”并把密码文输出。
#includestdio.h
main()
{
char c;
clrscr();
printf(Please input original text:\n);
while((c=getchar())!=\n)
{
if((c=ac=z)||( c=Ac=Z))
{
if((c=ac=w)||( c=Ac=Z))
{
c+=8;
if((cZc=Z+8)||cz)
c-=26;
}
else
c-=18;
}
printf(%c,c);
}
}
注释:
while((ch=getchar())!=\n)?????? {????????????? ……?????? }?????? 通常是用于从键盘输入一个以回车键作为结束符的字符串,而在循环体中可以对输入的每个字符进行处理,例如统计各类字符的个数,转换字母的大小写状态等。程序运行时,首先停下来,等你输入一串字符串,输入完毕后,它把你输入的整个字符串都输出来了,咦,你不是说getchar()只返回第一个字符么,这里怎么?
因为我们输入的字符串并不是取了第一个字符就把剩下的字符串丢掉了,它还在我们的内存中,好比,开闸放水,我们把水放到闸里去以后,开一次闸就放掉一点,开 一次就放掉一点,直到放光了为止,这里开闸动作就相当于调用一次getchar()。我们输入的字符串也是这么一回事,首先我们输入的字符串是放在内存的 缓冲区中的,我们调用一次getchar()就把缓冲区中里出口最近的一个字符输出,也就是最前面的一个字符输出,输出后,就把它释放掉了,但后面还有字 符串,所以我们就用循环把最前面的一个字符一个个的在内存中释放掉,直到不满足循环条件退出为止。 /share/detail/5771455
分析下面程序运行后输出的结果。
#includestdio.h
main()
{
printf(“%-5s”,”Mike”); 按字符串格式输出5列,右补空格
printf(“%-5d”,20); 按整形格式输出5列,右补空格
printf(“%-8.2f”,4500.00); 按实型格式输出8列,保留2位小数,右补空格
printf(“\n”); 换行
printf(“%-5s%5d%7.2f”,”Rose”,19,3200.21);
}
Mike□20□□□4500.00□
Rose□□□□193200.21
分别从键盘输入人的名字,年龄,班级,考试成绩,然后按以下格式输出:(□代表空格)
name:□□Hollity;age:□15;class: □□3;scores:88.57□□.
#i
文档评论(0)