c语言常用算法累加法例题,C语言第三次模拟练习题部分解答.docx
單項選擇
號:13334
若有如下語句
int x=3;
do {printf (,,%d\n/,, x-=2) ;}while(! (--x));
則上面程序段o
A、輸出的是1
B、輸出的是1和-2
C、輸出的是3和0
D、是死循環
答案:B
解答:循環變量x初值為3. Do-while是先執行循環體,后判斷條件。若條 件為假,循環結束。條件為真,執行循環體。
第一次循環:
循環體printf ("%d\n", x-二2);是輸出x的值。而x-二2等價于x=x~2二
3-2 =lo 所以輸出l
條件是自增表達式與邏輯非表達式的綜合。先計算自增表達式- -x的值是x自減1后的值,為0.自增變量x的值是0.條件! (- -x) = !0=l. 為真。繼續執行循環體。
第二次循環
循環體printf (,,%d\n,,> x-=2):是輸出x的值。而x-二2等價于x=x~2 =
0-2 =-2o 所以輸出-2
條件是白增表達式與邏輯非表達式的綜合。先計算--x.白增表達式-
-x的值是洎減1后的值,為-3.自增變量x的值是-3.條件! (- -x) = ! (-3)二0.為假。循環結束。
總結:輸出 l-2
號:13353 下面程斥的功能是在輸入的一批正整數中求出最大者,輸入0結束循環。請 選擇填空。
ttincludeO
void main ()
{ int a, max=0;
scanf (”%d", &a);
TOC \o "1-5" \h \z while ()
{ if(max
scanf&a);
}
pri ntfmax);
}
A、a==0
B、a
C、!a==l
D、!a
答案:B
解答:題目中說輸入0結束循環。它的另一個意思是輸入的變量a的值不是 0時就執行循環或者說a為真就執行循環,為假就結束循環。所以條件是 a!=0 或 a
答案A a==0 a為假,即等于0時,0=0,為真,執行循環體。為真, 即非0,則a二二0的邏輯值為假。結束循環。總結:a為假執行循環體。 為真,結束循環。
答案C ! a二二1非運算符!優先級高于比較運算符二二。所以先計算! a,然后再判斷是否和1相等。a為假時,! a值是真,與1恒等,邏輯值 為為真時,! a值是假,與1不等,邏輯值為0.所以它的含義是a為假執 行循環體。為真,結束循環。
答案D。! a的含義,是a為假執行循環體。為真,結束循環。
■@號:13357
與下面程序段等價的是O
for (n二100;n<=200;n++)
{ if(n%3~0) continue;
printf (”%4d", n);
}
A、for (n=100;n<=200;n++) if(n%3==0) printf(〃%4d〃,n);
B、for(n=100;(n%3)&&n<=200;n++) printf("%4d", n);
C^ for (n=100; (n%3) | n<=200;n++) printf (,,%4d,\ n);
D、 for(n=100;n<=200;n++)
{ if (n%3) printf ("%4d", n);
else continue;
答案:D
解答:
程序的含義:
n=100;n<=200;n++o 含義是循環變量n的初值為100,終值為200,步 長為1.
if(n%3==0) continue;含義是若n是3的倍數,則結束此次循環,進 入下一次循環。即后面的printfC%4r,n);不執行。直接執行步長加 1.
若n不是3的倍數,則執行printfC%4r,n);,即輸出n的值。且值占四 列,右對齊。
輸出100-200中所有不是3的倍數的數。
看四個答案:
答案A if(n%3=0)printf(〃%4d〃,n);的含義是n是3的倍數,則輸出。 與源程序的題意不符。
答案B與關系表達式,兩邊的邏輯值均為1,結果才是真。若有一個 為假,結果為假。(n%3)&&n<=200 n%3為真,同時n<=200為真,則執 行循環體,即輸出變量n .n%3為真,說明n不是3的倍數時為真。
(n%3)&&n<=200若n%3為假,或n>200,則條件為假,結束循環。所以,
當n是3的倍數時,就結束。即n二102時,102%3二0,為假,就結束循環。不 符合題意。
答案C (n%3) |n<=200;是或關系表達式。有一個為真,結果為真。 全為假,結果為假。n%3 n是3的倍數時,如n二102, n%3為假,但n二102〈二200 為真。所以102也要輸出。不符合題意。
答案D if (n%3) printf ("%4d", n) ; else conti
總結
以上是生活随笔為你收集整理的c语言常用算法累加法例题,C语言第三次模拟练习题部分解答.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为美学基因再升级 P50 Pocket
- 下一篇: 全球首发骁龙8+!小米12S系列今晚发布