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(3

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(假),结束循环

这代码写的真蛋痛,假定头文件已包含.先说输出结果 :2main(){ int x=3; //这句不解释 do{ printf("%d",x=2); //x=2,表达式的结果为2,同时x赋值为2,所以输出:2 } while(!(x)); //--x先自减,x由2变1,再对1 取非.1是整形,取非前先转换成BOOL型,转换规则,0为false,非0 true, 1转换成bool型后是 true, 取非后是 false; 不满足循环条件,退出循环.}

qhnw.net | wlbk.net | gpfd.net | xmjp.net | zxsg.net | 网站首页 | 网站地图
All rights reserved Powered by www.hhjc.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com