C語言選擇題復(fù)習(xí)_第1頁
C語言選擇題復(fù)習(xí)_第2頁
C語言選擇題復(fù)習(xí)_第3頁
C語言選擇題復(fù)習(xí)_第4頁
C語言選擇題復(fù)習(xí)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

本文格式為Word版,下載可任意編輯——C語言選擇題復(fù)習(xí)選擇題復(fù)習(xí)

1.表達式“(a=4*5,b=a*2),b-a,a+=2〞的值是(C)。A.2B.20C.22D.422.以下是一個自定義函數(shù)的頭部,其中正確的是(C)。A.intfun(inta[],b)B.intfun(inta[],inta)C.intfun(int*a,intb)D.intfun(chara[][],intb)3.以下數(shù)組聲明語句中正確的是(D)。A.intn,a[n];B.inta[];C.inta[2][3]={{l},{2},{3}};D.inta[][3]={{l},{2},{3}};

4.已知在某C語言編譯系統(tǒng)中表達式sizeof(int)的值是2,假使希望將常量-70000正確地保存在一個變量a中,該變量聲明語句應(yīng)當是(B)。A.inta;B.longinta;C.unsignedinta;D.unsignedinta;5.以下聲明語句中,用于聲明一個行指針變量的是(C)。A.int*p(int);B.int*p;C.int(*p)[3];D.int(*p)(int);

6.在以下程序中,需要在fun函數(shù)中聲明一個int型的變量,以下選項中(A)不能用做該變量的名字。

#includeinty;main(){inta=1;fun(a);}

intfun(intx)

{_______;/*int型變量聲明語句位置*/…/*若干執(zhí)行語句*/}A.xB.yC.fabsD.fun

7.如有語句“intx,y=0,z,*p[3];p[0]=p[1]=p[2]=〞,以下表達式中有語法錯誤的是(B)。

A.y++B.p++C.*++p[0]D.(*p[0])++

8.設(shè)有聲明語句“inta[3][3]={1,2,3,4,5,6,7,8,9};〞,以下語句中除(D)外均能輸出a[1][2]的值。

