c語言復(fù)試上機題目及1套參考答案_第1頁
c語言復(fù)試上機題目及1套參考答案_第2頁
c語言復(fù)試上機題目及1套參考答案_第3頁
c語言復(fù)試上機題目及1套參考答案_第4頁
c語言復(fù)試上機題目及1套參考答案_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

c語言復(fù)試上機題目第一部分單選題(50題)1、以下哪個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。2、以下函數(shù)調(diào)用正確的是?()

A.fun();

B.fun(1,2);

C.fun("test");

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

【答案】:答案解析:函數(shù)調(diào)用是否正確取決于函數(shù)定義(參數(shù)類型、個數(shù)),A、B、C均可能正確,故選D。3、表示“x大于5且小于10”的合法C語言表達式是?()

A.5<x<10

B.x>5||x<10

C.x>5&&x<10

D.x>5&x<10

【答案】:答案解析:邏輯與用&&,邏輯或用||,A是連續(xù)比較語法錯誤,&是按位與,故選C。4、若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。5、若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。6、若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。7、若int*p=(int)malloc(sizeof(int));則p的值是?()

A.0

B.隨機值

C.1

D.無定義

【答案】:答案解析:malloc分配的內(nèi)存未初始化,值為隨機值,故選B。8、break語句在循環(huán)中的作用是?()

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

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

C.終止當(dāng)前語句

D.無作用

【答案】:答案解析:break在循環(huán)中用于終止整個循環(huán)(跳出循環(huán)體),continue是跳過本次循環(huán),故選B。9、以下關(guān)于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。10、若intx=2;執(zhí)行switch(x){case1:printf("a");case2:printf("b");case3:printf("c");}輸出結(jié)果是?()

A.b

B.bc

C.abc

D.無輸出

【答案】:答案解析:x=2匹配case2,無break,穿透到case3,輸出bc,故選B。11、若charc='A';執(zhí)行c=c+32后,c的值是?()

A.'a'

B.'B'

C.65

D.97

【答案】:答案解析:大寫字母ASCII碼比對應(yīng)小寫字母小32,'A'(65)+32='a'(97),故選A。12、以下字符串常量定義正確的是?()

A.charstr[]="C";

B.charstr[1]='C';

C.charstr[]={'C'};

D.charstr[2]={'C','\0'};

【答案】:答案解析:A用雙引號定義字符串(自動加\0),B單引號用于字符常量,C無\0,D長度2正確但A更簡潔,故選A。13、指針的核心優(yōu)勢是?()

A.間接訪問變量,靈活操作內(nèi)存

B.提高程序效率,減少內(nèi)存開銷

C.支持動態(tài)內(nèi)存分配和函數(shù)回調(diào)

D.以上都正確

【答案】:答案解析:指針的核心優(yōu)勢包括間接訪問、高效、動態(tài)內(nèi)存、回調(diào)等,故選D。14、若inti=0,s=0;執(zhí)行do{s+=i;i++;}while(i<5);后s的值是?()

A.10

B.15

C.5

D.0

【答案】:答案解析:do-while累加0+1+2+3+4=10,s=10,故選A。15、以下哪個函數(shù)用于讀取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()讀取單個字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。16、若inta[3]={1,2,3},p=a;則(p+2)的值是?()

A.1

B.2

C.3

D.無定義

【答案】:答案解析:p+2指向a[2],解引用*(p+2)=a[2]=3,故選C。17、以下數(shù)組定義錯誤的是?()

A.inta[5];

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

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

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

