有哪位愿意无私帮助我解决一些c语言的问题?谢谢!!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:54:31
1.有以下程序段
int k;=0
while(k=1)k++;
while 循环执行的次数是:

2.b=a>3?2:1怎么理解?
(请具体解释之。)
3.以下程序段的输出结果是
int x=3;
do
{ printf("%3d",x-=2); }
while(!(--x));
A.1 B.30
C.1 -2 D.死循环
(请具体解释1 ,3 谢谢)

1 死循环 while括号里的表达式永远是1
2 if (a > 3) b = 2; else b = 1;

我个人 认为第一题为2
第2题没看懂~~
第三题选C

第一题答案是一次,因为while(k=1)得意思是知道K=1时退出循环,而当k=0进入循环时,k不等于1,所以循环一次,加一后满足k=1,所以退出循环,所以循环一次。
第二题,先看a是否大于3,如果是,那么b=1否则等于0,假设a大于3,那么整句话的意思就是如果b=1那么2否则1,a?b:c这个语句的意思是如果a为真那么执行b否则执行c
第三题选c,主要是while(!(--x)),它的意思是如果!(--x)为0,则退出循环,而当--x为非零时,!(--x)为零,明白了吗?