期末c語言考試題(精練)_第1頁
期末c語言考試題(精練)_第2頁
期末c語言考試題(精練)_第3頁
期末c語言考試題(精練)_第4頁
期末c語言考試題(精練)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

期末c語言考試題第一部分單選題(50題)1、若inti=0,s=0;執(zhí)行while(i<=3){s+=i2;i++;}后s的值是?()

A.12

B.6

C.8

D.10

【答案】:答案解析:累加02+12+22+3*2=0+2+4+6=12,s=12,故選A。2、若intx=9;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf("A");elseif(x>8)printf("B");elseif(x>6)printf("C");elseprintf("D");

A.A

B.B

C.C

D.

【答案】:答案解析:x=9>8,執(zhí)行第二個分支,輸出B,故選B。3、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機值

D.無定義

【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。4、若inta=10,p=&a;則p的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:*p是解引用,->用于結(jié)構(gòu)體指針訪問成員,.用于結(jié)構(gòu)體變量訪問成員,故選B。5、若inta=1,b=2;則表達式(a==b)的結(jié)果是?()

A.1

B.0

C.2

D.真

【答案】:答案解析:==是等于判斷,a==b為假,C語言中假用0表示,故選B。6、以下關(guān)于指針的說法正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A、B、C均是野指針的核心知識點,故選D。7、以下哪個是合法的字符常量?()

A."a"

B.'ab'

C.'a'

D.a

【答案】:答案解析:字符常量用單引號包裹單個字符,A是字符串,B是兩個字符(錯誤),D是標(biāo)識符,故選C。8、以下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分號導(dǎo)致語句結(jié)束,D缺少分號,故選A。9、以下循環(huán)中,無限循環(huán)的是?()

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

B.while(i=5)

C.do{i++;}while(i<5);

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

【答案】:答案解析:while(i=5)是賦值(i=5,非0,條件恒真),無限循環(huán);A執(zhí)行5次,C(i初始0)執(zhí)行5次,D執(zhí)行5次,故選B。10、以下switch語句中,case后的常量可以是?()

A.整數(shù)

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數(shù)、字符、枚舉常量,字符本質(zhì)是ASCII碼整數(shù)),故選D。11、while循環(huán)的語法格式正確的是?()

A.while(條件)語句;

B.while條件語句;

C.while(條件);語句;

D.while(條件){語句}

【答案】:答案解析:while后條件需加括號,語句可是單條(加分號)或代碼塊(用{}),D缺少分號,故選A。12、指針變量的大小取決于?()

A.指向變量的類型

B.編譯器和系統(tǒng)(32位4字節(jié),64位8字節(jié))

C.指針變量的名稱

D.變量的值

【答案】:答案解析:指針大小與指向類型無關(guān),取決于系統(tǒng)位數(shù)(32位4B,64位8B),故選B。13、指針與結(jié)構(gòu)體的關(guān)系,以下說法正確的是?()

A.結(jié)構(gòu)體指針通過->訪問成員

B.結(jié)構(gòu)體變量通過。訪問成員

C.結(jié)構(gòu)體指針可指向結(jié)構(gòu)體變量

D.以上都正確

【答案】:答案解析:A、B、C均是結(jié)構(gòu)體與指針的基本規(guī)則,故選D。14、do-while循環(huán)的語法格式正確的是?()

A.do語句;while(條件);

B.do{語句}while(條件)

C.do語句while(條件);

D.do;語句;while(條件);

【答案】:答案解析:do-while格式為“do循環(huán)體;while(條件);”,循環(huán)體可是單條語句或代碼塊,B缺少分號,C缺少分號,D循環(huán)體為空,故選A。15、以下關(guān)于指針的說法錯誤的是?()

A.指針可指向變量、數(shù)組、函數(shù)

B.指針可進行算術(shù)運算(如++、--)

C.指針可指向自身

D.指針可用于動態(tài)內(nèi)存分配

