版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)
單項(xiàng)選擇練習(xí)題
說明:帶*號的對非信息學(xué)院的同學(xué)不作要求。
一、基本概念
1.c語言程序是由(、構(gòu)成的。
A)一些可執(zhí)行語言B)main函數(shù)C)函數(shù)D)包含文件中的第一個函數(shù)
2.(A)是構(gòu)成C語言程序的基本單位。
A、函數(shù)B、過程C、子程序D、子例程
3.C語言程序從(,起先執(zhí)行。
A)程序中第一條可執(zhí)行語句B)程序中第一個函數(shù)
0程序中的main函數(shù)D)包含文件中的第一個
函數(shù)
4.C語言程序從main:)函數(shù)起先執(zhí)行,所以這個函數(shù)要寫在——
A)程序文件的起先B)程序文件的最終
0它所調(diào)用的函數(shù)的前面D)程序文件的任何位置
5、以下說法中正確的是(C)0
A、C語言程序總是從第一個定義的函數(shù)起先執(zhí)行
B、在C語言程序中,要調(diào)用的函數(shù)必需在main()函數(shù)中定義
C、C語言程序總是從main()函數(shù)起先執(zhí)行
D、C語言程序中的niain()函數(shù)必需放在程序的起先部分
6.下列方法中錯誤的是(D)。
A.主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體。
B.主函數(shù)可以調(diào)用任何非主函數(shù)的其它函數(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ū)分大小寫。
0C程序的三種基本結(jié)構(gòu)是依次、選擇、循環(huán)
D)C程序從main函數(shù)起先執(zhí)行
9.系統(tǒng)默認(rèn)的C語言源程序擴(kuò)展名為.C,需經(jīng)過」之后,生成.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語言供應(yīng)的合法關(guān)鍵字是(B)。
A.switchB.cherC.caseD.default
*2.C語言供應(yīng)的合法關(guān)鍵字是(D)。
A.nextB.stringC.docaseD.struct
*3.下列不屬于C語言中關(guān)鍵字的是
A)1ongB)printC)defaultD)typedef
4.下列正確的標(biāo)識符是(C)o
A.-alB.a[i]C.a2_iD.intt
5.下列C語言用戶標(biāo)設(shè)符中合法的是(B)o
A、*yB、sumC、intD>%5f
6.下面四個選項(xiàng)中,合法的標(biāo)識符是:(D)
A.autoB.defineC.6aD.c
7.下列C語言用戶標(biāo)設(shè)符中合法的是(B)0
A)3axB)xC)caseD)-e2E)union
8.以下選項(xiàng)中合法的用戶標(biāo)識符是」
A)longB)_2TestC)3DmaxD)A.dat
9.下列四組選項(xiàng)中,正確的C語言標(biāo)識符是(C)。
A)%xB)a+bC)al23D)123
10.請選出可用作C語言用戶標(biāo)識符的一組標(biāo)識符(B)
A)voidB)a3_b3C)ForD)2a
define123-abcDO
WORDsumCasesizeof
11、下列四組字符串中都可以用作C語言程序中的標(biāo)識符的是(A)。
A、print_3ddb8aBcB、I\amone_halfstart$it3pai
C、str_lCpppowwhileD、PxqMy->bookline#His.age
12.下列C語言標(biāo)識符中合法的變量名是」o
A)2e3B)youC)*yD)float
13.C語言中的簡潔數(shù)據(jù)類型包括(D)o
A、整型、實(shí)型、邏輯型B、整型、實(shí)型、邏輯型、字符型
C、整型、字符型、邏輯型D、整型、實(shí)型、字符型
14、下列可以正確表示字符型常量的是(A)0
A、'\t,B、"a“C、"\n”D、297
15.下列表達(dá)式中,[)是正確的C語言字符常量。
A)"x"B;e3C)"COMPUTER"D)'#'
16.在下列表達(dá)式中,屬于字符型常量的是B.
A)AB)'a'C)〃A〃D)b
17.以下選項(xiàng)中合法的字符常量是(B)
A)"B"B)''n'C)'68'D)E
18.下面字符常量表示錯誤的是(D)
A)7B”?,C”\n,D)”\rT
19.已定義c為字符型變量,則下列語句中正確的是(C)
A)c='97'B)c二〃97〃C)c='a'D)
20.已知ch是字符型變量,不正確的賦值語句是(A)
A)ch='a+b,;B)ch='\0;
C)ch=’7';D)ch=,;';
21.C語言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲的是(D)
A)原碼B)補(bǔ)碼C)反碼D)ASCH碼
22.在C語言中,字符型數(shù)據(jù)所占的內(nèi)存空間是:C)
A)2個字節(jié)B)4字節(jié)C)1字節(jié)D)由用戶自定義
*23.若int類型數(shù)據(jù)占2個字節(jié),則unsignedint類型數(shù)據(jù)的取值范圍是
(B)
A)0?255B)0-65535C)-32768?32767D)-256-255
木24.若有以下類型說明語句:chara;intb;floatu;doubled;則表達(dá)式
a*b+d-c的結(jié)果類型為(D)
A)floatB)charC)intD)double
*25.若有以下類型說明語句:charw;intx;floaty;doublez;則表達(dá)式w-x*y/z的結(jié)
果為(D)類型,表達(dá)式(int)(x+y-z*w)的結(jié)果為(C)類型。
A)floatB)charC)intD)double
26.C語言中運(yùn)算對象必需是整型的運(yùn)算符是(A)
A)%-B)/C)=D)<=
27.在C語言程序中,表達(dá)式8/5的結(jié)果是(B)
A)1.6B)103D)0
28.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為」—
x=10;x+=x;
A)10B)20C)40D)30
31.在C語言程序中,表達(dá)式5%2的結(jié)果是」。
A)2.5BJ2C)1D)3
32.假如inta=3,b=4;則條件表達(dá)式〃水b?a:b〃的值是一A0
A)3B)4C)0D)1
33.若intx=2,y=3,z=4則表達(dá)式x〈z?y:z的結(jié)果是(B).
A)4B)302D)0E)1
34.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是(B)。
A)0B)0或1C)1D)T或‘F'
35.設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下面表達(dá)式中,值為0的
表達(dá)式是(D)
A、'a'&&'b'B、a<=b
C、a||b+c&ab-cD、!((a<b)&&!c||1)
37.下面(D)表達(dá)式的值為4.
A)11/3B)11.0/3
C)(float)11/3D)(int)(11.0/3+0.5)
*39.已知intx=5,y=5,z=5;執(zhí)行語句斕二y+z;后,x的值是(C)
A.0B.1C.5D.6
40.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句
c2='A'+'6'」3';后,c2中的值為(B)
A)68BJDC)錯誤D)d
41.下列關(guān)于C語言的敘述錯誤的是(A)
A)大寫字母和小寫字母的意義相同
B)不同類型的變量可以在一個表達(dá)式中
0在賦值表達(dá)式中等號(二)左邊的變量和右邊的值可以是不同類型
D)同一個運(yùn)算符號在不同的場合可以有不同的含義
42.有:intx=:2,y=3,叫執(zhí)行下面語句后田的結(jié)果是(C)
m=(w<x)?w:x;
m=(m<y)?m:y;
A.1B.2C.3D.以上結(jié)果都不對
43.有:intw=7,x=12,y=3,m;執(zhí)行下面語句后m的值是(A)
m=(w>x)?w:x:
(m>y)?m:y:
A.12B.0C.3D.1
45.設(shè)整型變量a=2,則執(zhí)行下列語句后,浮點(diǎn)型變量b的值不為0.51勺是
(B)
A.b=l.0/aB.b=(float)(1/a)
C.b=l/(float)aD.b=l/(a*l.0)
48.以下運(yùn)算符中優(yōu)先級最高的運(yùn)算符是(B)
A)&&B)++C+=D)!=
49.若“intn;floatf=13.8;”,則執(zhí)行"n=(int)f%3”后,n的值是(A)
A.1B.4C.4.333333D.4.6
52.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為(C)
x=10;x*二x;
A)10B)20C)100D)0
53.若有語句inta=l,b;doubley=2.3;b=(int)y;則b的值為(B)o
A)3B)2C)1D)2.3
54.己知intx;chary;則下面錯誤的scanf函數(shù)調(diào)用語句為(B)
A)scanf("%d,%d,,&x,&y);B)scanf("%d,%c”,x,y)
C)scanf(%d/d”,&x,&y)D)scanf(“/d,%c”,&x,&y)
57.在C語言的庫函數(shù)中,可以輸出char型變量x值的語句是.C。
A)getchar(x);B)fputc(x)Oputchar(x)D)puts(x)
60.以下說法正確的是(0)
A)'x'+5是一個錯誤的表達(dá)式
B)C語言不允許類型的混合運(yùn)算
O強(qiáng)制類型轉(zhuǎn)換時,類型說明符必需加括號
D)(int)x+y和(int)(x+y)是完全等價(jià)的表達(dá)式
61.設(shè)intx=0,y=l:表達(dá)式(x||y)的值是(B)
A)0B)1C)2D)-1
三、選擇結(jié)構(gòu)
1.在C語言中,認(rèn)為:D)為邏輯〃真〃
A)trueB)大于0的數(shù)C)非0整數(shù)D)非0的數(shù)
2.表示關(guān)系x<=y<=z的c語言表達(dá)式為
A)(x<=y)&&(y<=z)B)(x<=y)AND(y<=z)
0(x<=y<=z)D)(x<=y)&(y<=z)
3.能正確表示邏輯關(guān)系:“a2=10或aWO”的C語言表達(dá)式是(D)
A)a>=10ora<=0B)a>=0a<=10
C)a〉=10&&a〈=0D)a>=10IIa<=0
4、推斷char型變量cl是否為大寫字母的表達(dá)式為(D)。
A、‘A'<=cl<=fZ'B、(cl>=,A')&(cl<='Z')
C、('A'<=cl)AND(2>=cl)D、cl>=,A'&&cl<='V
5.為表示邏輯表達(dá)式79<X<90,應(yīng)運(yùn)用的C語言表達(dá)式是」o
A)(X>79)&&(X<90)B)(X>79)!=(X<90)
C)79<X<90D)(X>79)|(X<90)
6.設(shè)有語句“inta=2,b=3,c=-2,d=2;”,則邏輯表達(dá)式“a設(shè)&&b&句<0&&d>0”的
值是(A)
A.1B.0C.-1D.出錯
7.設(shè)a為整型變量,則不能正確表達(dá)數(shù)學(xué)關(guān)系10<a<15的C語言表達(dá)式是
(A)。
A.10<a<15B.a==l11|a-121|a==13||a==14
C.a>10&&a<15D.!(a<=10)&&!(a>=15;
8.設(shè)x,t均為int型變量,則執(zhí)行語句“x=10;t=x&&x〉10;“后,t的值為(D)
A.不定值B.10C.1D.O
9.若inti=10;執(zhí)行下列程序后,變量i的正確結(jié)果是(A)0
switch(i)
{case9:i+=l;
case10:i+=l;
case11:i+=l;
default:i+=l;}
A、13B、12C、11D、10
10.在下面的條件語句中(其中si和s2表示是C語言的語句),只有一個在功
能上與其它三個語句不等價(jià),它是(D)。
A、if(a)si;elses2;B、if(a==0)s2;elsesi;
C、if(a!=0)si;elses2;D、if;a==0)si;elses2;
11.假定全部變量均己正確定義,則下列程序段運(yùn)行后y的值是(A)
inta=0,y=10;
if(a=0)y-;
elseif(a>0)y+-;
elsey+=y;
A.20B.11C.9D.0
12.假定全部變量均已正確定義,則下列程序段運(yùn)行后x的值是(B)0
a=b=c=0;x=35;
if(!a)x-;
elseif(b);
if(c)x=3;
elsex=4;
A.34B.4C.35D.3
13.C語言對嵌套if語句的規(guī)定是:else語句總是與(D)配對。
A)其之前最近的ifB)第一個if
O縮進(jìn)位置相同的ifD)其之前最近的且尚未配對的if
14.在C語言語句中,用來確定分支流程的表達(dá)式是(A)o
A.可用隨意表達(dá)式B.只能用邏輯表達(dá)式或關(guān)系表達(dá)式
C.只能用邏輯表達(dá)式D.只能用關(guān)系表達(dá)式
15.C語言中用(B)表示邏輯“真:
A.trueB.整數(shù)值1
C.非零整數(shù)值D.false
16、若k是int型變量,且有下面的程序段:
intk;
k=-3;
if(k<=0)printf("####");
elseprintf("&&&&");
上面程序段的輸出結(jié)果是(A)
A、##時B、&&&&
C、####&&&&D、有語法錯誤,無輸出結(jié)果
17.main()
{intx=0,a=0,b=0;
switch(x){
case0:b++;
case1:a++;
case2:a++;b++;)
printf("a=%d,b=%d\nw,a,b);}
該程序的輸出結(jié)果是」
A)a=2,b=lB)a=l,b=lC)a=l,b=0D)a=2,b=2
18.以下程序的輸出結(jié)果是:(C)
main()
{intx=-10,y=1,z=l;
if(x<y)
if(y<0)z=0;
elsez=z+l;
printf("%d\n",z);
}
A.0B.1C.2D.3
19.以下程序段的輸出結(jié)果是(B)
inta=10,b=50,c=30;
if(a>b)
a=b;
b二c;
c=a;
printf("a=%2db=%2dc=%2d\n〃,a,b,c);
A)a=10b=50c=10B)a=10b=30c=10
C)a=50b=30c=10D)a=50b=30c=50
四、循環(huán)結(jié)構(gòu)
*1.在C語言中,下列說法中正確的是(D)0
A)do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替。
B)do-while語句構(gòu)成的循環(huán)只能用break語句退出。
0do-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)語句中
A.switchB.forC.whileD.if…else
*3.對于break語句和continue語句的說法錯誤的是(B)
A)break語句不能用于循環(huán)語句和switch語句之外的任何其他語句中。
B)break和continue也可以用于if語句中
0continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。
D)break語句是結(jié)束整個循環(huán)過程,不再推斷執(zhí)行循環(huán)的條件是否成立。
4.語句while(!y);中的表達(dá)式!y等價(jià)于A
A)y==OB)y!=1C)y=!OD;y==l
5.若有“inta=l,x=l;",則循環(huán)語句“while(aGO)x++;a++;”的循環(huán)執(zhí)行(A)
A.無限次B.不確定次C.10次D.9次
6.有以下程序段
intk=0
while(k)k++;
則while循環(huán)體執(zhí)行的次數(shù)是£—
A)無限次B)有語法錯,不能執(zhí)行
0一次也不執(zhí)行D)執(zhí)行1次
7.下列循環(huán)語句中有語法錯誤的是(D)
Awhile(x=y)5;Bwhile(0);
Cdo2;while(x==b);Ddox++while(x==10);
*8.當(dāng)運(yùn)行時輸入:abcdSabcdel^,下面程序的運(yùn)行結(jié)果是B
#include<stdio.h>
main()
{while(putchar(gctchar())!='$');
printf(〃end〃);
)
A)abcd$abcdeB)abcd$endC)abcdendD)abcd$abcdeend
9.以下程序段(A)
x=-l;
do{x=x*x;}
while(x>0);
A.是死循環(huán)B.循環(huán)執(zhí)行一次C.循環(huán)執(zhí)行二次D.有語法錯誤
10.下面程序段執(zhí)行后的結(jié)果為:(B)
intsum=0,n=10;
do{sum=sum-n;
n++;}
while(n<10)
printf(w%d,%dw,sum,n)
A.0,10B.10,11C.0,11D.以上結(jié)果都不對
11.對以下程序段的敘述正確的是A.
intx=l;
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=:;i=10&&x〉0;i++);”的循環(huán)執(zhí)行(A)。
A.無限次B.不確定次C.10次D.9次
13.執(zhí)行語句{for(j=0:j<=3;j++)a=l;}后變量j的值是C.
A)OB)3C)4D)1
14.有如下程序
main()
{inti,sum=2;
for(i=l;i<=3;i+=2)sum+=i;
printf("%d\n”,sum);}
該程序的執(zhí)行結(jié)果是」―
A)6B)3C)死循環(huán)D)4
*15、執(zhí)行語句"for㈠=0;i++<3;);后,變量i的值為(C)。
A、2B、3C、4D、5
16.設(shè)x和y均為int型變量,則執(zhí)行以下的循環(huán)后,y的值為(D)。
for(y=l,x=l;y<=50;y-+)
(
if(x>=0)break;
if(x%2==l){x+=5;continue;}
x-=3;
}
A.2B.4C.6D.1
五數(shù)組
1.以下對一維數(shù)組a的正確說明是:I)
A)chara(10);B)inta[];
C)intk=5,a[k];D)chara[3]={'a','b','c'};
2.以下能對一維數(shù)組a進(jìn)行初始化的語句是:(C)
A.inta[5]=(0,1,2,3,4,)B.inta(5)=(}
C.inta[3]={0,1,2}D.inta{5}=(10*l)
3.在C語言中對一維整型數(shù)組的正確定義為Do
A)inta(10):B)intn=10,a[n];
C)intn;a[n];D)#defineN10
inta[N];
4、已知:inta[10]:則對a數(shù)組元素的正確弓;用是(D)。
A、a[10]B、a[3.5]C、a(5)D、a[0]
5.執(zhí)行下面的程序段后,變量k中的值為」
A)不定值B)33C)30D)10
intk=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)0
inta[12]={l,2,3,4,5,6,7,8,9,10,11,12);
A.1,12B.0,11C.1,11D.0,12
8.若有以下數(shù)組說明,則i=10;a[a[i]]元素?cái)?shù)值是(B
inta[12]={l,4,7,10,2,5,8,11,3,6,9,12);
A.10B.9C.6D.5
9.假定int類型變量占用兩個字節(jié),其有定義:intx[10]={0,2,4};,則數(shù)組
x在內(nèi)存中所占字節(jié)數(shù)是」_
A)3B)6C)10D)20
IL若有說明:inta[][3]={{l,2,3},{4,5},{6,7}};則數(shù)組a的第一維的大小
為:(B)
A.2B.3C.4D.無確定值
12.以下定義語句中,錯誤的是(D)
A)inta[]={l,2};B)char*a;
C)chars[10]="test";D)intn=5,a[n];
13.下面程序段的輸出結(jié)果是:(C)
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i-+)
printf("%d〃,x[i][2-i]);
A)159B)1470357D)369
14.對二維數(shù)組的正確定義是(C)
A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6);
15.已知inta[3][4];則對數(shù)組元素引用正確的是£
A)a[2][4]B)a[l,3]C)a[2][0]D)a(2)(1)
六、函數(shù)
1.C語言中函數(shù)返回值的類型是由A確定的.
A)函數(shù)定義時指定的類型B)return語句中的表達(dá)式類型
0調(diào)用該函數(shù)時的實(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í)參的數(shù)據(jù)類型D.隨意指定的數(shù)據(jù)類型
*3.C程序中函數(shù)返回值的類型是由」確定的.
A)函數(shù)定義時指定的函數(shù)類型B)函數(shù)中運(yùn)用的最終一個變量的類型
C)調(diào)用函數(shù)時臨時確定D)調(diào)用該函數(shù)的主調(diào)函數(shù)類型
*4.C語言規(guī)定,簡潔變量做實(shí)參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為
(B)
A.由系統(tǒng)選擇B.單向值傳遞C.由用戶指定傳遞方式D.地址傳遞
5.在函數(shù)調(diào)用時,以下說法正確的是(B)
A.函數(shù)調(diào)用后必需帶回返回值
B.實(shí)際參數(shù)和形式參數(shù)可以同名
C.函數(shù)間的數(shù)據(jù)傳遞不行以運(yùn)用全局變量
D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一-個文件里
*6.在C語言程序中,有關(guān)函數(shù)的定義正確的是:B)0
A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不行以嵌套
B.函數(shù)的定義不行以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義和函數(shù)的調(diào)用均不行以嵌套
D.函數(shù)的定義和函數(shù)的均可以嵌套
*7.以下對C語言函數(shù)的有關(guān)描述中,正確的是;A)0
A.在C語言程序中,調(diào)用函數(shù)時,如函數(shù)參數(shù)是簡潔變量,則只能把實(shí)參的
值傳遞給形參,形參的值不能傳送給實(shí)參
B.C語言函數(shù)既可以嵌套定義又可遞歸調(diào)用
C.C語言函數(shù)必需有返回值,否則不能運(yùn)用函數(shù)
D.在C語言程序中有調(diào)用關(guān)系的全部函數(shù)必需放在同一個源程序文件中
*8.C語言中對函數(shù)的描述正確的是C.
A)可以嵌套調(diào)用,不行以遞歸調(diào)用B)可以嵌套定義
C)嵌套調(diào)用,遞歸調(diào)用均可D)不行以嵌套調(diào)用
9.以下敘述中正確的是」
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)用時的實(shí)參時,傳遞給形參的是2°
A)數(shù)組首地址B)數(shù)組第一個元素的值
C)數(shù)組全部元素的值D)數(shù)組元素的個數(shù)
11.有一函數(shù)的定義如:voidfun(char*s){……},則不正確的函數(shù)調(diào)用是(D)。
A.main()
{chara[20]="abcdefgh";
fun(a);
B.main()
{chara[20]=wabcdefghn;
fun(&a[0]);
}
C.main()
{chara[20]="abcdefghw;
char*p=a;fun(p);
D.main()
{chara[20]="abcdefgh
fun(a[]);
}
13、函數(shù)的功能是交換變量x和y中的值,且通過正確調(diào)用返回交換的結(jié)果。能
正確執(zhí)行此功能的函數(shù)是(D)0
A、funa(int*x,int*y)B.funb(intx,inty)
{int*p;{intt;
t=x;x=y;y=t;
*p二*x;*x=*y;*y=*p;
、
Cfunc(int*x,int*y)D、fund(int*x,int*y)
{int*p;{intt;
p二x;x二y;y=p;t=*x;*x=*y;*y=t;
1
14.有如下程序
intfunc(inta,intb)
{return(a+b);}
main()
{intx=2,尸x,z=8,r;
r=func(func(x,y),func(y,z));
printf(,r);}
該程序的輸出的結(jié)果是」—
A)12B)13C)14D)15
*15.以下程序的輸出結(jié)果是」
inta,b;
voidfun()
{a=100;b=200;}
main()
{inta=100,b=100;
fun();
printfC%d%d\n”,a,b);
)
A)100200B)100100C)202300D)202300
*16.下列說法中正確的是:(A)
A.局部變量在確定范圍內(nèi)有效,且可與該范圍外的變量同名。
B.假如一個源文件中,全局變量與局部變量同名,則在局部變量范圍內(nèi),
局部變量不起作用。
C.局部變量缺省狀況下都是靜態(tài)變量。
D.函數(shù)體內(nèi)的局部靜態(tài)變量,在函數(shù)體外乜有效。
17.在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是:(C)
A)auluB)registerC)sialicD)exteni
18.未指定存儲類別的變量,其隱含的存儲類別為(A)o
A)autoB)staticC)externD)register
七、結(jié)構(gòu)體
1.若有以下說明語句:
structstudent
{intnum;
charname[];
floatscore;
}stu;
則下面的敘述不正確的是:(D)
A.struct是結(jié)構(gòu)體類型的關(guān)鍵字
B.structstudent是用戶定義的結(jié)構(gòu)體類型
C.num,score都是結(jié)構(gòu)體成員名
D.stu是用戶定義的結(jié)構(gòu)體類型名
2.若有以下說明語句:
structdate
{intyear;
intmonth;
intday;
}brithday;
則下面的敘述不正確的是.
A)struct是聲明結(jié)構(gòu)體類型時用的關(guān)鍵字
B)structdate是用戶定義的結(jié)構(gòu)體類型名
0brithday是用戶定義的結(jié)構(gòu)體類型名
D)year,day都是結(jié)構(gòu)體成員名
*3.已知:(設(shè)整型2字節(jié),字符型1字節(jié),浮點(diǎn)型4字節(jié))
struct
{inti;
charc;
floata;
}test;
則sizcof(test)的值是D。
A)4B)5C)6D)7
4.以下對結(jié)構(gòu)變量stul中成員age的非法引用是B
structstudent
{intage;
intnum;
}stul,*p;
p=&stul;
A)stul.ageB)student,ageC)p->agcD)(*p).age
*5.有如下定義
structperson{charname[9];intage;);
structpersonclass[10]={"Tom”,17,“John”,19,
“Susan”,18,“Adam”,16,};
依據(jù)上述定義,能輸出字母A的語句是(B)
A)printf(u%c\nv,class[3].name);
B)printf(a%c\n,?,class[3].name[0]);
C)printf(u%c\n>,,class[3].name[l]);
D)printf(a%c\nw,class[2].name[3]);
6.存放100個學(xué)生的數(shù)據(jù)、包括學(xué)號、姓名、成果。在如下的定義中,不正確的
是(B)。
A.structstudent
{intsno;
charname[20];
floatscore;}stu[100];
B.structstudentstu[100]
{intsno;
charname[20];
floatscore);
C.struct
{intsno;
charname[20];
floatscore:}stu[100];
D.structstudent
{intsno;
charname[20];
floatscore;};
structstudentstu[100];
*7.設(shè)有定義語句“struct{intx;inty;}d⑵={{1,3},{2,7}};”則
“printf(“機(jī)l\n",d[O].y/d[O].x*d[l].x)輸出的是(D)。
A.0B.1C.3D.6
8.己知:structsk
{inta;
floatb;
}data,邛;
若有p=&data,則對data中的成員a的正確引用是(C)。
A、(*p).data,ap->data.aC、(*p).aD、p.data,a
9.設(shè)有如下定義:
strucksk
{inta;
floatb;
[data;
int*p;
若要使P指向dala中的a域,正確的賦值語句是
A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;
10.設(shè)有以下說明語句:
typedefstructstu
{inta;
floatb;
}stutype;
則下面敘述中錯誤的是(D)o
A、struct是結(jié)構(gòu)類型的關(guān)鍵字
B、structstu是用戶定義的結(jié)構(gòu)類型
C、a和b都是結(jié)構(gòu)成員名
D、stutype是用戶定義的結(jié)構(gòu)體變量名
八.指針
1.語句int*D;說明白C。
A)p是指向一維數(shù)組的指針
B)p是指向函數(shù)的指針,該函數(shù)返回一int型數(shù)據(jù)
C)p是指向int型數(shù)據(jù)的指針
D)p是函數(shù)名,該函數(shù)返回一指向int型數(shù)據(jù)的指針
2.變量的指針,其含義是指該變量的:(B)
A.值B.地址C.名D.一個標(biāo)記
3.若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達(dá)式是
(A)
A)pb二&xB)pb=xC)*pb=&xD)*pb=*x
4、已知:inta,*p=&a;則下列函數(shù)調(diào)用中錯誤的是(D)。
A^scanf("%d",&a);B、scanf("%d",p);
C、printf(<<%dM,a);D、printf(<<%dv,p);
5.對于同類型的指針變量,不行能進(jìn)行的運(yùn)算是(C)0
A.-B.=C.+D.==
6.對于基類型相同的兩個指針變量之間,不能進(jìn)行的運(yùn)算是_C_
A)<B)=C)+D)-
7.下列不正確的定義是(A)o
A.intB.int*p,i;
C.inti,*p=&i;D.inti,*p;
8.若有說明:intn=2,*p=&n,*q=p,則以下非法的賦值語句是:(D)
A)p=qB)*p二*qC)n=*qD)p=n
9.int*p,a=10,b=l;p=&a;a=*p+b;
執(zhí)行該程序段后,a的值為4
A)編譯出錯B)10011D)12
10.有語句:int則」是對指針變量p的正確定義和初始化。
A)intp=*a;B)int*p=a;C)intp=&a;D)int*p=&a;
11.若有說明語句“inta[5],*p=a;",則對數(shù)組元素的正確引用是(C兒
A.a[p]B.p[a]C.*(p+2)D.p+2
12.若指針變量p指向整型數(shù)組a[10]的首地址,即p二a;則下列數(shù)組元素
a[i](0<i<10)的表示方法中正確的是:(C)
A.p+iB.&(a+i)C.*(a+i)D.*(p+i*2)
13.有如下程序
inta[10]={l,2,3,4,5,6,7,8,9,10},*P=a;
則數(shù)值為9的表達(dá)式是」
A)*P+9B)*(P+8)C)*P+=9D)P+8
14.若有以下定義,則不能表示a數(shù)組元素的表達(dá)式是(B)。
inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;
A.*pB.a[10]C.*aD.a[p-a]
*15.已知inta[5],*[尸a;下面的敘述中正確的是A
A)pi1與a"等價(jià)B)p[l]與小p等價(jià)
C)*(p+l)與a+1等價(jià)D)p[l]與a++等價(jià)
16.若有以下說明:
inta[10]={l,2,3,4,5,6,7,8,9,10),*p=a;
則數(shù)值為4的表達(dá)式是(C)
A)*p+4B)*(p+4)C)*(p+3)D)p+3
17.下面程序的輸出結(jié)果是C
A)0B)102D)輸出錯誤
main()
{inta[]={l,2,3,4,5,6,7,8,9,0),*p;
p=a;
printfT%d\n",*p+l);
)
18.執(zhí)行語句charc[10]={wabed"},*pc=c;后,*(pc+4)的值是(B)
A)“abed"B)''0'C)dD)不確定
19.下列函數(shù)的功能是A。
voidfun(int*pl,int*p2)
{intp;
p=*p1;*p1=*p2;*p2=p;
)
A)交換*pl和*p2的值B)語法正確,但無法交換*pl和*p2的值
C)交換*pl和*p2的地址D)有語法錯誤
*20.有如下程序
main()
chars[]="ABCD”,*P;
for(p=s+l;p<s+4;p++)printf("%s\n",p);)
該程序的輸li!結(jié)果是」_
A)ABCDB)A0BD)BCD
BCDBCCD
CDCDD
DD
*21.請讀程序,輸出結(jié)果為:(A)
#include<stdio.h>
inta[]={2,4,6,8};
main()
{inti,b[4];
int*p=a;
for(i=0;i<4;i++){b[i]=*p;p++;}
printf(〃%d\n〃,b[2]):
)
A)6B)8C)4D)2
*22.內(nèi)存空間被分成不同區(qū)域,其中用函數(shù)void*malloc(unsignedintsize);
申請的內(nèi)存在」支配。
A)程序區(qū)B)靜態(tài)存儲區(qū)C)動態(tài)存儲區(qū)
九、字符串
1.在C語言中,以」作為字符串結(jié)束標(biāo)記
A)''n'B)''C)'O'D)?\0f
2.下列數(shù)據(jù)中屬于“字符串常量”的是(A)。
A."a”B.{ABC}C.<abc\0,D.'a'
3.字符串“ABCD”在內(nèi)存占用的字節(jié)數(shù)是(D)o
A.4B.6C.1D.5
4.下面不正確的字符串常量是:(A)
A.4PROGRAMJB“12'12"C“0”D"”
5.設(shè)有數(shù)組定義:chararray[]=〃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.已知charx□二“hello”,y口={'h','e','a','b','e'};,則關(guān)于兩個數(shù)組是
度的正確描述是B.
A)相同B)x大于yC)x小于yD)以上答案都不對
8.給出以下定義:
charx[]=〃abcdefg〃;
charyLa,b,c,d,e,t,g);
則正確的敘述為」
A)數(shù)組x利數(shù)組y等價(jià)B)數(shù)組x和數(shù)組y的長度相同
C)數(shù)組x的長度大于數(shù)組y的長度D)數(shù)組x的長度小于數(shù)組y的長度
9、若有以下語句,則正確的描述是(D)0
staticcharx[]="12345”;
staticchary[]={T,'2',‘3,,'4',5','\0'};
A、x數(shù)組長度大于y數(shù)組長度B、x數(shù)組和y數(shù)組不相同
C、x數(shù)組長度小于y數(shù)組長度D、x數(shù)組等價(jià)于y數(shù)組
10^已知:chars[20]="programmingw,*ps=s;則不能引用字母o的表達(dá)式
是(C)。
A、ps⑵B、s[2]C、ps+2D、ps+=2,*ps
*11.推斷兩字符串si,s2是否相等,應(yīng)運(yùn)用(D).
A)if(sl=s2)B)if(sl=s2)
C)if(strcpy(sl.s2))D)if(strcmp(sl,s2)==0)
*12.以下printf語句的輸出結(jié)果為:A
printf("%d\n",strlen("school"));
A)7B)6C)存在語法錯誤D)不定值
13.對字符數(shù)組s賦值,不合法的一個是(C)
A.chars□二〃Be:jing”;
B.chars[20]={"beijing”};
C.chars[20];s="Beijing”;
D.chars[20]={'B','e','i','j','i','n','g'};
14.對字符數(shù)組str賦初值,str不能作為字符串運(yùn)用的一個是(D)
A.charstr口二〃shanghai”;
B.charstr口={"shanghai”};
C.charstr[9]='s,/h,「a,」n;,a,/i\,\0,};
D.charstr[8]={,s,,,h,,,a,,,n,,,g,,,h,,,a,,,i,};
15.合法的數(shù)組定義是一C
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京海淀區(qū)恩濟(jì)里體大幼兒園招聘2人考試參考試題及答案解析
- 2026年南昌大學(xué)共青學(xué)院行政人員招聘1人考試備考試題及答案解析
- 2026江西南昌市勞動保障事務(wù)代理中心招聘非全日制白案廚師1名考試參考題庫及答案解析
- 2026年石河子工程職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)筆試參考題庫附答案詳解
- 2026青海油田招聘考試參考試題及答案解析
- 2026安徽新橋交通發(fā)展有限責(zé)任公司就業(yè)見習(xí)招聘2人考試備考試題及答案解析
- 2026杭州文化廣播電視集團(tuán)所屬有關(guān)事業(yè)單位招聘6人考試參考試題及答案解析
- 2026年成都高新中學(xué)天府一街分校面向社會公開招聘臨時聘用教師(3人)考試參考試題及答案解析
- 2026江西省某國企招聘勞務(wù)派遣工程師4人考試參考題庫及答案解析
- 2026江西南昌大學(xué)第一附屬醫(yī)院(江西省呼吸醫(yī)學(xué)中心)高層次人才招聘144人考試參考試題及答案解析
- GB/T 32065.8-2020海洋儀器環(huán)境試驗(yàn)方法第8部分:溫度變化試驗(yàn)
- GB/T 31765-2015高密度纖維板
- GB/T 28701-2012脹緊聯(lián)結(jié)套
- GA/T 268-2019道路交通事故尸體檢驗(yàn)
- CB/T 3762-1996船用潤滑油嘴
- 清水混凝土構(gòu)件預(yù)制技術(shù)與質(zhì)量控制技術(shù)要點(diǎn)課件
- AWG線規(guī)-電流對照表
- 臨床藥學(xué)科研思路與選題課件
- 燒結(jié)余熱鍋爐施工方案(最終版)
- 壓力容器質(zhì)保體系內(nèi)審檢查表模板樣本
- DB37-T 3134-2018.建筑施工企業(yè)安全生產(chǎn)風(fēng)險(xiǎn)分級管控體系實(shí)施指南
評論
0/150
提交評論