hhjc.net
当前位置:首页 >> x 3 Do >>

x 3 Do

如果 x == 0 停止循环

这个自己可以去试试啊.1、int x=3;打印出循环.2、打印出-2,此时while(!(--x))为假,之后x=-3退出循环.所以答案为1和-2.

{printf("%3d",x-=2);} 这个就是x=x-2,也就是说x变成1了再输出,输出1--x就是x=x-1的简便写法,这时候x变成0,!0就是1,所以继续做do这个循环 第二次x再减去2变成-2,所以输出-2--x再减去1变成-3,!-3为0所以循环做到这就停止了 最后输出 1 -2

c x-=2相当于x=x-2 第一次x =1 第二次 x=-2 跳出

程序执行到x=-2时,--x = -3,

因为在while ((--x)):这一语句中,先做--x然后再取!(非处理,故逻辑语句(--x=1循环成立继续循环.当进行后续步骤后,x C第一次执行完 printf("%3d",x-=2); 后x=1,然后--x为0,取反后为1,条件为true,继续执行循环,第二次执行完 printf("%3d",x-=2); 后x=-2,--x得到-3,取反后是0,循环结束.

前面是有空格的,这道题的考点是do-while的使用,空格只是为了分开后面的数字,显示方便读取.所以不用纠结这个空格,选B就可以.

运算有优先级的.你改为如下:while((1<=x)&&(x<=2));

int x=3 do { printf(“%d”,x-=2); }while ( !(--x) ); //等价于while( --x == 0 ); --x为0时,取“非”结果才是真,否则为假,结束循环 x=3 printf() x-=2=1 , while( !(--x) ) --x得到0,循环条件成立 x=0 printf() x-=2=-2 while( !(--x) ) --x得到-3,-3非0,取“非”运算,结果为0(假),结束循环

运行结果是:321int x=3; do{ printf("%d",x--); //相当于 printf("%d",x); x--; }while(x); //相当于 while(x!=0); 也就是,当 x!=0 时,循环

jingxinwu.net | hbqpy.net | 369-e.com | dbpj.net | kcjf.net | 网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com