我想要一套關於c語言迴圈語句的習題,不知哪位大俠有,希望幫幫忙,救急啊先謝了

時間 2021-09-05 20:04:53

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來計算,所以 以下程式就很好理解了!程式執行...