電大c語(yǔ)言期末試題1套_第1頁(yè)
電大c語(yǔ)言期末試題1套_第2頁(yè)
電大c語(yǔ)言期末試題1套_第3頁(yè)
電大c語(yǔ)言期末試題1套_第4頁(yè)
電大c語(yǔ)言期末試題1套_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

電大c語(yǔ)言期末試題第一部分單選題(50題)1、若inta=7,*p=&a;執(zhí)行++*p;后a的值是?()

A.7

B.8

C.&a

D.無(wú)定義

【答案】:答案解析:++*p等價(jià)于++(*p),先解引用取a的值,再加1(a=8),故選B。2、若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。3、若inta=2;執(zhí)行a*=a+3;后a的值是?()

A.7

B.10

C.14

D.5

【答案】:答案解析:a*=a+3等價(jià)于a=a*(a+3)=2*(2+3)=10,故選B。4、continue語(yǔ)句在循環(huán)中的作用是?()

A.終止整個(gè)循環(huán)

B.跳過(guò)本次循環(huán)剩余部分,繼續(xù)下一次

C.暫停循環(huán)

D.無(wú)作用

【答案】:答案解析:continue跳過(guò)本次循環(huán)剩余代碼,直接進(jìn)入下一次循環(huán)條件判斷,故選B。5、以下指針運(yùn)算中,結(jié)果為值的是?()

A.*p

B.p+1

C.&a

D.p-2

【答案】:答案解析:*p是解引用,獲取指針指向變量的值,B、C、D結(jié)果均為指針,故選A。6、二維數(shù)組a[3][4]的元素個(gè)數(shù)是?()

A.7

B.12

C.3

D.4

【答案】:答案解析:3行4列,共3×4=12個(gè)元素,故選B。7、若inta[5]={1,2,3};則a[3]的值是?()

A.0

B.3

C.隨機(jī)值

D.無(wú)定義

【答案】:答案解析:初始化時(shí)未賦值的元素默認(rèn)為0,a[3]=0,故選A。8、若intx=3,y=5;執(zhí)行if(x>y)printf("x大");elseif(x==y)printf("相等");elseprintf("y大");輸出結(jié)果是?()

A.x大

B.相等

C.y大

D.無(wú)輸出

【答案】:答案解析:x=3<y=5,執(zhí)行else,輸出y大,故選C。9、以下for循環(huán)中,循環(huán)變量初始化、條件判斷、更新表達(dá)式均正確的是?()

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

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

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

D.以上都正確

【答案】:答案解析:A(遞增)、B(遞減)、C(步長(zhǎng)2)的三個(gè)表達(dá)式均合法,循環(huán)邏輯正確,故選D。10、以下數(shù)組初始化正確的是?()

A.charstr[]="hello";

B.charstr[5]="hello";

C.charstr[]={'h','e','l','l','o'};

D.charstr[5]={'h','e','l','l','o','\0'};

【答案】:答案解析:A字符串自動(dòng)加\0,B長(zhǎng)度5不足以存hello(含\0共6個(gè)字符),C無(wú)\0(字符串不完整),D長(zhǎng)度5超,故選A。11、以下關(guān)于數(shù)組的說(shuō)法正確的是?()

A.數(shù)組長(zhǎng)度可動(dòng)態(tài)修改

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

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

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

【答案】:答案解析:A數(shù)組長(zhǎng)度定義后固定,B元素必須同類型,D數(shù)組名是常量(不可賦值),C正確,故選C。12、以下函數(shù)聲明中,返回類型為float的是?()

A.floatfun();

B.voidfun(floata);

C.intfun(floata);

D.charfun(floata);

【答案】:答案解析:A返回類型為float,B無(wú)返回值,C返回類型int,D返回類型char,故選A。13、以下哪個(gè)是C語(yǔ)言的循環(huán)語(yǔ)句?()

A.if

B.for

C.else

D.switch

【答案】:答案解析:C語(yǔ)言循環(huán)語(yǔ)句包括for、while、do-while,if/else是選擇語(yǔ)句,switch是多分支選擇語(yǔ)句,故選B。14、若charstr[10]="abcde";則str[5]的值是?()