【答案】:答案解析:指針不能指向自身(類型不匹配),A、B、D說法正確,故選C。16、以下函數(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。17、以下關(guān)于數(shù)組的說法正確的是?()

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

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

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

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

【答案】:答案解析:A數(shù)組長度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。18、以下哪個數(shù)據(jù)類型的占用字節(jié)數(shù)最大?()

A.char

B.short

C.int

D.double

【答案】:答案解析:char(1字節(jié))、short(2字節(jié))、int(4字節(jié))、double(8字節(jié)),故選D。19、以下關(guān)于函數(shù)參數(shù)的說法正確的是?()

A.形參是函數(shù)定義時的變量

B.實參是函數(shù)調(diào)用時的變量/常量

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

D.以上都正確

【答案】:答案解析:A、B、C均是函數(shù)參數(shù)的基本規(guī)則,故選D。20、若inta=6;執(zhí)行a/=3;后a的值是?()

A.2

B.3

C.6

D.18

【答案】:答案解析:a/=3等價于a=a/3=6/3=2,故選A。21、若inti=0;執(zhí)行for(;i<5;){printf("%d",i);i++;}輸出結(jié)果是?()

A.01234

B.12345

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for循環(huán)初始化和條件省略,循環(huán)體中i自增,執(zhí)行5次,輸出01234,故選A。22、函數(shù)參數(shù)傳遞中,地址傳遞的特點是?()

A.形參是實參的副本

B.形參修改不影響實參

C.傳遞的是變量地址

D.用于簡單變量傳參

【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實參值,值傳遞是副本,故選C。23、以下指針定義正確的是?()

A.int*p;

B.char*q;

C.float*r;

D.以上都正確

【答案】:答案解析:A指向int,B指向char,C指向float,均符合指針定義語法,故選D。24、若inta=5,b=3;執(zhí)行if(a>b){a--;b++;}后a和b的值分別是?()

A.4,4

B.5,3

C.4,3

D.5,4

【答案】:答案解析:a>b為真,執(zhí)行代碼塊,a=5-1=4,b=3+1=4,故選A。25、若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。26、以下循環(huán)中,循環(huán)次數(shù)為3次的是?()

A.for(i=1;i<=3;i++)

B.while(i=3)

C.do{i++;}while(i<3);

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

【答案】:答案解析:A執(zhí)行3次(1-3),B是無限循環(huán),C(i初始0)執(zhí)行3次,D執(zhí)行5次,題目問“3次”,A明確正確,故選A。27、若inta=4;執(zhí)行a-=2;后a的值是?()

A.2

B.4

C.6

D.0

【答案】:答案解析:a-=2等價于a=a-2,4-2=2,故選A。28、若inti=0,s=0;執(zhí)行for(i=0;i<4;i++)s+=i;后s的值是?()

A.6

B.10

C.4

D.0

【答案】:答案解析:累加0+1+2+3=6,s=6,故選A。29、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。30、以下函數(shù)定義錯誤的是?()

A.intfun(inta,intb){returna+b;}

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

C.intfun(){inta=3;returna;}

D.voidfun(inta){returna;}

【答案】:答案解析:D返回值類型void,不能return表達式a,語法錯誤,故選D。31、以下指針運算正確的是?()

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。32、C語言程序的入口函數(shù)是?()

A.main()

B.printf()

C.scanf()

D.main

【答案】:答案解析:所有C程序從main()函數(shù)開始執(zhí)行,必須有且僅有一個,故選A。33、若inta[5]={1,2,3,4,5};則*(a+4)的值是?()

A.4

B.5

C.1

D.2

【答案】:答案解析:a+4是第五個元素地址,*(a+4)=a[4]=5,故選B。34、以下函數(shù)參數(shù)傳遞方式中,能修改實參值的是?()

A.值傳遞

B.地址傳遞

C.都能

D.都不能

【答案】:答案解析:值傳遞修改的是形參(副本),不影響實參;地址傳遞通過指針修改實參值,故選B。35、若inta=7;執(zhí)行if(a%3==1)printf("A");elseif(a%3==2)printf("B");elseprintf("C");輸出結(jié)果是?()

A.A

B.B

C.C

D.無輸出

【答案】:答案解析:7%3=1?7/3=2余1?不,7%3=1?7-3*2=1,條件1成立?哦7%3=1,應(yīng)輸出A?不對,7%3=1,第一個條件成立,輸出A?重新計算:7÷3=2余1,a%3=1,執(zhí)行第一個分支,輸出A,故選A(原解析修正:之前誤算,正確結(jié)果A)。36、指針作為函數(shù)參數(shù)時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質(zhì)是傳遞變量地址,函數(shù)中通過指針可修改實參值,故選D。37、若inti=0;執(zhí)行while(i<5){if(i==2)break;printf("%d",i);i++;}輸出結(jié)果是?()

A.01

B.012

C.01234

D.無限循環(huán)

【答案】:答案解析:i=2時執(zhí)行break,終止循環(huán),輸出01,故選A。38、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==2)continue;printf("%d",i);}輸出結(jié)果是?()

A.0134

B.01234

C.01

D.無限循環(huán)

【答案】:答案解析:i=2時執(zhí)行continue,跳過printf,輸出0134,故選A。39、以下數(shù)組定義中,正確的是?()

A.inta[5];

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

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

D.以上都是

【答案】:答案解析:A、B、C均符合數(shù)組定義規(guī)則,故選D。40、數(shù)組名的本質(zhì)是?()

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

B.數(shù)組最后一個元素的地址

C.數(shù)組元素的個數(shù)

D.數(shù)組的大小

【答案】:答案解析:數(shù)組名是首元素地址(常量,不可修改),故選A。41、若intx=5;執(zhí)行if(x>3&&x<7)printf("yes");elseprintf("no");輸出結(jié)果是?()

A.yes

B.no

C.yesno

D.無輸出

【答案】:答案解析:x=5>3且<7,條件為真,輸出yes,故選A。42、函數(shù)聲明的作用是?()

A.告訴編譯器函數(shù)的存在

B.實現(xiàn)函數(shù)功能

C.分配函數(shù)內(nèi)存

D.調(diào)用函數(shù)

【答案】:答案解析:函數(shù)聲明用于向編譯器說明函數(shù)名、參數(shù)、返回類型(確保調(diào)用正確),定義才是實現(xiàn)功能,故選A。43、以下二維數(shù)組初始化正確的是?()

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

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

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

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

【答案】:答案解析:A行數(shù)超2,B元素不足6個(補0),C標(biāo)準(zhǔn)初始化,D元素超6個,故選C。44、若inta=3,b=5;執(zhí)行以下代碼后輸出結(jié)果是?()if(a>b)printf("A");elseprintf("B");

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:a=3<b=5,條件為假,執(zhí)行else分支,輸出B,故選B。45、以下函數(shù)返回值類型為int的是?()

A.voidfun(){return;}

B.intfun(){return3.14;}

C.floatfun(){return5;}

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

【答案】:答案解析:A返回值類型void(不能return表達式),B返回類型int(3.14強制轉(zhuǎn)為3),C返回類型float,D返回類型char,故選B。46、函數(shù)參數(shù)為數(shù)組時,形參的寫法錯誤的是?()

A.inta[]

B.int*a

C.inta[5]

D.inta

【答案】:答案解析:D中inta是普通變量,不能接收數(shù)組名(地址),A、B、C均正確,故選D。47、以下函數(shù)聲明中,返回類

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論