C語言-基本選擇題及參考答案 (2)
《C語言-基本選擇題及參考答案 (2)》由會員分享,可在線閱讀,更多相關(guān)《C語言-基本選擇題及參考答案 (2)(25頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、精品文檔,僅供學(xué)習(xí)與交流,如有侵權(quán)請聯(lián)系網(wǎng)站刪除 計算機(jī)程序設(shè)計基礎(chǔ)(C語言) 單項選擇練習(xí)題 一、基本概念 1. C語言程序是由 C 構(gòu)成的。 A)一些可執(zhí)行語言 B)main函數(shù) C)函數(shù) D)包含文件中的第一個函數(shù) 2.( A )是構(gòu)成C語言程序的基本單位。 A、函數(shù) B、過程 C、子程序 D、子例程 3.C語言程序從 C 開始執(zhí)行。 A) 程序中第一條可執(zhí)行語句 B) 程序中第一個函數(shù) C) 程序中的main函數(shù) D) 包含文件中的第一個函數(shù) 4.C語言程序從main
2、()函數(shù)開始執(zhí)行,所以這個函數(shù)要寫在_D___。 A) 程序文件的開始 B) 程序文件的最后 C) 它所調(diào)用的函數(shù)的前面 D) 程序文件的任何位置 5、以下說法中正確的是( C )。 A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行 B、在C語言程序中,要調(diào)用的函數(shù)必須在main( )函數(shù)中定義 C、C語言程序總是從main( )函數(shù)開始執(zhí)行 D、C語言程序中的main( )函數(shù)必須放在程序的開始部分 6. 下列方法中錯誤的是(D?。?。 A.主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體。 B.主函數(shù)可以調(diào)用任何非主函數(shù)
3、的其它函數(shù)。 C.任何非主函數(shù)可以調(diào)用其它任何非主函數(shù)。 D.程序可以從任何非主函數(shù)開始執(zhí)行。 7. 下列說法錯誤的是:( B ) A. C程序運(yùn)行步驟是編輯、編譯、連接、執(zhí)行。 B. C語言的變量名必須用小寫,常量用大寫。 C. C語言的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)。 D. C程序一定由函數(shù)構(gòu)成的。 8.下列關(guān)于C語言的說法錯誤的是( B ) 。 A) C程序的工作過程是編輯、編譯、連接、運(yùn)行 B) C語言不區(qū)分大小寫。 C) C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán) D) C程序從main函數(shù)開始執(zhí)行 9. 系統(tǒng)默認(rèn)的C語言源程序擴(kuò)展名為.C
4、,需經(jīng)過 C 之后,生成.exe文件,才能運(yùn)行? A) 編輯?編譯 B )編輯?連接 C) 編譯?連接 D) 編輯?改錯 10.下列說法中正確的是(B?。? A.由于C源程序是高級語言程序,因此一定要在TC軟件中輸入。 B.由于C源程序是由字符流組成的,因此可以作為文本文件在任何文本編輯的軟件中輸入。 C.由于C程序是高級語言程序,因此輸入后即可執(zhí)行。 D.由于C程序是高級語言程序,因此它是由命令組成的。 二、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式 1. 不是C語言提供的合法關(guān)鍵字是(B )。 A.switch B.cher C.case
5、 D.default 2.C語言提供的合法關(guān)鍵字是(D?。? A.next B.string C.do case D.default 3.下列不屬于C語言中關(guān)鍵字的是 B A)long B)print C)default D)typedef 4.下列正確的標(biāo)識符是(C?。? A.-a1 B.a[i] C.a2_i D.int t 5. 下列C語言用戶標(biāo)識符中合法的是( B )。 A、*y B、sum C、int
6、 D、%5f 6. 下面四個選項中,合法的標(biāo)識符是:( D ) A. auto B. define C. 6a D. c 7.下列C語言用戶標(biāo)識符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 8. 以下選項中合法的用戶標(biāo)識符是 B A) long B) _2Test C) 3Dmax D) A.dat 9.下列四組選項中,正確的C語言標(biāo)識符是( C )。 A) %x B) a+b C) a123
7、 D) 123 10. 請選出可用作C語言用戶標(biāo)識符的一組標(biāo)識符( B ) A) void B) a3_b3 C) For D) 2a define _123 -abc DO WORD sum Case sizeof 11、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是( A )。 A、print _3d db8 aBc B、I\a
8、m one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 12.下列C語言標(biāo)識符中合法的變量名是 B 。 A)2e3 B)you C)*y D)float 13.C語言中的簡單數(shù)據(jù)類型包括(D )。 A、整型、實型、邏輯型 B、整型、實型、邏輯型、字符型 C、整型、字符型、邏輯型 D、整型、實型、字符型 14、下列可以正確表示字符型常量的是( A )。 A
9、、’\t’ B、”a” C、”\n” D、297 15.下列表達(dá)式中, D 是正確的C語言字符常量。 A)”x” B)e3 C)”COMPUTER” D)’#’ 16.在下列表達(dá)式中,屬于字符型常量的是 B 。 A) A B) a C) "A" D) b 17. 以下選項中合法的字符常量是( B ) A) “B” B) ‘\n’ C) ‘68’ D) E 18.下面字符常量表示錯誤的是( D ) A)’a’
10、B)’?’ C)’\n’ D)”\n” 19. 已定義c為字符型變量,則下列語句中正確的是 ( C ) A)c=97 B)c="97" C)c=‘a(chǎn)’ D)c="a" 20. 已知ch是字符型變量,不正確的賦值語句是( A ) A) ch=a+b ; B) ch= \0 ; C) ch= 7 ; D) ch=’;’; 21.C語言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲的是( D ) A) 原碼
11、 B) 補(bǔ)碼 C) 反碼 D) ASCII碼 22.在C語言中,字符型數(shù)據(jù)所占的內(nèi)存空間是( C ) A)2個字節(jié) B) 4字節(jié) C) 1字節(jié) D)由用戶自定義 *23.若int類型數(shù)據(jù)占2個字節(jié),則unsigned int類型數(shù)據(jù)的取值范圍是 ( B ) A)0~255 B)0~65535 C)-32768~32767 D)-256~255 *24. 若有以下類型說明語句:char a;int b; float c; double d; 則表達(dá)式a*b+d-c的結(jié)果類型為( D )
12、 A)float B) char C) int D)double *25. 若有以下類型說明語句:char w;int x;float y;double z;則表達(dá)式w-x*y/z的結(jié)果為( D )類型,表達(dá)式(int)(x+y-z*w)的結(jié)果為( C )類型。 A)float B)char C)int D)double 26 .C語言中運(yùn)算對象必須是整型的運(yùn)算符是( A ) A) %= B) / C) = D) 〈= 27.在C語言程序中,表
13、達(dá)式8/5的結(jié)果是( B ) A)1.6 B)1 C)3 D)0 28.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為 B x=10; x+=x; A) 10 B) 20 C) 40 D) 30 29.在C語言程序中,表達(dá)式5%2的結(jié)果是 C 。 A)2.5 B)2 C)1 D)3 30.如果int a=3,b=4;則條件表達(dá)式"a
14、 D) 1
31.若int x=2,y=3,z=4 則表達(dá)式x 15、 D、!((a
16、 D) ‘d’
37.下列關(guān)于C語言的敘述錯誤的是( A )
A) 大寫字母和小寫字母的意義相同
B) 不同類型的變量可以在一個表達(dá)式中
C) 在賦值表達(dá)式中等號(=)左邊的變量和右邊的值可以是不同類型
D) 同一個運(yùn)算符號在不同的場合可以有不同的含義
38. 有:int w=11,x=12,y=3,m; 執(zhí)行下面語句后m的結(jié)果是( C )
m=(w 17、語句后m的值是( A )
m=(w>x)?w:x;
m=(m>y)?m:y;
A. 12 B. 0 C. 3 D. 1
40.設(shè)整型變量 a=2,則執(zhí)行下列語句后,浮點型變量b的值不為0.5的是( B?。?
A.b=1.0/a B.b=(float)(1/a)
C.b=1/(float)a D.b=1/(a*1.0)
41. 以下運(yùn)算符中優(yōu)先級最高的運(yùn)算符是( B )
A)&& B)++ C)+= D)!=
42.若“int n; float f=13.8; 18、”,則執(zhí)行“n=(int)f%3”后,n的值是(A)
A.1 B.4 C.4.333333 D.4.6
43. 設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為( C?。?
x=10; x*=x;
A) 10 B) 20 C) 100 D) 0
44. 若有語句int a=1,b; double y=2.3; b=(int)y; 則b的值為 (B )?
A) 3 B) 2 C) 1 D) 2.3
45.已知int x;char y;則下面錯誤的scanf函數(shù)調(diào)用語句為(B )
19、 A)scanf(“%d,%d”,&x,&y); B) scanf(“%d,%c”,x,y)
C) scanf(“%d%d”,&x,&y) D) scanf(“%d,%c”,&x,&y)
46.在C語言的庫函數(shù)中,可以輸出char型變量x值的語句是 C 。
A)getchar(x); B)fputc(x) C)putchar(x) D)puts(x)
47. 以下說法正確的是( C )
A) x+5是一個錯誤的表達(dá)式
B) C語言不允許類型的混合運(yùn)算
C) 強(qiáng)制類型轉(zhuǎn)換時,類型說明 20、符必須加括號
D) (int)x+y 和(int)(x+y)是完全等價的表達(dá)式
48.設(shè) int x=0, y=1; 表達(dá)式(x||y)的值是 ( B )
A) 0 B) 1 C) 2 D) -1
三、選擇結(jié)構(gòu)
1. 在C語言中,認(rèn)為( D )為邏輯"真"
A) true B)大于0的數(shù) C)非0整數(shù) D)非0的數(shù)
2. 表示關(guān)系x<=y<=z的c語言表達(dá)式為 A
A) (x<=y)&&(y<=z) B) (x<=y)AND(y 21、<=z)
C) (x<=y<=z) D) (x<=y)&(y<=z)
3.能正確表示邏輯關(guān)系:“a≥=10或a≤0”的C語言表達(dá)式是( D )
A) a>=10 or a<=0 B) a>=0|a<=10
C) a>=10 &&a<=0 D) a>=10‖a<=0
4、判斷char型變量c1是否為大寫字母的表達(dá)式為( D )。
A、’A’<=c1<=’Z’ B、(c1>=’A’) & (c1<=’Z’)
C、(’A’<=c1)AND (‘Z’>=c1) D、 c1>=’A’ && c1<=’Z 22、’
5. 為表示邏輯表達(dá)式79 24、i+=1;
case 11: i+=1;
default : i+=1; }
A、13 B、12 C、11 D、10
10. 在下面的條件語句中(其中s1和s2表示是C語言的語句),只有一個在功能上與其它三個語句不等價,它是( D )。
A、if (a) s1 ; else s2; B、if (a= =0) s2; else s1;
C、 if (a!=0) s1; else s2; D、if (a= =0) s1; else s2;
11.假 25、定所有變量均已正確定義,則下列程序段運(yùn)行后y的值是(A?。?
int a=0,y=10;
if(a=0) y--;
else if(a>0) y++;
else y+=y;
A.20 B.11 C.9 D.0
12.假定所有變量均已正確定義,則下列程序段運(yùn)行后x的值是(B?。?。
a=b=c=0; x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
A.34 B.4 26、 C.35 D.3
13. C語言對嵌套if語句的規(guī)定是:else語句總是與( D )配對。
A) 其之前最近的if B) 第一個if
C) 縮進(jìn)位置相同的if D) 其之前最近的且尚未配對的if
14. 在C語言語句中,用來決定分支流程的表達(dá)式是( A?。?
A.可用任意表達(dá)式 B.只能用邏輯表達(dá)式或關(guān)系表達(dá)式
C.只能用邏輯表達(dá)式 D.只能用關(guān)系表達(dá)式
15.C語言中用( B )表示邏輯“真”。
A. true B. 整數(shù)值1
C 27、. 非零整數(shù)值 D. false
16、若k是int型變量,且有下面的程序段:
int k;
k= -3;
if (k<=0) printf(“####”);
else printf(“&&&&”);
上面程序段的輸出結(jié)果是( A )
A、#### B、&&&&
C、####&&&& D、有語法錯誤,無輸出結(jié)果
17. main()
{ int x=0,a=0,b=0;
switch(x){
case 0: b++;
case 1: a++;
case 2: a++;b++;}
28、
printf(“a=%d,b=%d\n”,a,b);}
該程序的輸出結(jié)果是 D
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
18. 以下程序的輸出結(jié)果是:( C )
main()
{ int x=-10,y= 1,z=1;
if(x 29、b=50,c=30;
if(a>b)
a=b;
b=c;
c=a;
printf("a=%2d b=%2d c=%2d\n",a,b,c);
A) a=10 b=50 c=10 B) a=10 b=30 c=10
C) a=50 b=30 c=10 D) a=50 b=30 c=50
四、循環(huán)結(jié)構(gòu)
*1.在C語言中,下列說法中正確的是( D?。?。
A) do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。
B) do-while語句構(gòu)成的循環(huán)只能用break語 30、句退出。
C) do-while語句構(gòu)成的循環(huán)在while后的表達(dá)式非零時結(jié)束循環(huán)。
D) do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時結(jié)束循環(huán)。
2. break語句不能出現(xiàn)在( D?。┱Z句中
A. switch B.for C. while D. if…else
*3.對于break語句和continue語句的說法錯誤的是( B )
A) break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。
B) break和continue也可以用于if語句中
C) continue語句 31、只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。
D) break語句是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立。
4.語句while(!y);中的表達(dá)式!y等價于 A
A)y==0 B)y?。? C)y=!0 D) y==1
5.若有“int a=1,x=1;”,則循環(huán)語句“while(a<10) x++; a++;”的循環(huán)執(zhí)行(A?。?
A.無限次 B.不確定次 C.10次 D.9次
6. 有以下程序段
int k=0
while(k)k++;
則while循環(huán)體執(zhí)行的次數(shù)是 C
A) 無限次 32、 B) 有語法錯,不能執(zhí)行
C) 一次也不執(zhí)行 D) 執(zhí)行1次
7. 下列循環(huán)語句中有語法錯誤的是( D )
A while(x=y) 5; B while(0) ;
C do 2;while(x= =b); D do x++ while(x= =10);
*8.當(dāng)運(yùn)行時輸入:abcd$abcde, 下面程序的運(yùn)行結(jié)果是 B
#include 33、)abcdend D) abcd$abcdeend
9. 以下程序段 ( A )
x=-1;
do { x=x*x; }
while(x>0);
A. 是死循環(huán) B. 循環(huán)執(zhí)行一次 C. 循環(huán)執(zhí)行二次 D. 有語法錯誤
10. 下面程序段執(zhí)行后的結(jié)果為: ( B )
int sum=0, n=10;
do { sum=sum+n;
n++; }
while(n<10)
printf(“%d,%d”,sum,n)
A. 0, 10 B. 10, 11 C. 0, 11 D. 以上結(jié)果都不對
11 34、.對以下程序段的敘述正確的是___A____.
int x=1;
do
{ x= -1*x; }
while(!x)
A) 是死循環(huán) B) 循環(huán)執(zhí)行一次 C)循環(huán)執(zhí)行二次 D)有語法錯誤
12.循環(huán)“for(i=0,x=1;i=10&&x>0;i++);”的循環(huán)執(zhí)行( A?。?。
A.無限次 B.不確定次 C.10次 D.9次
13.執(zhí)行語句{for(j=0;j<=3;j++) a=1;}后變量j的值是 C .
A)0 B) 3 C)4 D) 1
14. 有如下程序
main()
{ int i 35、,sum=2;
for(i=1;i<=3;i+=2) sum+=i;
printf(“%d\n”,sum); }
該程序的執(zhí)行結(jié)果是 A
A) 6 B) 3 C) 死循環(huán) D) 4
*15、執(zhí)行語句”for ( i=0; i++<3 ; ) ;”后,變量i的值為( C )。
A、2 B、3 C、4 D、5
16.設(shè)x和y均為int型變量,則執(zhí)行以下的循環(huán)后,y的值為( D?。?。
for(y=1,x=1;y<=50;y++) 36、
if(x>=0) break;
if(x%2==1) {x+=5;continue;}
x-=3;
A.2 B.4 C.6 D.1
五 數(shù)組
1. 以下對一維數(shù)組a的正確說明是: D
A) char a(10); B) int a[];
C)int k=5,a[k]; D)char a[3]={‘a(chǎn)’,’b’,’c’};
2.以下能對一維數(shù)組a進(jìn)行初始化的語句是: ( C )
A. int a[5]=(0,1,2,3,4,) B. int a 37、(5)={}
C. int a[3]={0,1,2} D. int a{5}={10*1}
3.在C語言中對一維整型數(shù)組的正確定義為 D 。
A)int a(10); B)int n=10,a[n];
C)int n;a[n]; D)#define N 10
int a[N];
4、已知:int a[10]; 則對a數(shù)組元素的正確引用是( D )。
A、a[10] B、a[3.5] C、a(5) D、a[0]
5. 執(zhí) 38、行下面的程序段后,變量k中的值為 C
A) 不定值 B) 33 C) 30 D) 10
int k=3, s[2];
s[0]=k; k=s[0]*10;
*6. 下列說法中錯誤的是 C
A 構(gòu)成數(shù)組的所有元素的數(shù)據(jù)類型必須是相同的
B 用指針法引用數(shù)組元素允許數(shù)組元素的下標(biāo)越界
C 一維數(shù)組元素的下標(biāo)依次是1、2、3……
D 定義數(shù)組時的長度可以是整型常量表達(dá)式
7. 若有以下數(shù)組說明,則數(shù)值最大的和最小的元素下標(biāo)分別是( B )。
int a[12]={1 39、,2,3,4,5,6,7,8,9,10,11,12};
A.1,12 B.0,11 C.1,11 D.0,12
8.若有以下數(shù)組說明,則i=10;a[a[i]]元素數(shù)值是( B?。?。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10 B.9 C.6 D.5
9. 假定int類型變量占用兩個字節(jié),其有定義:int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是 D
A) 3 B) 6 40、 C) 10 D) 20
10.若有說明:int a[][3]={{1,2,3},{4,5},{6,7}}; 則數(shù)組a的第一維的大小為: ( B )
A. 2 B. 3 C. 4 D.無確定值
11.以下定義語句中,錯誤的是 ( D )
A) int a[]={1,2}; B) char *a;
C) char s[10]=“test”; D) int n=5,a[n];
12.下面程序段的輸出結(jié)果是: ( C )
int i;
int x[3][3]={1,2,3,4,5,6,7,8,9}; 41、
for (i=0;i<3;i++)
printf("%d ",x[i][2-i]);
A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9
13.對二維數(shù)組的正確定義是( C?。?
A.int a[ ] [ ]={1,2,3,4,5,6}; B.int a[2] [ ]={1,2,3,4,5,6};
C.int a[ ] [3]={1,2,3,4,5,6}; D.int a[2,3]={1,2,3,4,5,6};
14.已知int a[3][4];則對數(shù)組元素引用正確的是__C___
42、 A)a[2][4] B)a[1,3] C)a[2][0] D)a(2)(1)
六、字符數(shù)組
1. 在C語言中,以 D 作為字符串結(jié)束標(biāo)志
A)’\n’ B)’ ’ C) ’0’ D)’\0’
2.下列數(shù)據(jù)中屬于“字符串常量”的是( A )。
A.“a” B.{ABC} C.‘a(chǎn)bc\0’ D.‘a(chǎn)’
3.字符串 “ABCD”在內(nèi)存占用的字節(jié)數(shù)是( D?。?
A.4 B.6 C.1 D.5
4. 下面不正確的字符串常量是:( A )
A. 43、‘PROGRAM’ B “12’12” C “0” D “ ”
5.設(shè)有數(shù)組定義: char array [ ]="abcd"; 則數(shù)組array所占的空間為 B
A) 4個字節(jié) B) 5個字節(jié) C) 6個字節(jié) D) 7個字節(jié)
*6.下述對C語言中字符數(shù)組的描述錯誤的是 C 。
A)字符數(shù)組可以存放字符串
B)字符數(shù)組中的字符串可以整體輸入和輸出
C)可在賦值語句中通過賦值運(yùn)算符“=”對字符數(shù)組整體賦值
D)可在對字符數(shù)組定義時通過賦值運(yùn)算符“=”對字符數(shù)組整體初始化
7.已知char x[]="h 44、ello", y[]={h,e,a,b,e};, 則關(guān)于兩個數(shù)組長度的正確描述是 B .
A)相同 B)x大于y C)x小于y D)以上答案都不對
8.給出以下定義:
char x[ ]="abcdefg";
char y[ ]={a,b,c,d,e,f,g};
則正確的敘述為 C
A) 數(shù)組x和數(shù)組y等價 B) 數(shù)組x和數(shù)組y的長度相同
C) 數(shù)組x的長度大于數(shù)組y的長度 D) 數(shù)組x的長度小于數(shù)組y的長度
9、若有以下語句,則正確的描述是( D )。
static char x[ 45、]=”12345” ;
static char y[ ]={‘1’,‘2’,‘3’,‘4’, 5’,’\0’} ;
A、x數(shù)組長度大于y數(shù)組長度 B、x數(shù)組和y數(shù)組不相同
C、x數(shù)組長度小于y數(shù)組長度 D、x數(shù)組等價于y數(shù)組
10、已知:char s[20]= ”programming”, *ps=s; 則不能引用字母o的表達(dá)式是( C )。
A、ps[2] B、s[2] C、ps+2 D、ps+=2, *ps
*11.判斷兩字符串s1,s2是否相等,應(yīng)使用( D ).
A)if(s1= 46、=s2) B)if(s1=s2)
C)if(strcpy(s1,s2)) D)if(strcmp(s1,s2)==0)
*12.以下printf語句的輸出結(jié)果為: A
printf(“%d\n”,strlen(“school”));
A) 7 B) 6 C)存在語法錯誤 D)不定值
13. 對字符數(shù)組s賦值,不合法的一個是( C )
A. char s[]="Beijing";
B. char s[20]={"beijing"};
C. char s[20];s="Beijing";
D. c 47、har s[20]={B,e,i,j,i,n,g};
14. 對字符數(shù)組str賦初值,str不能作為字符串使用的一個是( D )
A. char str[]="shanghai";
B. char str[]={"shanghai"};
C. char str[9]={s,h,a,n,g,h,a,i,’\0’};
D. char str[8]={ s,h,a,n,g,h,a,i};
15. 合法的數(shù)組定義是 C
A)int a[]={“string”}; B) int a[5]={0,1,2,3,4,5};
C)c 48、har a[]= “string”; D) char a[5]={0,1,2,3,4,5};
16. 對字符數(shù)組s賦值,不合法的是: ( C )
A) char s[]="china";
B) char s[20]={" china "};
C) char s[20];s=" china";
D) char s[20]={c,h,i,n,a};
17. 下面初始化與此初始化charc[ ]=“I am happy”;等價的是( A )
A) char c[ ]={‘I’,’’,’a’,’m’,’’,’h’ 49、,’a’,’p’,’p’,’y’,’\0’};
B) char c[ ]={‘I’,’am’,’happy’};
C) char c[ ]={‘I’, ’’,’a’,’m’,’’,’h’,’a’,’p’,’p’,’y’};
D)char c[ ]={‘I’,’am’,’happy’,’\0’};
18.下面各語句中,能正確進(jìn)行賦字符串操作的語句是( C )。
A. char s[5]={“ABCDE”};
B. char s[5]={‘A’,‘B’,‘C’,‘D’,‘E’,’\0’};
C. char *s;s=“ABCDE”;
D. char *s;scanf(“%s”,&s 50、);
19.下列字符串賦值方式不正確的是( A )
A).char str[20]; B). char *str ;
str=”I am a boy!”; str=”I am a boy!”;
C). char *str=”I am a boy!”; D). char str[20]=” I am a boy!”;
七.指針
1. 語句int *p;說明了 C 。
A)p是指向一維數(shù)組的指針
B)p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)
C)p是指向int 51、型數(shù)據(jù)的指針
D)p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針
2. 變量的指針,其含義是指該變量的:( B )
A. 值 B. 地址 C. 名 D.一個標(biāo)志
3.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是( A )
A) pb=&x B) pb=x C) *pb=&x D) *pb=*x
4、已知:int a, *p=&a; 則下列函數(shù)調(diào)用中錯誤的是( D )。
A、scanf(“%d”,&a); B、scanf(“%d”,p);
52、C、printf(“%d”,a); D、printf(“%d”,p);
5.對于同類型的指針變量,不可能進(jìn)行的運(yùn)算是( C?。?。
A.- B.= C.+ D.==
6. 對于基類型相同的兩個指針變量之間,不能進(jìn)行的運(yùn)算是 C
A) < B) = C) + D) -
7.下列不正確的定義是( A )。
A. int *p=&i,i; B.int *p,i;
C.int i,*p=&i; 53、 D.int i,*p;
8. 若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語句是: ( D )
A)p=q B)*p=*q C)n=*q D)p=n
9. int *p,a=10,b=1; p=&a; a=*p+b;
執(zhí)行該程序段后,a的值為 C
A) 編譯出錯 B) 10 C) 11 D) 12
10.下列函數(shù)的功能是 A 。
void fun(int *p1,int *p2)
{ int p;
p=*p 54、1;*p1=*p2;*p2=p;
A) 交換*p1和*p2的值 B) 語法正確,但無法交換*p1和*p2的值
C) 交換*p1和*p2的地址 D)有語法錯誤
八、函數(shù)
1.C語言中函數(shù)返回值的類型是由 A 決定的.
A)函數(shù)定義時指定的類型 B) return語句中的表達(dá)式類型
C) 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D) 形參的數(shù)據(jù)類型
2. 在C語言中,函數(shù)的數(shù)據(jù)類型是指( A )
A 函數(shù)返回值的數(shù)據(jù)類型 B. 函數(shù)形參的數(shù)據(jù)類型
C 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D.任意指定的數(shù) 55、據(jù)類型
*3.C程序中函數(shù)返回值的類型是由 A 決定的.
A)函數(shù)定義時指定的函數(shù)類型 B) 函數(shù)中使用的最后一個變量的類型
C)調(diào)用函數(shù)時臨時確定 D) 調(diào)用該函數(shù)的主調(diào)函數(shù)類型
*4. C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為 ( B )
A. 由系統(tǒng)選擇 B. 單向值傳遞 C. 由用戶指定傳遞方式 D. 地址傳遞
5. 在函數(shù)調(diào)用時,以下說法正確的是( B?。?
A.函數(shù)調(diào)用后必須帶回返回值
B.實際參數(shù)和形式參數(shù)可以同名
C.函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量
D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在 56、同一個文件里
*6. 在C語言程序中,有關(guān)函數(shù)的定義正確的是( B )。
A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
D.函數(shù)的定義和函數(shù)的均可以嵌套
*7. 以下對C語言函數(shù)的有關(guān)描述中,正確的是( A )。
A.在C語言程序中,調(diào)用函數(shù)時,如函數(shù)參數(shù)是簡單變量,則只能把實參的值傳遞給形參,形參的值不能傳送給實參
B.C語言函數(shù)既可以嵌套定義又可遞歸調(diào)用
C.C語言函數(shù)必須有返回值,否則不能使用函數(shù)
D.在C語言程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中 57、
*8.C語言中對函數(shù)的描述正確的是 C .
A)可以嵌套調(diào)用,不可以遞歸調(diào)用 B) 可以嵌套定義
C)嵌套調(diào)用,遞歸調(diào)用均可 D)不可以嵌套調(diào)用
9.以下敘述中正確的是 A
A) 構(gòu)成C程序的基本單位是函數(shù)
B) 可以在一個函數(shù)中定義另一個函數(shù)
C) main()函數(shù)必須放在其它函數(shù)之前
D) 所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
10.用數(shù)組名作為函數(shù)調(diào)用時的實參時,傳遞給形參的是 A 。
A)數(shù)組首地址 B)數(shù)組第一個元素的值
C)數(shù)組全部元素的值 58、 D)數(shù)組元素的個數(shù)
11.有一函數(shù)的定義如:void fun(char *s){……},則不正確的函數(shù)調(diào)用是( D )。
A.main()
{char a[20]=”abcdefgh”;
fun(a);
B.main()
{ char a[20]=”abcdefgh”;
fun(&a[0]);
C. main()
{ char a[20]=”abcdefgh”;
char *p=a;fun(p);
D. main()
{char a[20]=”abcdefgh”;
fun(a[]);
12、函數(shù)的功能是交換變量x和y中的值,且通過正確調(diào)用返回交換 59、的結(jié)果。能正確執(zhí)行此功能的函數(shù)是( D )。
B、funb(int x , int y)
{ int t;
t=x; x=y; y=t;
}
A、funa(int *x, int *y)
{ int *p;
*p=*x ; *x=*y; *y=*p;
D、fund(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
C、func(int *x, int *y)
{ int * 60、p;
p=x;x=y; y=p;
13. 有如下程序
int func(int a,int b)
{ return(a+b);}
main()
{ int x=2,y=x,z=8,r;
r=func(func(x,y),func(y,z));
printf(“%d\n”,r); }
該程序的輸出的結(jié)果是 C
A) 12 B) 13 C) 14 D) 15
*14. 以下程序的輸出結(jié)果是 B
int a, b;
void fun()
{ a=100 61、; b=200; }
main()
{ int a=100, b=100;
fun();
printf(“%d%d \n”, a,b);
A) 100200 B) 100100 C) 200100 D) 200200
*15. 下列說法中正確的是:( A )
A. 局部變量在一定范圍內(nèi)有效,且可與該范圍外的變量同名。
B. 如果一個源文件中,全局變量與局部變量同名,則在局部變量范圍內(nèi),局部變量不起作用。
C. 局部變量缺省情況下都是靜態(tài)變量。
D. 函數(shù)體內(nèi)的局部靜態(tài)變量,在函數(shù)體外也有效。
16. 在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是: 62、( C )
A) auto B) register C) static D) extern
17.未指定存儲類別的變量,其隱含的存儲類別為( A )。
A)auto B)static C)extern D)register
九、編譯預(yù)處理
*1.在C語言程序中,以#號帶頭的行是預(yù)編譯處理( A )。
A.命令 B.語句 C.函數(shù) D.字符串
2.下列正確的預(yù)編譯命令是( D )。
A. define PI 3.14159
B. #define P 63、(a,b)=strcpy(a,b)
C. #define stdio.h
D. #define PI 3.14159;
3.下列命令或語句中,正確的是( C )。
A. #define MYNAME=”ABC”
B. #include stdio.h
C. for(i=0;i<10;i++);
D. struct int stu{int name};
*4.下列命令或語句中,錯誤的是( C )。
A.#define PI 3.14159 B.#include
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案