A.'e'

B.'\0'

C.隨機(jī)值

D.無(wú)定義

【答案】:答案解析:字符串自動(dòng)在末尾加\0,str[5]是\0,故選B。15、以下函數(shù)無(wú)返回值的是?()

A.intfun(){return0;}

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

C.floatfun(){return3.14;}

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

【答案】:答案解析:void類型函數(shù)無(wú)返回值,A、C、D均有返回值,故選B。16、若inta[4]={1,2,3,4};則a[3]的值是?()

A.3

B.4

C.1

D.2

【答案】:答案解析:a[3]是第四個(gè)元素,值為4,故選B。17、以下定義指向二維數(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。18、以下關(guān)于指針數(shù)組和數(shù)組指針的說(shuō)法正確的是?()

A.指針數(shù)組是數(shù)組,元素為指針

B.數(shù)組指針是指針,指向數(shù)組

C.int*arr[5]是指針數(shù)組,int(*arr)[5]是數(shù)組指針

D.以上都正確

【答案】:答案解析:A、B、C均準(zhǔn)確區(qū)分了指針數(shù)組和數(shù)組指針,故選D。19、以下哪個(gè)是C語(yǔ)言中的賦值運(yùn)算符?()

A.==

B.=

C.+=

D.!=

【答案】:答案解析:=是賦值運(yùn)算符,==是等于判斷,+=是復(fù)合賦值,!=是不等于判斷,故選B。20、若inta[5]={10,20,30,40,50},p=a+3;則p的值是?()

A.30

B.40

C.50

D.無(wú)定義

【答案】:答案解析:a+3指向a[3],*p=40,故選B。21、若charstr="abcde";則(str+4)的值是?()

A.'d'

B.'e'

C.'\0'

D.無(wú)定義

【答案】:答案解析:str+4指向第5個(gè)字符,值為'e',故選B。22、shortint類型的有符號(hào)取值范圍是?()

A.0~65535

B.-32768~32767

C.-2147483648~2147483647

D.無(wú)固定范圍

【答案】:答案解析:16位shortint有符號(hào)取值標(biāo)準(zhǔn)為-32768~32767,無(wú)符號(hào)為0~65535,故選B。23、若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。24、do-while循環(huán)的特點(diǎn)是?()

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

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

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

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

【答案】:答案解析:do-while是“先執(zhí)行后判斷”,至少執(zhí)行一次循環(huán)體,for和while是“先判斷后執(zhí)行”,故選B。25、若inta=4;執(zhí)行if(a--<4)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無(wú)輸出

【答案】:答案解析:a--是后置自減,條件判斷時(shí)a=4,4<4為假,執(zhí)行else(輸出B),后a變?yōu)?,故選B。26、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結(jié)果是?()

A.14

B.1234

C.1

D.無(wú)輸出

【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。27、以下哪個(gè)函數(shù)用于讀取字符?()

A.putchar()

B.gets()

C.getchar()

D.printf()

【答案】:答案解析:getchar()讀取單個(gè)字符,puts()輸出字符串,gets()讀取字符串(已淘汰),故選C。28、以下if語(yǔ)句語(yǔ)法正確的是?()

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

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

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

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

【答案】:答案解析:if后條件需加括號(hào),B缺少括號(hào),C分號(hào)導(dǎo)致語(yǔ)句結(jié)束,D缺少分號(hào),故選A。29、以下關(guān)于指針的說(shuō)法正確的是?()

A.指針可用于實(shí)現(xiàn)多返回值函數(shù)

B.指針可提高程序效率

C.指針可用于動(dòng)態(tài)內(nèi)存分配

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問(wèn)、動(dòng)態(tài)內(nèi)存分配,故選D。30、以下if語(yǔ)句中,條件表達(dá)式正確的是?()

A.if(x=5)printf("yes");

B.if(x==5)printf("yes");

C.if(x=5;)printf("yes");

D.if(x==5;)printf("yes");

