全國二級計算機C語言程序設計題庫(模擬題)_第1頁
全國二級計算機C語言程序設計題庫(模擬題)_第2頁
全國二級計算機C語言程序設計題庫(模擬題)_第3頁
全國二級計算機C語言程序設計題庫(模擬題)_第4頁
全國二級計算機C語言程序設計題庫(模擬題)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

全國二級計算機C語言程序設計題庫第一部分單選題(50題)1、函數中局部變量的作用域是?()

A.整個程序

B.函數內部

C.函數外部

D.所有函數

【答案】:答案解析:局部變量定義在函數內,僅在函數內部有效,故選B。2、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()

A.30

B.40

C.50

D.無定義

【答案】:答案解析:a+3指向a[3],*p=40,故選B。3、以下關于空指針的定義正確的是?()

A.#defineNULL0

B.#defineNULL(void*)0

C.int*p=NULL;

D.以上都正確

【答案】:答案解析:A、B是NULL的常見定義,C是定義空指針,均正確,故選D。4、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。5、以下函數聲明中,返回類型為float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回類型為float,B無返回值,C返回類型int,D返回類型char,故選A。6、若inti=0;執(zhí)行for(;;){if(i==4)break;printf("%d",i);i++;}輸出結果是?()

A.0123

B.01234

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for(;;)是無限循環(huán),i=4時break,輸出0123,故選A。7、以下指針運算錯誤的是?()

A.inta=5,*p=&a;p++;

B.inta=5,*p=&a;*p++;

C.inta=5,*p=&a;p=&a+1;

D.inta=5,*p=&a;p=p+2;

【答案】:答案解析:&a是地址常量,不能進行算術運算(&a+1錯誤),A、B、D均正確,故選C。8、C語言程序的入口函數是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序從main()函數開始執(zhí)行,必須有且僅有一個,故選A。9、數組在內存中的存儲方式是?()

A.隨機存儲

B.連續(xù)存儲

C.鏈式存儲

D.散列存儲

【答案】:答案解析:數組元素在內存中連續(xù)存放,便于通過下標訪問,故選B。10、若inta[5]={1,2,3};則a[3]的值是?()

A.0

B.3

C.隨機值

D.無定義

【答案】:答案解析:初始化時未賦值的元素默認為0,a[3]=0,故選A。11、表達式5>3&&2<4的結果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:5>3為真(1),2<4為真(1),邏輯與&&結果為1,故選B。12、若intx=5;則表達式x+++x的結果是?()

A.10

B.11

C.12

D.9

【答案】:答案解析:結合性從左到右,x+++x等價于(x++)+x=5+6=11,故選B。13、以下關于指針數組的定義正確的是?()

A.int*arr[5];

B.int(*arr)[5];

C.intarr[5];

D.intarr[];

【答案】:答案解析:A是指針數組(5個int指針),B是指向數組的指針,C是普通數組,D缺少長度,故選A。14、以下關于指針的說法正確的是?()

A.指針可用于遍歷數組

B.指針可用于字符串操作

C.指針可用于函數參數傳遞

D.以上都正確

【答案】:答案解析:指針在數組遍歷、字符串處理、參數傳遞中均有核心作用,故選D。15、break語句不能用于以下哪種結構?()

A.for循環(huán)

B.while循環(huán)

C.do-while循環(huán)

D.if語句

【答案】:答案解析:break可用于循環(huán)(for/while/do-while)和switch語句,不能用于if語句,故選D。16、以下字符串數組定義正確的是?()

A.charstr[5][10]={"hello","world"};

B.charstr[5][]={"hello","world"};

C.charstr[][10]={"hello","world","!"};

D.charstr[5][10]={"hello","world","!"};

【答案】:答案解析:B第二維不能省略,A、C、D均正確?D最完整(5行10列,初始化3個字符串),故選D。17、以下if-else語句中,代碼塊正確的是?()

A.if(x>0)printf("a");printf("b");elseprintf("c");

B.if(x>0){printf("a");printf("b");}elseprintf("c");

C.if(x>0)printf("a");{printf("b");}elseprintf("c");

D.if(x>0)printf("a");printf("b");else{printf("c");}

【答案】:答案解析:else需與最近的if匹配,A、C、D中else前有獨立printf,語法錯誤,B用{}包裹代碼塊正確,故選B。18、以下二維數組定義中,行數為2的是?()

A.inta[2][3];

B.inta[][3]={1,2,3,4,5,6};

C.inta[2][3]={1,2,3,4,5};

D.以上都是

【答案】:答案解析:A行數2,B初始化6個元素(3列×2行),C行數2,故選D。19、以下函數定義中,參數為指針的是?()

A.voidfun(int*a){printf("%d",*a);}

B.voidfun(inta){printf("%d",a);}

C.voidfun(inta[]){printf("%d",a[0]);}

D.A和C

【答案】:答案解析:A是指針參數,C數組名參數本質是指針,B是值參數,故選D。20、以下哪個是C語言的循環(huán)語句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C語言循環(huán)語句包括for、while、do-while,if/else是選擇語句,switch是多分支選擇語句,故選B。21、轉義字符\的作用是?()

A.表示反斜杠

B.表示換行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉義字符沖突,故選A。22、C語言中,注釋的正確寫法是?()

A.//單行注釋