【答案】:答案解析:C初始化元素超5個,編譯報錯,其余正確,故選C。18、以下函數(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。19、函數(shù)調(diào)用時,實參的順序必須與形參的順序?()

A.一致

B.相反

C.無關(guān)

D.部分一致

【答案】:答案解析:實參和形參需按順序一一對應(yīng)(類型、個數(shù)、順序匹配),否則可能導(dǎo)致邏輯錯誤,故選A。20、若intx=10,y=20;則表達式x!=y的結(jié)果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。21、以下switch語句中,case穿透的情況是?()

A.case后加break

B.case后不加break

C.有default

D.無default

【答案】:答案解析:case后不加break會繼續(xù)執(zhí)行下一個case的代碼(穿透),加break則跳出,故選B。22、函數(shù)參數(shù)的默認值在______指定?()

A.函數(shù)定義時

B.函數(shù)聲明時

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

D.C語言不支持默認參數(shù)

【答案】:答案解析:標(biāo)準(zhǔn)C語言不支持函數(shù)參數(shù)默認值(C++支持),故選D。23、函數(shù)參數(shù)傳遞中,值傳遞的特點是?()

A.形參修改影響實參

B.形參是實參的副本

C.傳遞的是變量地址

D.用于數(shù)組傳參

【答案】:答案解析:值傳遞時形參是實參的拷貝,修改形參不影響實參,地址傳遞才影響實參,故選B。24、函數(shù)定義在main函數(shù)之后時,必須先?()

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

B.聲明函數(shù)

C.定義函數(shù)

D.無要求

【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時,若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。25、若inti=5,s=0;執(zhí)行while(i>0){s+=i;i--;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:累加5+4+3+2+1=15,s=15,故選A。26、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機值

D.無定義

【答案】:答案解析:字符串自動在末尾加\0,str[5]是\0,故選B。27、以下指針的算術(shù)運算中,單位是?()

A.1字節(jié)

B.指針指向類型的大小

C.4字節(jié)

D.8字節(jié)

【答案】:答案解析:指針?biāo)阈g(shù)運算(如p++)偏移量是指向類型的大小(如int指針+1偏移4字節(jié)),故選B。28、函數(shù)調(diào)用時,實參的類型必須與形參的類型?()

A.完全一致

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

C.無關(guān)

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

【答案】:答案解析:實參和形參類型可兼容(如int→float),編譯器自動轉(zhuǎn)換,不兼容則編譯錯誤,故選B。29、指針與字符串的關(guān)系,以下說法正確的是?()

A.字符串常量是字符數(shù)組,數(shù)組名是指針

B.字符串可通過指針遍歷

C.字符指針可指向字符串常量

D.以上都正確

【答案】:答案解析:A、B、C均是指針與字符串的基本關(guān)系,故選D。30、while循環(huán)的語法格式正確的是?()

A.while(條件)語句;

B.while條件語句;

C.while(條件);語句;

D.while(條件){語句}

【答案】:答案解析:while后條件需加括號,語句可是單條(加分號)或代碼塊(用{}),D缺少分號,故選A。31、以下哪個數(shù)據(jù)類型用于存儲單個字符?()

A.int

B.char

C.float

D.double

【答案】:答案解析:char用于存儲單個字符(ASCII碼),int存儲整數(shù),float/double存儲浮點數(shù),故選B。32、若inta=2;執(zhí)行a*=a+3;后a的值是?()

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等價于a=a*(a+3)=2*(2+3)=10,故選B。33、以下函數(shù)參數(shù)傳遞方式中,能修改實參值的是?()

A.值傳遞

B.地址傳遞

C.都能

D.都不能

【答案】:答案解析:值傳遞修改的是形參(副本),不影響實參;地址傳遞通過指針修改實參值,故選B。34、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()

A.7

B.8

C.&a

D.無定義

【答案】:答案解析:++*p等價于++(*p),先解引用取a的值,再加1(a=8),故選B。35、若inta[5]={1,2,3,4,5},p=a;執(zhí)行p+=2;后p的值是?()

A.2

B.3

C.4

D.5

【答案】:答案解析:p+=2使p指向a[2],*p=3,故選B。36、若inta=10,*p=&a,q=p;則q的值是?()

A.10

B.&a

C.p

D.無定義

【答案】:答案解析:q=p使q指向a,*q=10,故選A。37、定義單精度浮點型變量y并賦值2.718的語句是?()

A.doubley=2.718;

B.floaty=2.718f;

C.floaty=2.718;

D.inty=2.718;

【答案】:答案解析:float是單精度,需加f后綴(否則默認double),double是雙精度,故選B。38、以下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。39、以下switch語句中,default的位置可以在?()

A.所有case之前

B.所有case之后

C.兩個case之間

D.以上都可以

【答案】:答案解析:default位置靈活,可在case前、后或中間,不影響執(zhí)行邏輯,故選D。40、若inta[5]={1,2,3,4,5};則a[5]是?()

A.5

B.0

C.越界訪問

D.無定義

【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(可能導(dǎo)致程序錯誤),故選C。41、C語言程序編譯的正確順序是?()

A.預(yù)處理→編譯→匯編→鏈接

B.編譯→預(yù)處理→匯編→鏈接

C.預(yù)處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預(yù)處理

【答案】:答案解析:C程序編譯流程為預(yù)處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標(biāo)文件)→鏈接(生成可執(zhí)行文件),故選A。42、以下函數(shù)調(diào)用時,實參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

D.fun("abc");

【答案】:答案解析:A中5是常量,B是變量,C是變量地址,D是字符串常量,題目問“常量”,A正確,故選A。43、若intx=6;執(zhí)行以下代碼后輸出結(jié)果是?()if(x<5){printf("A");}elseif(x<8){printf("B");}else{printf("C");}

A.A

B.B

C.C

D.無輸出

【答案】:答案解析:x=6<8,執(zhí)行第二個分支,輸出B,故選B。44、函數(shù)嵌套調(diào)用是指?()

A.函數(shù)調(diào)用自身

B.函數(shù)調(diào)用另一個函數(shù)

C.函數(shù)定義中包含另一個函數(shù)

D.多個函數(shù)互相調(diào)用

【答案】:答案解析:嵌套調(diào)用是函數(shù)A調(diào)用函數(shù)B,函數(shù)B調(diào)用函數(shù)C,遞歸是調(diào)用自身,故選B。45、若charstr[]="Clanguage";則字符串長度是?()

A.10

B.11

C.12

D.13

【答案】:答案解析

溫馨提示

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

最新文檔

評論

0/150

提交評論