这个c语言的一道题if C语言有关if语句的一个题目

作者&投稿:夙俗 (若有异议请与网页底部的电邮联系)
if (a%2) 当a=0,2,4,6 时, a%2 除法取余数为 0, 0就是假,执行 else 后面的语句putchar(c+a); c='A'。c+a 得 'A','C','E'。
if (a%2) 当a=1,3,5 时, a%2 除法取余数为 1, 1就是真,
执行 putchar(b+a); 这里 b='1'; b+a 得 '2','4','6'
所以是 246, 不是 135.

a=0,putchar(c+a)即putchar('A'+0),输出A,然后a=1
接着是putchar(b+a)即putchar('1'+1),即输出'2',然后a=2
putchar(c+a)即putchar('A'+2),输出C,然后a=3
接着是putchar(b+a)即putchar('1'+3),即输出'4',然后a=4
putchar(c+a)即putchar('A'+4),输出E,然后a=5
接着是putchar(b+a)即putchar('1'+5),即输出'6',然后a=6
最后是退出循环后,再换行后输出a=6
总结:图片中给出的“运行结果”是正确的。

a=0时,a%2=0, 选putchar(c+a)->putchar('A'+0)->A
a=1时,a%2=1, 选putchar(b+a)->putchar('1'+1)->2
a=2时,a%2=0, 选putchar(c+a)->putchar('A'+2)->C
a=3时,a%2=1, 选putchar(b+a)->putchar('1'+3)->4
a=4时,a%2=0, 选putchar(c+a)->putchar('A'+4)->E
a=5时,a%2=1, 选putchar(b+a)->putchar('1'+5)->6

if(a%2) puchar(b+a); //如果 a是奇数,执行这一句,‘1’加上1,3,5输出'2','4','6'

else putchar(c+a); //如果a是偶数,执行这一句

C语言,关于if的一个题目~

首先a不大于b,所以不执行if里面的a=b语句,直接执行b=c,得到b=c=30,然后执行c=a,得到c=a=10,最后把a,b,c输出就是了

ABD都是正确的
比较特别的是A,空语句。 判断后什么都不执行。 这个虽然没什么意义,但是是合法的。
错误的是C, 在C语言中,没有这个运算符
所以错误
要判断不等于, 是D中的!=

在c语言里,用if语句编写一个程序,题目如下
答:if(s >= 2000 && s < 3000){ gongzi = (float)s 0.92;printf("您缴税金额为:%f,",(float)s 0.08);printf("您的税后工资为:f\n",gongzi);} else if(s >= 3000 && s < 5000){ gongzi = (float)s 0.9;printf("您缴税金额为:%f,",(float)s 0.1);printf("您的税后...

C语言中的if语句问题:
答:先解释代码运行结果为什么是:a=1,b=0,c=1 因为if里面的条件是短路条件。因为 ++a>0 是true,所以不再执行 后面的++b>0 了。因此,b的值没有变。你的选择题答案是B,因为 A 中 1 默认是int,而另外的三个变量也都是 int变量。因此表达式最后的结果也会是int型的,也就是说最后的结果是...

两个简单的C语言问题,第一个怎么看,为何只有两个条件?第二题if(a)if...
答:第一题,for循环的用法 上题已经满足了条件了,其实也可以这么写 for(j=1;j<4;j++)或者 int j=1;for(;j<4;j++)第二题 ,if的判断条件 if(true)if(false)if里面只有两个值,true or false,而相应的就是1或者0 >=1的为true =0的为false ...

c语言if语句问题。。。
答:if(a=12)注意这里是a=12,而不是a==12,所以if里面是一个赋值,赋值表达式的返回值就是所赋的值,所以if为真,并且a=12这样后,a被赋值为12 再执行a=a+1;b=b+1;就得到13;1了

C语言。。。if语句
答:if(drinkNum<=2){ shouldPay= totalPrice=drinkNum*drinkPrice;} else if(drinkNum>2){ totalPrice=drinkNum*drinkPrice*0.9;shouldPay=drinkNum*drinkPrice;} printf("应付金额%f",shouldPay);printf("全额%f",totalPrice);} 这两道题没有在编译器上运行过,不过也差不多,要是有问题的话...

这道C语言的题怎么做?
答:所以整个匹配形式如图所示:那么我们分析的时候,从最外层的if开始,if(a=b+c),其中a=b+c是赋值语句,是永远成立的条件,就不会执行a=b=c=-1这句话;并且在此情况下,a的值为0+-1=-1,那么也不满足a>0和a==0,所以执行的是倒数第二个else语句,所以最后的结果是a=b=c=1,所以答案...

这是c语言题目,第一个if条件错误啊,不可能执行啊,这道题怎么回事
答:第一个if语句是不执行,只是t=a不执行,因为语句体没有加大括号,后面的a=c;c=t;还是会执行,然后第二个if语句会执行,因为是逗号语句,所以三个表达式都会执行。执行过程为:a=5,c=99 t=4,b=5,a=4 所以输出为:4599

C语言程序设计题: 执行下列程序段后,a值为() a=1;b=0; if((a++>++b...
答:很简单,看一下吧 a++是先使用a(来比较)再赋值,而++b正好相当,是先赋值给b再进行比较 a=1;b=0;然后if(a++>++b)的结果是if(1>1)即if(0),注:这里0表示假,原因如上所述,而比较完之后肯定是a=2; b=1;然后再因为if(0)执行b--,即b=0;后面估计你也会明白了,a+=b;即为a=...

c语言问题 关于if语句的 程序如图,为什么输出的第一个为3,a在开始不...
答:if(a=3)是一个判断语句,但是a=3是一个赋值语句,判断语句里面判断a是否等于3用的是if(a==3)两个等号,所以这句会将a赋值为3并且输出a,也就是3;

C语言:if语句 一元二次方程
答:include<stdio.h> include<math.h> void main(){ float a,b,c;double m;double x1,x2;printf("please insert a,b,c:");scanf("%f,%f,%f",&a,&b,&c);m=b*b-4*a*c;if (m<0)printf("the number is wrong,please insert again:");else x1=(-b+sqrt(m))/2*a;x2=(-b-...