C語言程序設計理論試題庫(模擬題)_第1頁
C語言程序設計理論試題庫(模擬題)_第2頁
C語言程序設計理論試題庫(模擬題)_第3頁
C語言程序設計理論試題庫(模擬題)_第4頁
C語言程序設計理論試題庫(模擬題)_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計理論試題庫第一部分單選題(50題)1、轉(zhuǎn)義字符\的作用是?()

A.表示反斜杠

B.表示換行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉(zhuǎn)義字符沖突,故選A。2、以下函數(shù)定義正確的是?()

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

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

C.intfun(){return5;}

D.以上都正確

【答案】:答案解析:A無參無返回值,B有參無返回值,C無參有返回值,均符合語法,故選D。3、若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。4、以下關于函數(shù)的說法錯誤的是?()

A.函數(shù)可嵌套調(diào)用

B.函數(shù)可遞歸調(diào)用

C.函數(shù)可重定義

D.函數(shù)可聲明多次

【答案】:答案解析:C函數(shù)名不能重定義(重復定義編譯報錯),A、B、D正確,故選C。5、若intx=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>6)printf("B");elseif(x>3)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=5>3,執(zhí)行第三個分支,輸出C,故選C。6、數(shù)組名作為函數(shù)參數(shù)時,傳遞的是?()

A.數(shù)組第一個元素的值

B.數(shù)組所有元素的值

C.數(shù)組第一個元素的地址

D.數(shù)組長度

【答案】:答案解析:數(shù)組名傳參本質(zhì)是首元素地址(指針傳遞),函數(shù)中可通過指針訪問數(shù)組,故選C。7、以下函數(shù)調(diào)用正確的是?()

A.fun(5);

B.fun(3,4);

C.fun("hello");

D.取決于函數(shù)定義

【答案】:答案解析:函數(shù)調(diào)用需匹配函數(shù)定義的參數(shù)類型和個數(shù),A、B、C是否正確取決于函數(shù)定義,故選D。8、以下定義函數(shù)指針正確的是?()

A.int(*fp)(int);

B.int*fp(int);

C.intfp(int);

D.int(fp)[];

【答案】:答案解析:A是指向int返回值、int參數(shù)的函數(shù)指針,B是返回int的函數(shù),C是普通函數(shù),D是指向數(shù)組的指針,故選A。9、do-while循環(huán)的特點是?()

A.先判斷條件,后執(zhí)行循環(huán)體

B.先執(zhí)行循環(huán)體,后判斷條件

C.條件不滿足時也不執(zhí)行循環(huán)體

D.只能執(zhí)行一次

【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。10、若intx=1;執(zhí)行switch(x){case1:printf("1");case2:printf("2");break;case3:printf("3");}輸出結(jié)果是?()

A.1

B.12

C.123

D.無輸出

【答案】:答案解析:x=1匹配case1,無break,穿透到case2(執(zhí)行后break),輸出12,故選B。11、以下關于void類型函數(shù)的說法正確的是?()

A.不能有return語句

B.可以有return語句(無表達式)

C.必須有return語句

D.可返回任意類型

【答案】:答案解析:void函數(shù)可寫return;(無表達式),用于提前結(jié)束函數(shù),不能返回表達式,故選B。12、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。13、以下關于數(shù)組的說法正確的是?()

A.數(shù)組長度可動態(tài)修改

B.數(shù)組元素可不同類型

C.數(shù)組在內(nèi)存中連續(xù)存儲

D.數(shù)組名可作為左值賦值

【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。14、以下定義指向二維數(shù)組的指針正確的是?()

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列數(shù)組的指針(匹配二維數(shù)組a的行),B、C、D類型不匹配,故選A。15、數(shù)組元素的下標從______開始?()

A.0

B.1

C.-1

D.任意

【答案】:答案解析:C語言數(shù)組下標從0開始,是固定規(guī)則,故選A。16、C語言中基本數(shù)據(jù)類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數(shù)據(jù)類型為char、int、float、double,array是數(shù)組(構(gòu)造類型),故選D。17、以下哪個for循環(huán)是無限循環(huán)?()

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

B.for(;;)

C.for(i=0;i<5;i--);

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

【答案】:答案解析:for循環(huán)三個表達式均省略時,條件恒為真,是無限循環(huán),A執(zhí)行5次,C、D初始條件不滿足(執(zhí)行0次),故選B。18、以下函數(shù)無返回值的是?()

A.intfun(){return0;}

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

C.floatfun(){return3.14;}

D.charfun(){return'b';}

【答案】:答案解析:void類型函數(shù)無返回值,A、C、D均有返回值,故選B。19、以下哪個條件表達式表示“x是奇數(shù)”?()

A.x%2==0

B.x%2!=0

C.x/2==0

D.x/2!=0

【答案】:答案解析:奇數(shù)除以2余數(shù)為1,x%2!=0表示奇數(shù),A是偶數(shù),故選B。20、若inta=10;執(zhí)行if(a%2==0)printf("偶數(shù)");elseprintf("奇數(shù)");輸出結(jié)果是?()

A.偶數(shù)

B.奇數(shù)

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數(shù),故選A。21、以下關于指針的說法正確的是?()

A.野指針是指向無效地址的指針

B.空指針是野指針的一種

C.避免野指針需初始化并及時置空

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識點,故選D。22、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。23、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。24、若inta[4]={10,20,30,40};則*(a+2)的值是?()

