技术支持 嘉兴网站建设,弄个网站多少钱,crm客户管理系统的功能,建行官方网站多少钱单项选择号#xff1a;13334若有如下语句int x3;do {printf (#xff0c;#xff0c;%d\n/#xff0c;, x-2) ;}while(! (--x));则上面程序段oA、输出的是1B、输出的是1和-2C、输出的是3和0D、是死循环答案#xff1a;B解答#xff1a;循环变量x初值为3. Do-while是先执行…单项选择号13334若有如下语句int x3;do {printf (%d\n/, x-2) ;}while(! (--x));则上面程序段oA、输出的是1B、输出的是1和-2C、输出的是3和0D、是死循环答案B解答循环变量x初值为3. Do-while是先执行循环体后判断条件。若条 件为假循环结束。条件为真执行循环体。第一次循环循环体printf (%d\n, x-二2);是输出x的值。而x-二2等价于xx~2二3-2 lo 所以输出l条件是自增表达式与逻辑非表达式的综合。先计算自增表达式- -x的值是x自减1后的值为0.自增变量x的值是0.条件 (- -x) !0l. 为真。继续执行循环体。第二次循环循环体printf (%d\n x-2):是输出x的值。而x-二2等价于xx~2 0-2 -2o 所以输出-2条件是白增表达式与逻辑非表达式的综合。先计算--x.白增表达式--x的值是洎减1后的值为-3.自增变量x的值是-3.条件 (- -x) ! (-3)二0.为假。循环结束。总结输出 l-2号13353 下面程斥的功能是在输入的一批正整数中求出最大者输入0结束循环。请 选择填空。ttincludeOvoid main (){ int a, max0;scanf (”%d, a);TOC \o 1-5 \h \z while (){ if(maxscanfa);}pri ntfmax);}A、a0B、aC、!alD、!a答案:B解答题目中说输入0结束循环。它的另一个意思是输入的变量a的值不是 0时就执行循环或者说a为真就执行循环为假就结束循环。所以条件是 a!0 或 a答案A a0 a为假即等于0时00,为真执行循环体。为真 即非0,则a二二0的逻辑值为假。结束循环。总结a为假执行循环体。 为真结束循环。答案C ! a二二1非运算符优先级高于比较运算符二二。所以先计算 a,然后再判断是否和1相等。a为假时 a值是真与1恒等逻辑值 为为真时 a值是假与1不等逻辑值为0.所以它的含义是a为假执 行循环体。为真结束循环。答案D。 a的含义是a为假执行循环体。为真结束循环。■号:13357与下面程序段等价的是Ofor (n二100;n200;n){ if(n%3~0) continue;printf (”4d, n);}A、for (n100;n200;n) if(n%30) printf(〃4d〃n);B、for(n100;(n%3)n200;n) printf(%4d, n);C^ for (n100; (n%3) | n200;n) printf (%4d\ n);D、 for(n100;n200;n){ if (n%3) printf (%4d, n);else continue;答案D解答程序的含义n100;n200;no 含义是循环变量n的初值为100,终值为200,步 长为1.if(n%30) continue;含义是若n是3的倍数则结束此次循环进 入下一次循环。即后面的printfC%4r,n);不执行。直接执行步长加 1.若n不是3的倍数则执行printfC%4r,n);,即输出n的值。且值占四 列右对齐。输出100-200中所有不是3的倍数的数。看四个答案答案A if(n%30)printf(〃%4d〃,n);的含义是n是3的倍数则输出。 与源程序的题意不符。答案B与关系表达式两边的逻辑值均为1,结果才是真。若有一个 为假结果为假。(n%3)n200 n%3为真同时n200为真则执 行循环体即输出变量n .n%3为真说明n不是3的倍数时为真。(n%3)n200若n%3为假或n200,则条件为假结束循环。所以当n是3的倍数时就结束。即n二102时102%3二0,为假就结束循环。不 符合题意。答案C (n%3) |n200;是或关系表达式。有一个为真结果为真。 全为假结果为假。n%3 n是3的倍数时如n二102, n%3为假但n二102〈二200 为真。所以102也要输出。不符合题意。答案D if (n%3) printf (%4d, n) ; else conti