一、單項選擇題
1.下面程序段的運行結(jié)果是( C )。
int n=0;
while(n++<=2);
printf(“%d”,n);
A) 2
B) 3
C) 4
D) 有語法錯
2.設(shè)有程序段:
t=0;
while(printf(“*”))
{t++;
if(t<3) break;
}
下面描述正確的是( D )。
A) 其中循環(huán)控制表達式與0等價
B) 其中循環(huán)控制表達式與'0'等價
C) 其中循環(huán)控制表達式是不合法的
D) 以上說法都不對
3.下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出,當輸入一對相等數(shù)時結(jié)束循環(huán),請選擇填空( B )。
#include
main()
{int a,b,t;
scanf(“%d%d”,&a,&B);
while( ___________ )
{if(a>B)
{t=a;a=b;b=t;}
printf(“%d,%d\n”,a,B);
scanf("%d%d",&a,&B);
}
}
A) !a=b
B) a!=b
C) a==b
D) a=b
4.C語言中,while和do-while循環(huán)的主要區(qū)別是( A )。
A) do-while的循環(huán)體至少無條件執(zhí)行一次
B) while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格
C) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D) do-while的循環(huán)體不能是復合語句
5.對以下程序段描述正確的是( C )。
x=-1;
do
{x=x*x;}
while(!x);
A) 是死循環(huán)
B) 循環(huán)執(zhí)行二次
C) 循環(huán)執(zhí)行一次
D) 有語法錯誤
6.以下描述中正確的是( C )。
A) do-while循環(huán)中循環(huán)體內(nèi)不能使用復合語句
B) do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號
C) 在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱?“假”)的操作
D) do-while循環(huán)中,根據(jù)情況可以省略while
7.若有如下語句
int x=3;
do{ printf(“=”,x-=2);} while(!(--x));
則上面程序段( B )。
A) 輸出的是1
B) 輸出的是1和-2
C) 輸出的是3和0
D) 是死循環(huán)
8.下面有關(guān)for循環(huán)的正確描述是( D )。
A) for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B) for循環(huán)是先執(zhí)行循環(huán)的循環(huán)體語句,后判斷表達式
C) 在for循環(huán)中,不能用break語句跳出循環(huán)體
D) for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來
9.對for(表達式1; ;表達式3)可理解為( B )。
A) for(表達式1;0;表達式3)
B) for(表達式1;1;表達式3)
C) for(表達式1;表達式1;表達式3)
D) for(表達式1;表達式3;表達式3)
1.下面程序段的運行結(jié)果是( C )。
int n=0;
while(n++<=2);
printf(“%d”,n);
A) 2
B) 3
C) 4
D) 有語法錯
2.設(shè)有程序段:
t=0;
while(printf(“*”))
{t++;
if(t<3) break;
}
下面描述正確的是( D )。
A) 其中循環(huán)控制表達式與0等價
B) 其中循環(huán)控制表達式與'0'等價
C) 其中循環(huán)控制表達式是不合法的
D) 以上說法都不對
3.下面程序的功能是將從鍵盤輸入的一對數(shù),由小到大排序輸出,當輸入一對相等數(shù)時結(jié)束循環(huán),請選擇填空( B )。
#include
main()
{int a,b,t;
scanf(“%d%d”,&a,&B);
while( ___________ )
{if(a>B)
{t=a;a=b;b=t;}
printf(“%d,%d\n”,a,B);
scanf("%d%d",&a,&B);
}
}
A) !a=b
B) a!=b
C) a==b
D) a=b
4.C語言中,while和do-while循環(huán)的主要區(qū)別是( A )。
A) do-while的循環(huán)體至少無條件執(zhí)行一次
B) while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格
C) do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D) do-while的循環(huán)體不能是復合語句
5.對以下程序段描述正確的是( C )。
x=-1;
do
{x=x*x;}
while(!x);
A) 是死循環(huán)
B) 循環(huán)執(zhí)行二次
C) 循環(huán)執(zhí)行一次
D) 有語法錯誤
6.以下描述中正確的是( C )。
A) do-while循環(huán)中循環(huán)體內(nèi)不能使用復合語句
B) do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號
C) 在do-while循環(huán)體中,一定要有能使while后面表達式的值變?yōu)榱?“假”)的操作
D) do-while循環(huán)中,根據(jù)情況可以省略while
7.若有如下語句
int x=3;
do{ printf(“=”,x-=2);} while(!(--x));
則上面程序段( B )。
A) 輸出的是1
B) 輸出的是1和-2
C) 輸出的是3和0
D) 是死循環(huán)
8.下面有關(guān)for循環(huán)的正確描述是( D )。
A) for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況
B) for循環(huán)是先執(zhí)行循環(huán)的循環(huán)體語句,后判斷表達式
C) 在for循環(huán)中,不能用break語句跳出循環(huán)體
D) for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來
9.對for(表達式1; ;表達式3)可理解為( B )。
A) for(表達式1;0;表達式3)
B) for(表達式1;1;表達式3)
C) for(表達式1;表達式1;表達式3)
D) for(表達式1;表達式3;表達式3)