A.20

B.30

C.40

D.10

【答案】:答案解析:a+2是第三個元素地址,*(a+2)=a[2]=30,故選B。25、以下關于main函數(shù)的說法錯誤的是?()

A.程序從main開始執(zhí)行

B.main函數(shù)可帶參數(shù)

C.main函數(shù)必須有返回值

D.main函數(shù)可調(diào)用其他函數(shù)

【答案】:答案解析:main函數(shù)可聲明為void(無返回值),C說法錯誤,A、B、D正確,故選C。26、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。27、以下關于循環(huán)語句的說法錯誤的是?()

A.for循環(huán)三個表達式均可省略

B.while循環(huán)先判斷后執(zhí)行

C.do-while循環(huán)至少執(zhí)行一次

D.continue可用于switch語句

【答案】:答案解析:continue僅用于循環(huán)語句,不能用于switch,A、B、C說法正確,故選D。28、以下函數(shù)調(diào)用時,實參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是變量,C是變量地址,D是字符串常量,題目問“常量”,A正確,故選A。29、定義單精度浮點型變量y并賦值2.718的語句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是單精度,需加f后綴(否則默認double),double是雙精度,故選B。30、邏輯表達式!0的結(jié)果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:C語言中非0為真,!是邏輯非,!0(假)結(jié)果為1(真),故選B。31、若inta=2,b=4;執(zhí)行if(a==b)a=0;elseb=0;后a和b的值分別是?()

A.0,4

B.2,0

C.0,0

D.2,4

【答案】:答案解析:a==b為假,執(zhí)行else,b=0,a保持2,故選B。32、C語言中,注釋的正確寫法是?()

A.//單行注釋

B./*多行注釋/

C.--注釋

D.A和B

【答案】:答案解析:C語言支持//單行注釋和/...*/多行注釋,--不是注釋符號,故選D。33、函數(shù)調(diào)用時,實參的類型必須與形參的類型?()

A.完全一致

B.兼容(可自動轉(zhuǎn)換)

C.無關

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

【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉(zhuǎn)換,不兼容則編譯錯誤,故選B。34、若inta=10,*p=&a;則sizeof(p)的值是?()

A.4

B.8

C.取決于系統(tǒng)

D.10

【答案】:答案解析:sizeof(p)是指針大小,32位系統(tǒng)4字節(jié),64位8字節(jié),故選C。35、表達式5>3&&2<4的結(jié)果是?()

A.0

B.1

C.真

D.假

【答案】:答案解析:5>3為真(1),2<4為真(1),邏輯與&&結(jié)果為1,故選B。36、以下函數(shù)調(diào)用錯誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.無錯誤(需看函數(shù)定義)

【答案】:答案解析:調(diào)用需匹配函數(shù)定義,A對應無參函數(shù),B對應單參函數(shù),C對應雙參函數(shù),均可能正確,故選D。37、以下字符串數(shù)組定義正確的是?()

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。38、break語句在循環(huán)中的作用是?()

A.跳過本次循環(huán),繼續(xù)下一次

B.終止整個循環(huán)

C.終止當前語句

D.無作用

【答案】:答案解析:break在循環(huán)中用于終止整個循環(huán)(跳出循環(huán)體),continue是跳過本次循環(huán),故選B。39、以下switch語句語法錯誤的是?()

A.switch(x){case1:printf("1");break;}

B.switch(x){case'a':printf("a");break;}

C.switch(x){case1.5:printf("1.5");break;}

D.switch(x){default:printf("0");}

【答案】:答案解析:case后必須是整型常量,1.5是浮點型,語法錯誤,故選C。40、以下if語句語法正確的是?()

A.if(x>0)printf("yes");

B.ifx>0printf("yes");

C.if(x>0);printf("yes");

D.if(x>0){printf("yes")}

【答案】:答案解析:if后條件需加括號,B缺少括號,C分號導致語句結(jié)束,D缺少分號,故選A。41、函數(shù)返回值的類型由______決定?()

A.return語句中的表達式類型

B.函數(shù)定義時的返回類型

C.函數(shù)調(diào)用時的參數(shù)類型

D.編譯器默認類型

【答案】:答案解析:函數(shù)返回類型在定義時指定,return表達式類型需與返回類型匹配(不匹配則強制轉(zhuǎn)換),故選B。42、執(zhí)行scanf("%d,%d",&a,&b);時,正確的輸入格式是?()

A.23

B.2;3

C.2,3

D.2和3

【答案】:答案解析:scanf格式串中含逗號分隔符,輸入需嚴格對應,故選C。43、以下關于函數(shù)遞歸的說法錯誤的是?()

A.必須有終止條件

B.可能導致棧溢出

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

D.代碼簡潔

【答案】:答案解析:遞歸調(diào)用會創(chuàng)建棧幀,效率低于循環(huán),A、B、D正確,C錯誤,故選C。44、若inta[4]={1,2,3,4};則*(a+1)的值是?()

A.1

B.2

C.3

D.4

【答案】:答案解析:a是首地址,a+1是第二個元素地址,*(a+1)=a[1]=2,故選B。45、以下哪個操作會導致野指針?()

A.指針未初始化

B.指針指向的內(nèi)存被釋放后未置空

C.指針越界訪問

D.以上都是

溫馨提示

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

評論

0/150

提交評論