C语言很简单很简单的问题8

来源:百度知道 编辑:UC知道 时间:2024/05/15 08:43:35
1.当执行以下程序后i,j ,k的值
inta,b,v,d,i,j,k
a=10;b=c=d=5;i=j=k=0;
for( ;a>b;++b)i++l
while(a>++c)j++;
do k++;while(a>d++);

算出来是5 4 6
问题是:for shile do~while运算起来有什么区别

2.ink,n,m
n=10;m=1;k=1
while(k++<=n)m*=2;
printf("%d\n",m);
输出

答案是1024,问题是虽然可以重复执行8次,但哪看出要把8个2相乘?

1:for与while,do while谈不上区别
while,do while倒是有区别的
while是先判断再执行,do while是先执行再判断,所以do while 比while多一次执行的过程;
你的do while写错了
do {k++};while(a>d++);

2:你可以在while里面加个输出的语句
while(k++<=n){m*=2;pringf{"%d\n",k};}
看k的值就知道了

for 与while 是两个独立的循环语句,不嵌套的话,也是独立的.
do while 与while就是前面是先执行do语句,再判断运行条件.while是先判断循环条件再运行while后的执行语句.
第二题正确是运行十次循环.先进循环k=1,m=1*2.再进k=2,m=2*2,再进k=3,m=4*2.
直到k=10 ,m=2的十次方,也就是1024.之后k=11循环条件失败,退出.
你还是刚才问那人吧,加我百度HI.以后有问的直接告诉你.