B./*多行注釋/

C.--注釋

D.A和B

【答案】:答案解析:C語言支持//單行注釋和/...*/多行注釋,--不是注釋符號,故選D。23、以下關于數組的說法錯誤的是?()

A.數組元素必須是同一類型

B.數組長度必須是常量

C.數組可在函數內定義

D.數組可整體賦值

【答案】:答案解析:數組不能用“=”整體賦值,需逐個元素或循環(huán)賦值,A、B、C正確,故選D。24、以下關于函數參數的說法正確的是?()

A.形參是函數定義時的變量

B.實參是函數調用時的變量/常量

C.形參和實參類型需匹配

D.以上都正確

【答案】:答案解析:A、B、C均是函數參數的基本規(guī)則,故選D。25、函數調用時,實參的類型必須與形參的類型?()

A.完全一致

B.兼容(可自動轉換)

C.無關

D.實參類型大于形參類型

【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉換,不兼容則編譯錯誤,故選B。26、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。27、以下函數定義正確的是?()

A.voidfun(){printf("hello");}

B.voidfun(inta){printf("%d",a);}

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。28、函數調用的一般格式是?()

A.函數名(實參列表);

B.函數名實參列表;

C.返回類型函數名(實參列表);

D.函數名=實參列表;

【答案】:答案解析:函數調用格式為“函數名(實參列表);”,實參與形參匹配,故選A。29、以下關于函數遞歸的說法錯誤的是?()

A.必須有終止條件

B.可能導致棧溢出

C.效率比循環(huán)高

D.代碼簡潔

【答案】:答案解析:遞歸調用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。30、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()

A.7

B.8

C.&a

D.無定義

【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。31、以下數組初始化錯誤的是?()

A.inta[5]={0};

B.inta[]={1,2,3};

C.inta[5]={1,2,3};

D.inta[5]={1,2,3,4,5,6};

【答案】:答案解析:D初始化元素個數超數組長度(5),編譯報錯,A、B、C正確,故選D。32、以下for循環(huán)的循環(huán)變量初始化表達式為“i=5”的是?()

A.for(i=0;i<5;i++)

B.for(i=5;i>0;i--)

C.for(i=2;i<=5;i++)

D.for(i=5;i<10;i+=2)

【答案】:答案解析:初始化表達式是for循環(huán)第一個部分,B中i=5符合,其余初始化非5,故選B。33、以下函數定義錯誤的是?()

A.voidfun(){}

B.voidfun(inta){}

C.intfun(){}

D.intfun(){return;}

【答案】:答案解析:D返回類型int(必須return表達式),return無表達式錯誤,A、B、C正確,故選D。34、若inta=5;執(zhí)行if(a>10);elsea=20;后a的值是?()

A.5

B.20

C.10

D.無定義

【答案】:答案解析:if后分號表示空語句,else執(zhí)行a=20,故選B。35、以下哪個操作會導致野指針?()

A.指針未初始化

B.指針指向的內存被釋放后未置空

C.指針越界訪問

D.以上都是

【答案】:答案解析:野指針是指向無效地址的指針,A、B、C均會導致野指針,故選D。36、以下指針運算正確的是?()

A.inta=10,*p=&a;p++;

B.inta=10,*p=&a;p=a;

C.inta=10,*p=&a;p=&5;

D.inta=10,*p=&a;*p=&a;

【答案】:答案解析:A指針p自增(指向a的下一個地址),B不能將int值賦給指針,C不能取常量地址,D不能將地址賦給int變量,故選A。37、若inta=10,b=20,*p=&a,q=&b;執(zhí)行p=q;后p的值是?()

A.10

B.20

C.&a

D.&b

【答案】:答案解析:p=q使p指向b,*p=b=20,故選B。38、若inta=3,b=5;執(zhí)行以下代碼后輸出結果是?()if(a>b)printf("A");elseprintf("B");

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a=3<b=5,條件為假,執(zhí)行else分支,輸出B,故選B。39、若inti=1,s=0;執(zhí)行while(i<=5){s+=i;i++;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:循環(huán)累加1+2+3+4+5=15,s=15,故選A。40、以下定義指向二維數組的指針正確的是?()

A.inta[2][3],(*p)[3]=a;

B.inta[2][3],*p=a;

C.inta[2][3],p=a[0];

D.inta[2][3],*p=&a;

【答案】:答案解析:A是指向3列數組的指針(匹配二維數組a的行),B、C、D類型不匹配,故選A。41、以下哪個條件表達式表示“x大于等于5且小于等于10”?()

A.5<=x<=10

B.x>=5&&x<=10

C.x>=5||x<=10

D.5<=x&&<=10

【答案】:答案解析:C語言中連續(xù)比較不合法,需用邏輯與連接兩個判斷,A語法錯誤,C邏輯錯誤,D語法錯誤,故選B。42、若inta[5]={10,20,30,40,50};則a[2]的值是?()

A.10

B.20

C.30

D.40

【答案】:答案解析:數組下標從0開始,a[2]是第三個元素30,故選C。43、以下定義函數指針正確的是?()

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

【答案】:答案解析:A是指向int返回值、int參數的函數指針,B是返回int的函數,C是普通函數,D是指向數組的指針,故選A。44、以下for循環(huán)的循環(huán)次數是?()for(inti=2;i<=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故選B。45、continue語句只能用于以下哪種結構?()

A.循環(huán)語句

B.switch語句

C.if語句

D.所有結構

【答案】:答

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論