《《C語(yǔ)言程序設(shè)計(jì)(第2版)》試題庫(kù) 測(cè)試卷二》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C語(yǔ)言程序設(shè)計(jì)(第2版)》試題庫(kù) 測(cè)試卷二(8頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、
測(cè)試卷二
一、選擇題
1 C 語(yǔ)言中最簡(jiǎn)單的數(shù)據(jù)類型包括
A)整型、實(shí)型、邏輯型 B)整型、實(shí)型、字符型
C)整型、字符型、邏輯型 D)整型、實(shí)型、邏輯型、字符型 2 C 語(yǔ)言中,運(yùn)乍對(duì)象必須是整型數(shù)的運(yùn)算符是
A) % B) 、C) %和、D) **
3 為表示關(guān)系 x≥y≥z,應(yīng)使用 C 語(yǔ)言表達(dá)式 A)(x)=y)&&(y)=z)B(x)=y)AND(y)=z)
C)(x)=y)=z)D)(x)=y)&(y)=z)
4 下述對(duì) C 語(yǔ)言字符數(shù)組的描術(shù)中錯(cuò)誤的是
A)字符數(shù)組可以存放字符串
B)字符數(shù)組中的字符串可以整體輸入、輸出
C)可以在賦值語(yǔ)句中通過(guò)賦值
2、運(yùn)算符“=”對(duì)字符數(shù)組整體賦值 D)不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的字符串進(jìn)行比較
5 設(shè)有如下定義:
int x=10,y=3,z;
則語(yǔ)句
printf(“%d、n”,z=(x%y,x/y));
的輸出結(jié)果是
A)1 B)0
C)4 D)3
6 以下程序的輸出結(jié)果是
main()
{int x=10,y=10;
printf(“%d %d、n”,x——,——y);
}
A)10 10 B)9 9
C)9 10 D)10 9
7 以下說(shuō)法中正確的是
A)C 語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行
B)在 C 語(yǔ)言程序中,要調(diào)用的函數(shù)必須在 main()函數(shù)中定義
3、 C)C 語(yǔ)言程序總是從 main()函數(shù)開(kāi)始執(zhí)行
D)C 語(yǔ)言程序中的 main()函數(shù)必須放在程序的開(kāi)始部分 8 執(zhí)行下面的程序后,a 的值為
main()
{int a,b;
for (a=1,b=1;a<=100;a)
{if(b)=20}break;
if(b%3==1)
{b=3;
continue;
}b--=5;
}
}
A}7 B}8 ????C)9 D)10
9 以下程序段的輸出結(jié)果是
int x=3;
do
{printf(“%3d”,x——=2);}
while(!(——x));
A)1 B)3 0???C)1——2 D)
4、死循環(huán)
10 定義如下變量:
int n=10;
則下列循環(huán)的輸出結(jié)果是
while(n>7)
{n——;
printf(“%d、n”,n);
}
A)10 B)9 C)10 D)9
9 8 9 8
8 7 8 7
7 6
11 兩次運(yùn)行下面的程序,如果從鍵盤(pán)上分別輸入 6 和 4,則輸出結(jié)果是 main()
{int x;
scanf(“%d”,&x);
if(x>)5}printf(“%d”,x);
else printf(“%d、n”,x ——);
}
A)7 和 5 B)6 和 3 C)7 和 4 D)6 和 4
12 執(zhí)行以下程序后,y 的值是
5、
main ()
{int a[]={2,4,6,8,10};
int y=1,x,*p;
p=&a[1];
for(x=0;x<3;x)
y =*(p+x);
printf(“%d\n”,y);
}
A)17 B)18 C)19 D)20
13 下列程序執(zhí)行后輸出的結(jié)果是:
int d=1;
fun (int q)
{int d=5;
d =p ;
printf(“%d”,d);
}
main()
{int a=3;
fun(a);
d =a ;
printf(“%d\n”,d);
}
A)8 4 B)9 6 C)9 4 D)8 5
6、14 C 語(yǔ)言提供的合法的數(shù)據(jù)類型關(guān)鍵字是 A)Double B)short C)integer D)Char
15 在 C 語(yǔ)言中,合法的長(zhǎng)整型常數(shù)是
A)0L B)4962710 C)0.054838743 D)2.1869e10
16 表達(dá)式:10!=9 的值是
A)true B)非零值 C)0 D)1
17 若有說(shuō)明和語(yǔ)句:
int a=5;
a;
此處表達(dá)式 a 的值是
A)A)7 B)6 C)5 D)4
18 在下列選項(xiàng)中,不正確的賦值語(yǔ)句是 A)t;B)n1=(n2=(n3=0));
C)k=i==j;D)a=bc=1;
19 若有說(shuō)明:int i,j=7
7、,*p=&i;,則與 i=j;等價(jià)的語(yǔ)句是 A)I=*P;B)*P=*&J;C)i=&j;D)i=**p;
20 不能把字符串:Hello!賦給數(shù)組 b 的語(yǔ)句是 A)char b[10]={'H','e','l','l','o','!'};
B)char b[10];b=“Hello!”;
C)char b[10];strcpy(b,“Hello!”);
D)char b[10]=“Hello!”
21 以下程序的輸出結(jié)果是
A)6 B)6789 C)'6'D)789
main()
{char a[10]=”6789”,*p;
p=a;
printf(“%s\n”,p);
8、
22 以下程序的輸出結(jié)果是
A}2 0 B}3 1 C}3 2 1 0 D}2 1 0
main()
{int n=4;
while(n>0) { n--; printf(“%d ”,n); }
}
23 以下程序運(yùn)行后,輸出結(jié)果是
A)84 B)99 C)95 D)44
int d=1l
fun (int p)
{int d=5;
d=p;
printf(“%d”,d);
}
main()
{itn a=3;
fun(a);
d=a;
printf(“%d、n”,d);
}
24 在下列選項(xiàng)中,沒(méi)有構(gòu)成死循環(huán)的程序估是 A) int
9、 i =100;
whine(1)
{i=i%3;
if (i>100)break;
}
B) for (;;);
C) int k=1000;
do {k;} while(k>1000);
D) int s=36;
while (s);--s;
25 閱讀以下程序:
main()
{ int x;
scanf("%d",&x);
if(x--<5) printf("%d"'x);
else printf("%d"'x++);
}
程序運(yùn)行后,如果從鍵盤(pán)上輸人 5,則輸出結(jié)果是 A)3 B) 4 C) 5 D) 6
26 以下程序的輸出結(jié)果是
main()
10、
{ int num= 0;
while(num<=2)
{ num++; printf("%d\n",num);
}
A} 1 B} 1 C}1 D} l
2 2 2
3 3
4
27 以下程序的輸出結(jié)果是
main()
{ char c='z';
printf("%c",c-25);
}
A) a B) Z C) z-25 D) y
28 以下選項(xiàng)中,非法的字符常量是
A) '\t' B) '\17' C)"n" D) '\xaa'
29 若有說(shuō)明:int i, j=2,*p=&i;,則能完成 i=j 賦值功能的語(yǔ)句是 A) i=*p; B)
11、p*=*&j; C) i=&j; D) i=**p;
30 以下定義語(yǔ)句中,錯(cuò)誤的是
A) int a[]={1,2}; B) char *a[3];
C) char s[10]="test"; D) int n=5,a[n];
31 以下程序的輸出結(jié)果是
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf("%d%d%d",a[2],a[5],a[8]);
}
A) 258 B) 741 C) 852 D) 369
32 以下數(shù)組定義中不正確的是
A) int a[2][3];
B) int b[][
12、3]={0,1,2,3};
C) int c[100][100]={0};
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
33 以下程序的輸出結(jié)果是
main()
{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
)
A} 0650 B} 1470 C} 5430 D} 輸出值不定
34 以下選項(xiàng)中,不能正確賦值的是
A) char s1[10];s1="Ctest";
B) char s2[]={'
13、C', 't', 'e', 's', 't'};
C) char s3[20]="Ctest";
D) char *s4="Ctest\n"
35 以下程序的輸出結(jié)果是
main()
{ int a, b;
for(a=1, b=1; a<=100; a++)
{ if(b>=10) break;
if (b%3= =1)
{ b+=3; continue; }
}
printf("%d\n",a);
}
A) 101 B) 6 C) 5 D) 4
36 有以下程序段
int k=0
while(k=1) k++;
while 循環(huán)執(zhí)行的次數(shù)是
14、A) 無(wú)限次 B) 有語(yǔ)法錯(cuò),不能執(zhí)行 C) 一次也不執(zhí)行 D) 執(zhí)行 1 次
37 以下程序執(zhí)行后 sum 的值是 A)10 B)6 C) 不確定 D)0
min()
{ int i , sum;
for(i=1;i<4;i++) sum+=i;
printf("%d\n",sum);
}
38 以下程序的輸出結(jié)果是
A) 1,5,9 B) 1,4,7 C) 3,5,7 D)3,6,9 main()
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf("%d,",x[i][2-i]);
}
39
15、以下程序的輸出結(jié)果是
A) 18 B) 19 C) 20 D)21
main()
{ int a[3][2]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=0;i<3;i++)
for(j=0;j<2;j++)s+=a[i][j];
printf("%d\n",s);
}
40 以下程序的輸出結(jié)果是:
main()
{ int a=1, b=2;
a=a+b; b=a-b; a=a-b;
printf("%d,%d\n", a, b );
}
A)1,2 B)3,1 C)3,2 D)2,1
二、填空題
1 以下程序運(yùn)行后的輸出結(jié)果是【1
16、】。 main()
{ int i=10, j=0;
do
{ j=j+i; i-;
while(i>2);
printf("%d\n",j);
}
2 設(shè)有以下程序:
main()
{ int n1,n2;
scanf("%d",&n2);
while(n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序運(yùn)行后,如果從鍵盤(pán)上輸入 1298;則輸出結(jié)果為【2】。 3 以下函數(shù)的功能是:求 x 的 3 次方,請(qǐng)?zhí)羁铡?
double fun( double x)
{ int i;
double
17、z;
for(i=1, z=x; i<3;i++) z=z* 【3】;
return z;
}
4 下面的程序是求 1+2+…+10 的值,請(qǐng)?zhí)羁眨?
main()
{int I,s=0;
for(I=1;I<=10;I++)
【4】;
}
5 下面的程序是求 1*2*3*…10,請(qǐng)?zhí)羁眨?
main()
{int I,s=【5】;
【6】
s=s*I;
}
6 下面的程序是求數(shù)組 a 中的最大值,請(qǐng)?zhí)羁?
main()
{int a[5]={23,4,5,2,32},I,max;
max=【7】;
for(I=1;I<=4;I++)
if(max
18、) 【8】;
}
7 下面程序的輸出結(jié)果是【9】:
int abc(int z)
{return z+10;
}
main()
{int x=3,y;
y=abc(x);
printf(“%d”,y)
}
8 下面程序的輸出結(jié)果是【10】: main()
{int x=11,*p=x;
*p=23;
printf(“%d”,x)
}
答案
選擇題
1 2 3 4 5 6 7 8 9 10
B A A C D D C B C B
A C A B A D C D B B
B C A C B B A C B D
C D A A D A B C D D
填空題
1 52
2 8921
3 x
4 S=s+i
5 1
6 For(I=1;I<=10;I++)
7 A[0]
8 Max=a[i]
9 13
10 23