一、選擇題
1、若給定條件表達式(M)?(a++):(a--),則其中表達式M( C )。
(A)和(M==0)等價 (B)和(M==1)等價
(C)和(M!=0)等價 (D)和(M!=1)等價
2、在C/C+語言中,結束while語句循環的條件為( A )。
(A)0 (B)1 (C) true (D)非0
在C/C++語言中,結束do-while語句循環的條件為( A )。
(A)0 (B)1 (C) true (D)非0
3、若k為整型,以下while循環體中的語句執行( B )。
k=2;
while(k=0)
{
printf("%d",k);
k--;printf(" ");
}
(A)無限次 (B)0次 (C)1次 (D)2次
4、以下語句段中,不是無限循環的程序段是( D )。C
(A) i=100; (B)for(;;);
while (1)
{
i=i%100;i++;
if(i>100)break;
}
(C) k=32764; (D) s=32764;
do{ while((s++%2)||(s%2))s++;
k++;k++;
} while(k>0);
5、C語言中用於結構化程序設計的3種基本結構是( A )。
(A)順序結構、選擇結構、循環結構 (B) if,switch,break
(C) for,while,do-while (D) if,for,continue
6、對於下面的程序段
int t=0;
while (t=l)
{...}
以下敘述正確的是( B )。
(A)循環控制表達式的值為0 (B)循環控制表達式的值為1
(C)循環控制表達式不合法 (D)以上說法都不對
7、在下列選項中,會構成死循環的是( B )。
(A) int i=100; (B)for(;;); (C) int k=10000; (D) int s=36;
while(1) do {k++;}while(k>10000); while(s)--s;
{
i=i%100+1;
if(i==100)break;
}
8、在下面給出的4個語句段中,能夠正確表示以下的函數關系的是( A )。
-1 (x<0)
y= 0 (x=0)
1 (x>0)
(A)if(x!=0) (B)y=0; (C)if(x<0)y=-l; (D)y=-1;
if(x>0)y=l; if(x>=0) if(x!=0)y=1; if(x!=0)
else y=-l; if(x)y=l; else y=0; if(x>0) y=l;
else y=0; else y=-l; else y=0;
二、讀程序分析程序的運行結果
9、設int a=5, b=6, 表達式(++a==b--)?++a:--b的值是 7 。
10、以下程序的輸出為( B )。
#include<stdio.h>
void main( )
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d ",x);
}
(A)x=4 (B)x=8 (C) x=6 (D) x=12
11、以下程序的輸出為( B )。
#include <stdio.h>
void main( )
{
int x=1,y=0,a=0,b=0;
switch(x)
{
case 1:
switch(y)
{
case 0:a++;break;
case 1:b++;break;
} //後面沒有break,所以繼續執行case 2
case 2:
a++;b++;break;
case 3:
a++;b++;
}
printf("a=%d,b=%d ",a,b);
}
(A)a=l,b=0 (B)a=2,b=1 (c)a=1,b=l (D)a=2,b=2
12、以下程序的輸出為( B )
#include <iostream.h>
void main( )
{
int i,j,k=0,m=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)