1樓:o夢影風鈴
for語句格式為:
迴圈語句
for(表示式1;表示式2;表示式3)
迴圈語句語句:/*迴圈體*/
該語句執行過程如下:
①先對表示式1賦初值;
②判別表示式2是否滿足給定條件,若其值為真,滿足迴圈條件,則執行迴圈體內語句,然後執行表示式3,進入第二次迴圈,再判別表示式2……;否則判斷表示式2的值為假,不滿足條件,就終止for迴圈,執行迴圈體外語句。
while語句格式為:
while(表示式)
語句;/*迴圈體*/
這裡的表示式是迴圈能否繼續下去的條件,而語句是迴圈體。只要表示式為真,則執行迴圈體內語句。否則終止迴圈,執行迴圈體外語句。
do while語句格式為:
do 語句;/*迴圈體*/
while(表示式);
程式進入do while迴圈後,先執行迴圈體內語句,然後判斷表示式的真假,若為真則進行
下一次迴圈,否則為假則終止迴圈。該迴圈語句的特點是,表示式為假時也執行一次迴圈體
內語句。
1.設有程式段 int k=10; while (k=0) k=k-1; 則下面描述中正確的是 ( )a while迴圈執行10次 b 迴圈是無限迴圈c 迴圈體語句一次也不執行d 迴圈體語句執行一次
2.設有以下程式段 int x=0,s=0; while(!x!
=0)s+=++x;printf("%d",s) ;則( )a 執行程式段後輸出0 b 執行程式段後輸出1 c 程式段中的控制表示式是非法的 d 程式段執行無限次
3、語句while(!e);中的表示式!e特等價於( )a、e==0 b、e!=1c、e!=0 d、e==1
4、下面程式段的執行結果是
9、下面程式的功能是從鍵盤輸入的一組字元中統計出大寫字母個數m和小寫字母個數n,並輸出m,n中較大者,請選擇填空。#includemain( )printf(「%d\n」,mmain()printf(「%c」,c);}a.c+=2 b.
c-=32 c.c=c+32+2 d.c-=30a.
c=』b』 b.c=』a』 c.c-=26 d.
c=c+26
11,下面程式的功能是在輸入的一批正整數中求出最大者,輸入0時結束,請選擇填空main( )printf(「\n」);}a.668977 b.668966 c.66778777 d.
6688766
14.c語言中while和do-while迴圈的主要區別是( )a.do-while的迴圈體至少無條件執行一次b.
while的迴圈控制條件比do–while的迴圈控制條件嚴格c.do-while允許從外部轉到迴圈體內d.do-while的迴圈體不能是復合語句
15 .以下程式段()x=-1 dowhile(!x);a.是死迴圈b.迴圈執行二次c.迴圈執行一次d.有語法錯誤
16、以下描述中正確的是( )a.由於do -while迴圈中迴圈語句中只能是一條可執行語句,所以迴圈體內不能使用復合語句。b.
do-while迴圈由do開始,且while結束,在while(表示式)後面不能寫分號。c.在do-while迴圈體中,一定要有能使while後面表示式的值變為零(「假」)的操作。
d.do-while迴圈中,根據情況可以省略while
17.若有以下語句int x=3;do while(!(--x));則上面程式段()a.輸入的是1 b.輸出的是1和-2 c.輸出的是3和0 d.死迴圈
18.下面程式是從鍵盤輸入學號,然後輸出學號中百位數字是3的學號,輸入0時結束迴圈,填空。main()while(______);}a.
num%100/10==3 .bnum/100%10==3 c.num%10/10==3 d.
num/10%10==3a.!num b.num>0==0 c.!
num==0 d.!num!=0
19.下面程式的執行結果是( )#include
main( )
while(--y);
printf(「%d\n」,--y);}
a .-1 b.1 c.8 d.-8
20.若執行以下程式時,從鍵盤輸入adescriptot(表示回車),下面程式的執行結果是
#include
main( )
}while(c!=』\n』);
a)v0=7,v1=4,v2=7 b)v0=8,v1=4,v2=8
c)v0=11,v1=4,v2=11 d)v0=12,v1=4,v2=12
21.下面程式的執行結果是
#include
main( )
while(b--<0);
printf(「a=%d,b=%d\n」,a,b);}
a=3,b=11 b)a=2,b=8 c)a=1,b=-1 d)a=4,b=9
22.下面有關for迴圈的正確描述是( )a.for迴圈只能用於迴圈次數已經確定的情況b.
for 迴圈是先執行迴圈體語句,後判斷表示式c.在for迴圈中,不能用break語句跳出迴圈體d.for迴圈的迴圈體語句中,可以包含多條語句,但必須花括號括起來
23.對for(表示式1;; 表示式3)可理解為( )a.for(表示式1;0; 表示式3)b.
for(表示式1;1;表示式3)c.for(表示式1;表示式1;表示式3)d.for(表示式1;表示式3;表示式3)
24.若i為整型變數,則以下迴圈執行的次數是( )for(i=2;i=0;) printf(「%d」,i--)a.無限次 b.0次 c.1次 d.2次
25.以下for迴圈的語句是( )for(x=0,y=0;(y=123)&&(x<4);x++);a.是無限迴圈 b.迴圈次數不定c.4次 d.3次
26.以下不是無限迴圈的語句是( )a.for(y=0,x=1;x>++y;x=i++) i=x;b.
for(; ;x++=i);c.while(1) d.for(i=10; ;i--) sum+=i;
27.以下程式段的執行結果是( )for (y=1;y<
x=12,y=13 c.x=15,y=14 d.x=y=27
28. 下面程式段的執行結果是____
for(x=3;x<6;x++)printf((x%2)?(「**%d」):(「##%d\n」),x);
a)**3 b)##3 c)##3 d)**3##4
##4 **4 **4##5 **5
**5 ##5
29.下列程式段不是死迴圈的是( )a. int i=100 while(1)b.
for(;;)c. int k=0;dowhile(k>=0);d.int s=36; while(s); --s;30.
執行語句for(i=1;i++<4;);後變數i的值是( )a.3; b.4 c.
5 d.不定
2樓:big傻驢
我這有c的競賽題目。要不
一道c語言的題目,請各位幫幫忙急,急得很!!先謝謝各位!!
3樓:自我程式設計
語法沒發現問題,如果你說的是邏輯問題,那只能你自己核實,沒有注釋,不明白你這個**想實現什麼功能,除了賦值就是判斷,我看那個很長的與或組合的條件語句,你邏輯上有沒有理對,如果條件太長,你可以考慮把單個條件用變數接收,最後再用變數組條件句,可能會清晰點
4樓:
沒有發現什麼錯誤。你有什麼問題?
我這有c語言的題,哪位大俠能解決一下,必有重謝!
5樓:匿名使用者
1.若有定義則下列操作正確的為(a )。
a)*pi=0;
b)pi=&j;
c)i=10;pi=&j;
d)j=*pi;
解釋:const定義的資料為唯讀資料。也就是說i和pi(位址)的值是不可以被修改的。
b c d都修改了唯讀資料的值。a是修改了pi所指向的值,不是修改了pi的位址。所以a正確。
2.函式呼叫語句:fseek(fp,-20l,2);的含義是(c )。
a)將檔案位置指標移到距離檔案頭20個位元組處
b)將檔案位置指標從當前位置向後移動20個位元組
c)將檔案位置指標從檔案末尾處後退20個位元組
d)將檔案位置指標移到距離當前位置20個位元組處
ps:仔細看下fseek函式就可以了。
3.在下述程式中,if (i>j) 語句共執行的次數是( )。
main()
s+=i ;}}
a)6b)9
c)7d)12
這個好像沒有答案 我計算的應該是8
4.語句printf(「%d\n」,strlen(「xyz\t\xab\3\\」));的輸出結果是( c)。
a)9b)11
c)7d)8
ps:strlen遇到\0就停止計算長度。x y z \t ab 3 \
5.在c語言中,函式的隱含儲存類別是(a )。
a)auto
b)static
c)extern
d)無儲存類別
ps:查查資料,書上有說明的。
6.下列程式的輸出結果是( c)。
main()
a)5b)7
c)20
d)21
7.以下程式將輸出的字元是( c)。
#include "stdio.h"
main()
;p=&s[0];
c=*(p[1]+1);
printf("%c",c);
}a)b
b)dc)e
d)f8.若a是整型變數,表示式~(a^~a)等價於(c )。
a)~a
b)1c)0
d)2ps:~優先順序高於^。
9.有以下程式:
main()
,*p=str;
printf(「%s\n」,p+8);}
該程式執行後的輸出結果是(b )。
a)hello
b)beijing
c)jing
d)ijing
10.設有定義:#define str "12345";,則以下敘述正確的是(b )。
a)巨集名str代替的是數值常量12345
b)巨集定義以分號結束,編譯時會產生錯誤資訊
c)巨集名str代替的是字串"12345"
d)巨集名str代替的是字串常量"12345"
11.以下程式的輸出結果為(c )。
int a=2;
int f(int *a)
void main()
s+=f(&a);
printf("%d %d\n",a,s);
}a)2 7
b)2 10
c)3 7
d)3 11
ps:全域性變數和區域性變數。
12.在下列字串行中,屬於c語言合法識別符號的是(b )。
a)p12.a
b)stud_100
c)$water.1
d)88sum
13.若有定義:int a,b;char x,y;並有以下輸入資料: 12 13 aabb(回車)
則能給a賦整數12,給b賦整數13,給x賦字元a,給y賦字元b的正確程式段是()。
a)scanf(「%d」,&a);
scanf(「%d」,&b);
x=getchar();y=getchar();
//這個好像沒有答案。
14.下列選項中屬於不正確的賦值語句的是( b)。
a)t--;
b)k=i==j;//優先順序
c)t1=t2=t3=3;
d)t1=1,t2=2;
15.在下列語句選項中,只有乙個在功能上與其他三個語句不等價(其中s1和s2表示某個c語句),這個不等價的語句是(d )。
a)if (a) s1; else s2;
b)if (!a) s2; else s1;
c)if (a!=0) s1; else s2;
d)if (a==0) s1; else s2;
lz,給分吧。
關於for迴圈語句後的分號問題,在C語言中,for語句的後面加分號和不加分號有何不同,該分號有什麼作用?
可愛的小知道 for 表示式1 表示式2 表示式3 語句 執行過程如下 1 先求解表示式1。2 求解表示式2,若其值為真,則執行for語句中指定的內嵌語句,然後執行下面第3 步 若其值為假,則結束迴圈,轉到第5 步。3 求解表示式3。4 轉回上面第2 步繼續執行。5 迴圈結束,執行for語句下面的一...
C語言乙個for迴圈有幾條語句?
三條,語句之間用 分隔。語句可以省略,但是 不可以省略。這個沒有限制的,for的引數裡面的 符號只是用來區分3個語句塊的用途,分別是 初始化,迴圈條件,累加器,實際上下面這個語句也是正確的。如果都寫的話是3個語句。c語言for迴圈巢狀語句中有連續多個for語句怎麼執行的?舉個例子。int n 0 f...
c語言迴圈語句i 與 i的問題
海南特產大全 我知道你有什麼困惑了,我之前學習c語言看譚浩強那本書上就寫的很清楚,但最後,用到for迴圈裡面我就納悶了,該用i 還是 i呢?其實這兩個都等價於i i 1,只要在for迴圈裡面,不管是哪一個,在之前加1還是之後加1,運算的結果都是以i i 1來計算,所以 以下程式就很好理解了!程式執行...