【答案】:答案解析:if條件需是判斷表達(dá)式(==),A是賦值,C、D多加分號(hào),故選B。31、若inta=3;執(zhí)行if(++a>3)printf("A");elseprintf("B");輸出結(jié)果是?()

A.A

B.B

C.AB

D.無(wú)輸出

【答案】:答案解析:++a是前置自增,a變?yōu)?>3,條件為真,輸出A,故選A。32、若intx=4;執(zhí)行switch(x){case2:printf("2");break;default:printf("0");case4:printf("4");break;}輸出結(jié)果是?()

A.04

B.4

C.204

D.無(wú)輸出

【答案】:答案解析:x=4匹配case4,執(zhí)行輸出4,break跳出,故選B。33、若inta[5]={1,2,3,4,5};則a[5]是?()

A.5

B.0

C.越界訪問(wèn)

D.無(wú)定義

【答案】:答案解析:a[5]下標(biāo)超出0-4范圍,屬于越界訪問(wèn)(可能導(dǎo)致程序錯(cuò)誤),故選C。34、若inta=3,b=4;則表達(dá)式ab++的值是?()

A.12

B.15

C.16

D.7

【答案】:答案解析:b++是后置自增,先參與運(yùn)算(ab=3*4=12),再自增(b變?yōu)?),故選A。35、以下循環(huán)中,無(wú)限循環(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,條件恒真),無(wú)限循環(huán);A執(zhí)行5次,C(i初始0)執(zhí)行5次,D執(zhí)行5次,故選B。36、若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。37、若inti;執(zhí)行for(i=0;i<5;i++)printf("%d",i);輸出結(jié)果是?()

A.01234

B.12345

C.012345

D.無(wú)輸出

【答案】:答案解析:for循環(huán)初始化i=0,條件i<5(成立時(shí)執(zhí)行),每次循環(huán)后i++,執(zhí)行5次,輸出01234,故選A。38、以下關(guān)于循環(huán)語(yǔ)句的說(shuō)法錯(cuò)誤的是?()

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

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

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

D.continue可用于switch語(yǔ)句

【答案】:答案解析:continue僅用于循環(huán)語(yǔ)句,不能用于switch,A、B、C說(shuō)法正確,故選D。39、定義整型變量x、y并均賦值10的語(yǔ)句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定義多個(gè)變量用逗號(hào)分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。40、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=3);輸出結(jié)果是?()

A.123

B.1234

C.012

D.無(wú)輸出

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷,共執(zhí)行3次,輸出123,故選A。41、函數(shù)返回值通過(guò)______語(yǔ)句返回?()

A.printf

B.scanf

C.return

D.break

【答案】:答案解析:return語(yǔ)句用于函數(shù)返回值,printf輸出,scanf輸入,break跳出循環(huán)/switch,故選C。42、以下switch語(yǔ)句中,break語(yǔ)句的位置正確的是?()

A.case后任意位置

B.必須在case代碼最后

C.必須在default后

D.不能在default后

【答案】:答案解析:break可在case代碼任意位置(執(zhí)行到break即跳出),不一定在最后,default后也可加break,故選A。43、若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。44、若inta=5,*p=&a;則&*p的值是?()

A.5

B.&a

C.p

D.無(wú)定義

【答案】:答案解析:&*p等價(jià)于p,即&a(a的地址),故選B。45、轉(zhuǎn)義字符\的作用是?()

A.表示反斜杠

B.表示換行

C.表示空格

D.表示制表符

【答案】:答案解析:\用于表示字符反斜杠(\),避免與轉(zhuǎn)義字符沖突,故選A。46、函數(shù)定義在main函數(shù)之后時(shí),必須先?()

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

B.聲明函數(shù)

C.定義函數(shù)

D.無(wú)要求

【答案】:答案解析:main函數(shù)調(diào)用其他函數(shù)時(shí),若函數(shù)定義在main之后,需先聲明(否則編譯器找不到函數(shù)),故選B。47、若intx=9;執(zhí)行以下代碼后輸出結(jié)果是?()if(x>10)printf(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論