A.printf(\%d\B.printf(\&a[2][0]-1));C.printf(\D.printf(\9.已知有聲明語句intx=8,則以下表達式中,值為2的是(B)。A.x+=x-=xB.x%=x-2C.x>8?x=0:x++D.x/=x+x10.以下關(guān)于函數(shù)的表達中正確的是(D)。

A.在函數(shù)體中可以直接引用另一個函數(shù)中聲明為static類別的局部變量的值B.在函數(shù)體中至少必需有一個return語句C.在函數(shù)體中可以定義另一個函數(shù)D.在函數(shù)體中可以調(diào)用函數(shù)自身

11.若有聲明語句“inta[10],b[3][3];〞,則以下對數(shù)組元素賦值的操作中,不會出現(xiàn)越界訪問的是(D)。A.a(chǎn)[-1]=0B.a(chǎn)[10]=0C.b[3][0]=0D.b[0][2]=0

12.若有聲明語句“charch=?a?,*pc=〞,以下語句中有語法錯誤的是(C)。A.(*pc)++;B.ch+=-?a?+?A?;C.toupper(ch)=ch;D.ch++;

13.已知有聲明語句“inta[5]={1,2,3,4,5},*p,i;〞,以下語句中(C)不能正確輸出a數(shù)組全部元素的值。

A.for(p=a,i=0;i2][!1]B.S[2][0]C.S[1]D.S

16.規(guī)律“異或〞運算可描述為“axorb〞,其中a和b為參與運算的兩個操作數(shù),運算結(jié)果為當且僅當a、b兩個操作數(shù)中只有一個為真時才為真,其他狀況下均為假。以下表達式中(D)可以正確表示規(guī)律“異或〞運算。A.a(chǎn)||bB.a(chǎn)〞,則在以下表達式中有語法錯誤的是(C)。A.a(chǎn)[0]=0B.b[0]=0C.c[0]=0D.d[0]=018.若有聲明:intk,a,b;

unsignedlongy=5;doublex=1.23;

則以下表達式中正確的是(D)。A.x%(-5)B.x=y[6]C.k=(a=1,b=2,B.intn=10,*p[2]=C.intn=10,a[2]={n};D.inta[2][2]={10},(*p)[2]=a+1;21、若有函數(shù)fun的定義為voidfun(…)

{staticinta=1;…}

則以下表達中不正確的是(B)。

A.在每次調(diào)用fun函數(shù)時,變量a的值是上次調(diào)用終止時a的值

B.在fun函數(shù)之外,可以用變量名a直接引用a的值C.在其他函數(shù)中,可以出現(xiàn)聲明doublea=2.5;D.fun函數(shù)的形式參數(shù)不能取名為a22.以下單目運算符均只需要一個操作數(shù),其中要求操作數(shù)的類型只能是指針型的是(D)。

A.〞,若要使得表達式“p=\無語法錯誤(包括警告錯誤),p應(yīng)當聲明為(B)。A.charp;B.char*p;C.intp;D.int*p;24.以下全局變量聲明中正確的是(D)。

A.a(chǎn)utointi=1;B.floata=1,b=0.5,c=a+b;C.charfor=1;D.staticcharch;25.若已有聲明“doublea[2][3]={1,2,3,4,5,6};〞,則以下表達式中不能正確引用a[1][1]值的是(C)。

A.*(a[0]+4)B.*(a[1]+1)C.*(*(a+3)+1)D.*(*a+4)

26、已有聲明“inta[5];〞,以下表達式中不能正確取得a[1]指針的是(B)。

A.B.f();C.f(void);D.f(1);29.以下程序在編譯時在第三行報錯“Redeclarationof?a?infunctiond〞,假使決定修改該行聲明中出現(xiàn)的局部變量a的名字,則以下選項中不能用來替換變量名a的是(A)。intb;

voidd(inta)

{intf;doublea=1;printf(\

}

main()

{inte=1;d(e);}

A.fB.eC.dD.b30、以下語句中不包含關(guān)鍵字的是(A)。A.x=sqrt(2);

B.while(x!=0)x--;C.if(xmain()

{inta;floatb;

scanf(\}

若要求變量a和b分別從鍵盤獲得輸入值45和678.0,則以下四種輸入數(shù)據(jù)中(?代表“空格〞鍵,代表“回車〞鍵),不能達到該要求的輸入數(shù)據(jù)是(C)。A.45?678B.45678C.45,678D.045678

34.以下程序段中,能將變量x、y中值較大的數(shù)保存到變量a、值較小的數(shù)保存到變量b的程序段是(C)。

A.if(x>y)a=x;b=y;elsea=y;b=x;B.if(x>y){a=x;b=y;}elsea=y;b=x;C.if(x>y){a=x;b=y;}else{a=y;b=x;}

D.if(x>y){a=x;b=y;}else(x

C.C程序總是從main函數(shù)的第一條語句開始執(zhí)行

D.C程序總是在執(zhí)行完main函數(shù)的最終一條語句后終止45.已知有結(jié)構(gòu)定義和變量聲明如下:structstudent{charname[20];intscore;structstudent*h;}stu,*p;int*q;

以下選項中錯誤的是(C)。A.p=B.q=C.scanf(\D.stu.h=p;46、設(shè)有聲明“intp[10]={1,2},i=0;〞,以下語句中與“p[i]=p[i+1],i++;〞等價的是(D)。

A.p[i]=p[i+1];B.p[++i]=p[i];C.p[++i]=p[i+1];D.i++,p[i-1]=p[i];47.設(shè)有結(jié)構(gòu)定義及變量聲明如下:structproduct{char[5];floadtprice;}y[4]={\

以下表達式中錯誤的是(D)。

A.(*y).code[0]=?2?;B.y[0].code[0]=?2?C.y->price=10;D.(*y)->price=10;48.若有聲明“inta=3,b=4,c=5;〞,則以下表達式中值為0的是(D)。

A.a(chǎn)〞,且x中整數(shù)的十進制表示有n位數(shù)字(4=0)y=1;elsey=-1;

B.y=x>=0?1:01;C.switch()

{casex>=0:y=1;break;

default:y=-1;}

D.switch(x-abs(x)){case0:y=1;break;default:y=-1;}

51、已知有聲明“intm[]={5,4,3,2,1},i=0;〞,以下對m數(shù)組元素的引用中,錯誤的是(B)。A.m[++i]

B.m[5]

C.m[2*2]=0

D.m[m[4]]

52、若函數(shù)調(diào)用時的實參為變量,則以下關(guān)于函數(shù)形參和實參的表達中正確的是(D)。

A.實參和其對應(yīng)的形參占用同一存儲單元B.形參不占用存儲單元

C.同名的實參和形參占用同一存儲單元D.形參和實參占用不同的存儲單元

53.C語言規(guī)定,在一個源程序中main函數(shù)的位置(D)。

A.必需在最開始B.必需在最終

C.必需在預(yù)處理命令的后面D.可以在其他函數(shù)之前或之后

54、已知有聲明“inta=3,b=4,c;〞,則執(zhí)行語句“c=1/2*(a+b);〞后,c的值是(A)。

A.0B.3C.3.5D.4

55、已知字母A的ASCII碼是65,字母a的ASCII碼是97,變量c中存儲了一個大寫字母的編碼。若要求將c中大寫字母編碼轉(zhuǎn)換成對應(yīng)小寫字母編碼,則以下表達式中不能實現(xiàn)該功能的是(D)。

A.c=tolower(c)B.c=c+32C.c=c-?A?+?a?

D.c=(c+?A?)charname[20];struct{intyear,month,day;}birth;}s;

若要求將日期“1989年11月12日〞保存到變量s的birth成員中,則能實現(xiàn)這一功能的程序段是(D)。

A.year=1989;month=11;day=12;B.s.year=1989;s.month=11;s.day=12;

C.birth.year=1989;birth.month=11;birth.day=12;D.s.birth.year=1989;s.birth.month=11;s.birth.day=12;57、執(zhí)行以下程序后的結(jié)果是(C)。

#includevoidmain(){intx=3;

Do

{printf(\

}while(!x);

}

A.輸出一個數(shù):0B.輸出一個數(shù):3

C.輸出兩個數(shù):0和-3D.無限循環(huán),反復(fù)輸出數(shù)

58.設(shè)有聲明“inta=4,b=3,c=5;〞,以下4個程序段中有3個程序段的執(zhí)行效果是一致的,另一個執(zhí)行效果不同的是(C)。

A.if(a>b)c=a,a=b,b=c;

B.if(a>b){c=a,a=b,b=c;}C.if(a>b)c=a;a=b;b=c;

D.if(a>b){c=a;a=b;b=c;}

59、以下關(guān)于if語句和switch語句的表達中錯誤的是(D)。

A.if語句和switch語句都可以實現(xiàn)算法的選擇結(jié)構(gòu)B.if語句和switch語句都能實現(xiàn)多路(兩路以上)選擇C.if語句可以嵌套使用

D.switch語句不能嵌套使用

60.若有聲明語句“chars1[10]={0},s2[10]=\,則能將字符串\賦給數(shù)組s1保存的表達式是(D)。A.s1=\B.strcpy(s2,s1);C.s1=s2;D.strcat(sl,s2);

61.已知A盤根目錄下的一個文本數(shù)據(jù)文件data.dat中存儲了100個int型數(shù)據(jù),若需要修改該文件中已經(jīng)存在的若干個數(shù)據(jù)的值,只能調(diào)用一次fopen函數(shù),已有聲明語句“FILE*fp;〞,則fopen函數(shù)的正確調(diào)用形式是(A)。A.fp=fopen(\B.fp=fopen(\C.fp=fopen(\D.fp=fopen(\

62.數(shù)組和鏈表都可以用于存儲一組彼此有關(guān)聯(lián)的數(shù)據(jù),以下說法中不正確的是(B)。A.數(shù)組占用一塊連續(xù)的存儲區(qū)域,鏈表可能占用若干塊不連續(xù)的存儲區(qū)域B.數(shù)組和鏈表所占用的存儲區(qū)域均不能在程序運行期間動態(tài)地分派C.數(shù)組中的數(shù)據(jù)可以隨機存取或順序存取,鏈表中的數(shù)據(jù)只能順序存取D.數(shù)組的長度是固定的,鏈表的長度是不固定的63.設(shè)有定義和聲明語句:

typedefstructdtype{inta;

structdtype*b;}node;

staticnodex[3]={5,以下選項中,表達式值不為5的是(A)。A.x[1].b->a-2B.Ptr->b->a-2C.(ptr+1)->a-2D.ptr->a

64.在以下程序中,需要在main函數(shù)之后定義一個函數(shù),以下選項中(D)可以用做該函數(shù)的名字。

#defineP3.14inty;main(){inta=1;

函數(shù)名(a);

…/*若干執(zhí)行語句*/

}

int函數(shù)名(intx){returnx*x;}

A.mainB.yC.PD.print

65.已知有語句“FILE*fp;intx=123;fp=fopen(\,假使需要將變量x的值以文本形式保存到一個磁盤文件out.dat中,則以下函數(shù)調(diào)用形式中正確的是(B)。A.fprintf(\B.fprintf(fp,\C.fprinff(\D.fprintf(\

66.已知有聲明語句“chars1[10]=\,以下語句中能將s1中存儲的字符串和s2中存儲的字符串正確交換的是(D)。A.s3=s1,s1=s2,s2=s3;

B.s3[0]=s1[0],s1[0]=s2[0],s2[0]=s3[0];

C.strcpy(s3[0],s1[0]),strcpy(s1[0],s2[0]),strcpy(s2[0],s3[0]);D.strcpy(s3,s1),strcpy(sl,s2),strcpy(s2,s3);

67.在定義任何一個函數(shù)時,以下選項中(B)是不可缺少的。A.函數(shù)名之前的數(shù)據(jù)類型B.函數(shù)名之后的一對圓括號C.形式參數(shù)聲明D.函數(shù)體中的語句68.已有數(shù)據(jù)類型定義和變量聲明如下:structperson{intnum;

charname[20],sex;

struct{intclass;charprof[20];}in;

}a={20,\以下語句中正確的是(B)。A.printf(\B.printf(\.prof);C.printf(\D.printf(\69.若有以下程序:intx;

intf(inty)

{return標識符;}#includeintw;main()

{intz=2;f(z);…}

則在函數(shù)f中return語句后允許出現(xiàn)的標識符是(B)。A.x或wB.x或yC.z或wD.NULL70.以下跳轉(zhuǎn)語句中,只有(C)可以選擇不唯一的跳轉(zhuǎn)目的地。

A.continue;B.break;C.goto標識符;D.return;71.在缺省狀況下,標準C的編譯系統(tǒng)中預(yù)定義的標準輸出流stdout直接連接的設(shè)備是(D)。A.軟盤B.硬盤C.鍵盤D.顯示器

72.已有枚舉類型定義:“enumletter{A,B,C=7,D,E};〞,以下表達式中除(D)外,其他表達式的機內(nèi)值均等于10。A.?\\xb?-1B.B+EC.010+2D.0xf-373.已知數(shù)據(jù)類型定義和變量聲明如下:structsk

{inta;floatb;}data[2],*p;

若有p=data,則以下對data[0]中成員a的引用中錯誤的是

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論