阅读程序并回答问题阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案.(1) 【程序代码】# includevoid main(){ int x=1,y=2,z; scanf("%d",&z); switch(z%2) { //------①------

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 15:37:19
阅读程序并回答问题阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案.(1) 【程序代码】# includevoid main(){    int x=1,y=2,z;    scanf(

阅读程序并回答问题阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案.(1) 【程序代码】# includevoid main(){ int x=1,y=2,z; scanf("%d",&z); switch(z%2) { //------①------
阅读程序并回答问题
阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案.
(1) 【程序代码】
# include
void main(){
int x=1,y=2,z;
scanf("%d",&z);
switch(z%2) { //------①-------
case 1:z=x*y;break;
default:z=x/y;
}
printf("%d",z);
}
【选项】
(26) 程序运行时,输入分别是1和2的情况下,输出的结果分别是_____.[A] 2和0 [B] 2和0.5 [C] 0和2 [D] 0.5和2
(27) 如果将上述程序代码标示为①行中switch语句括号内的表达式改为z%2==0,那么程序运行时,输入分别是1和2的情况下,输出的结果分别是_____.[A] 2和0 [B] 2和0.5 [C] 0和2 [D] 0.5和2
答案是a和c
为什么呢?

阅读程序并回答问题阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确的答案.(1) 【程序代码】# includevoid main(){ int x=1,y=2,z; scanf("%d",&z); switch(z%2) { //------①------
很简单
第一题,当输入1的时候,z=1,那么在swithc括号里面的z%2就应该等1,注意“%”是取余的意思,就是说用1除以2,余数是1,那么执行下面的就应该是case 1这个语句,答案就是X*Y=2,当输入是2的时候,2%2=0,所以执行default语句,答案就应该是x/y=0
第二题,因为把switch里面的改了,意义也就变了,z%2==0的意思是说如果z%2的值是0,那么这个命题就成立,则为真命题,真命题就用1表示,如果z%2的值不是0,那么这个命题就不成立,则为假命题,假命题就用0表示,所以从第一题输入的两个数可看出当输入1的时候是假命题,输入2的时候是真命题,所以答案是0和2