2024-11-30 07:35:26
真心有用。我想继续请教请教,还请多多相助。有几题:
1.
2.
3.
谢谢。
第一题:
结果:3,1,-1,
解析:
当i=5,那么switch语句不执行,i--两次,i=3
当i=3,那么switch语句不执行,i--两次,i=1
当i=1,那么switch语句不执行,i--两次,i=-1,执行完毕
其实这个题目和switch语句一点关系都没有,不用理它。
第二题:
结果:a=16, b=60;
解析:本题目注意一点while(a=14),注意a=14,这个地方不是判断,而是直接赋值。
执行过程如下:
S1、a=10,y=0,执行循环后a=14(注意赋值语句),y=12;
S2、a=14+2=16,y=12,执行循环后a=14,y=16+12=28;
S3、a=16,y=28,执行循环后a=14,y=34;
S4、a=16,y=60,此时60>50,直接跳出循环,那么得到结果。
结果为:a=16, b=16
第三题:
结果为:x=12,y=4
解析:本题注意continue语句,它是直接跳过循环体后边的内容,然后进入下一次循环。所以执行过程如下:
S1、x=1,y=1, x%3==1满足,那么x=1+5=6,直接进入下一次循环;
S2、x=6,y=2,x对3取余数为0,不满足x%3==1,那么x=6+3=9,进入下一次循环;
S3、x=9,y=3,x对3取余数为0,不满足x%3==1,那么x=9+3=12,进入下一次循环;
S4、此时x=12>10,所以直接跳出循环。
综上所述,最终结果为:x=12,y=4
记得去吃晚饭,辛苦啦。偶还有一题:
谢谢。
#include<stdio.h>
main(){
char c1,c2;
int m,n,i;
for(i=1;i<=3;i++){/*注意标点符号,上图中的写法是无法编译通过的*/
c1=getchar();
c2=getchar();
m=c1-'0';
n=m*10+(c2-'0');
printf("%d\n",n);/*如果printf放到循环外边,那就只能打印最后一次输入的结果*/
}
}
这个题目答案根据输入的字符来输出结果。
简单解析:本题目涉及到字符常量的问题,字符常量很简单,说白了就是C语言中的char类型的数据都会对应一个值,比如字符'0'的值为48。举个例子来解释这句话:
printf("%d\n",'c');/*打印的结果应该为48*/
如果理解了上边这点,那么本程序就很简单了,把左右字符都当做数字运算就OK了!
2024-11-30 07:45:06
谢谢。还想大神请教两道写程序题:
2024-11-30 07:44:44
2024-11-30 07:41:24