計(jì)算機(jī)二級(jí)c考試題100道及答案_第1頁(yè)
計(jì)算機(jī)二級(jí)c考試題100道及答案_第2頁(yè)
計(jì)算機(jī)二級(jí)c考試題100道及答案_第3頁(yè)
計(jì)算機(jī)二級(jí)c考試題100道及答案_第4頁(yè)
計(jì)算機(jī)二級(jí)c考試題100道及答案_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

計(jì)算機(jī)二級(jí)c考試題100道及答案1.在C語(yǔ)言中,若要定義一個(gè)整型變量a并初始化為5,以下正確的定義語(yǔ)句是()A.inta=5;B.floata=5;C.chara=5;D.doublea=5;答案:A解析:定義整型變量用int,這里要求定義整型變量a并初始化為5,A選項(xiàng)符合要求,B是定義浮點(diǎn)型,C是定義字符型,D是定義雙精度浮點(diǎn)型。2.已知inta=10;執(zhí)行語(yǔ)句a+=5;后,a的值為()A.10B.15C.5D.20答案:B解析:a+=5等價(jià)于a=a+5,a初始值為10,所以執(zhí)行后a為15。3.以下哪個(gè)是C語(yǔ)言的合法標(biāo)識(shí)符()A.2abcB.voidC._abcD.ab-c答案:C解析:標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且不能以數(shù)字開頭,void是關(guān)鍵字不能作為標(biāo)識(shí)符,ab-c含有非法字符,只有C選項(xiàng)符合。4.以下關(guān)于C語(yǔ)言中for循環(huán)的說(shuō)法,錯(cuò)誤的是()A.for循環(huán)可以嵌套使用B.for循環(huán)的初始部分、條件部分和更新部分都可以省略C.for循環(huán)只能用于循環(huán)次數(shù)已知的情況D.for循環(huán)的條件表達(dá)式為假時(shí),循環(huán)體不再執(zhí)行答案:C解析:for循環(huán)不僅能用于循環(huán)次數(shù)已知的情況,也可用于循環(huán)次數(shù)未知但有結(jié)束條件的情況,A、B、D選項(xiàng)說(shuō)法均正確。5.若有定義inta[5]={1,2,3,4,5};則a[3]的值為()A.1B.2C.3D.4答案:D解析:數(shù)組下標(biāo)從0開始,a[3]表示數(shù)組的第4個(gè)元素,所以值為4。6.以下能正確表示邏輯關(guān)系“a大于等于10且a小于等于20”的C語(yǔ)言表達(dá)式是()A.a>=10&&a<=20B.a>=10||a<=20C.a>10&&a<20D.a>10||a<20答案:A解析:“且”關(guān)系用&&表示,“大于等于”是>=,“小于等于”是<=,所以A選項(xiàng)正確,B是“或”關(guān)系,C范圍不符合,D是“或”關(guān)系。7.在C語(yǔ)言中,以下哪個(gè)函數(shù)用于輸入一個(gè)字符()A.printf()B.scanf()C.getchar()D.putchar()答案:C解析:getchar()用于輸入一個(gè)字符,printf()用于輸出,scanf()可輸入多種類型數(shù)據(jù)但不是專門輸入字符,putchar()用于輸出字符。8.已知intx=3,y=4;則表達(dá)式x+y>7?1:0的值為()A.1B.0C.7D.無(wú)法確定答案:B解析:先計(jì)算x+y=7,7不大于7,所以條件表達(dá)式結(jié)果為0。9.以下關(guān)于C語(yǔ)言函數(shù)的說(shuō)法,正確的是()A.函數(shù)必須有返回值B.函數(shù)可以沒(méi)有參數(shù)C.函數(shù)定義可以嵌套D.函數(shù)調(diào)用不可以嵌套答案:B解析:函數(shù)可以沒(méi)有返回值(用void),也可以沒(méi)有參數(shù),函數(shù)定義不能嵌套,函數(shù)調(diào)用可以嵌套,所以B選項(xiàng)正確。10.若有定義charstr[]="hello";則str數(shù)組的長(zhǎng)度為()A.5B.6C.不確定D.4答案:B解析:字符串"hello"末尾有一個(gè)隱藏的'\0'結(jié)束符,所以數(shù)組長(zhǎng)度為6。11.以下哪個(gè)運(yùn)算符的優(yōu)先級(jí)最高()A.+B.*C.&&D.||答案:B解析:算術(shù)運(yùn)算符中*(乘法)優(yōu)先級(jí)高于+(加法),邏輯運(yùn)算符&&和||優(yōu)先級(jí)低于算術(shù)運(yùn)算符,所以*優(yōu)先級(jí)最高。12.以下程序段的輸出結(jié)果是()inta=5;printf("%d",a++);A.5B.6C.不確定D.4答案:A解析:a++是先使用a的值再自增,所以輸出的是a原來(lái)的值5。13.若有定義int*p,a=10;要使p指向a,正確的賦值語(yǔ)句是()A.p=&a;B.p=a;C.*p=a;D.*p=&a;答案:A解析:指針變量p要指向變量a,需要將a的地址賦給p,&a表示a的地址,所以A選項(xiàng)正確。14.以下關(guān)于C語(yǔ)言中while循環(huán)和do-while循環(huán)的說(shuō)法,錯(cuò)誤的是()A.while循環(huán)先判斷條件再執(zhí)行循環(huán)體B.do-while循環(huán)先執(zhí)行循環(huán)體再判斷條件C.while循環(huán)的循環(huán)體可能一次都不執(zhí)行D.do-while循環(huán)的循環(huán)體一定至少執(zhí)行兩次答案:D解析:do-while循環(huán)先執(zhí)行循環(huán)體再判斷條件,所以循環(huán)體至少執(zhí)行一次,而不是兩次,A、B、C選項(xiàng)說(shuō)法均正確。15.若有定義inta[3][4];則數(shù)組a中元素的個(gè)數(shù)為()A.3B.4C.7D.12答案:D解析:二維數(shù)組a[3][4]表示有3行4列,元素個(gè)數(shù)為3*4=12。16.以下表達(dá)式中,值為真的是()A.0B.1C.NULLD.'\0'答案:B解析:在C語(yǔ)言中,非0值表示真,0表示假,1是非0值所以為真,NULL和'\0'本質(zhì)上都代表0。17.以下關(guān)于C語(yǔ)言中結(jié)構(gòu)體的說(shuō)法,錯(cuò)誤的是()A.結(jié)構(gòu)體可以包含不同類型的數(shù)據(jù)成員B.結(jié)構(gòu)體變量的成員可以通過(guò)點(diǎn)運(yùn)算符訪問(wèn)C.結(jié)構(gòu)體類型定義后必須立即定義結(jié)構(gòu)體變量D.結(jié)構(gòu)體可以嵌套定義答案:C解析:結(jié)構(gòu)體類型定義后不一定要立即定義結(jié)構(gòu)體變量,可以在后續(xù)需要時(shí)再定義,A、B、D選項(xiàng)說(shuō)法均正確。18.已知inta=5,b=3;則表達(dá)式a%b的值為()A.1B.2C.0D.3答案:B解析:%是取余運(yùn)算符,5%3結(jié)果為2。19.以下函數(shù)用于輸出一個(gè)字符串的是()A.gets()B.fgets()C.puts()D.fputs()答案:C解析:puts()用于輸出一個(gè)字符串,gets()用于輸入字符串,fgets()和fputs()用于文件操作相關(guān)的字符串輸入輸出。20.若有定義inta=10,b=20;執(zhí)行語(yǔ)句a^=b;b^=a;a^=b;后,a和b的值分別為()A.10,20B.20,10C.10,10D.20,20答案:B解析:通過(guò)異或運(yùn)算可以實(shí)現(xiàn)兩個(gè)變量值的交換,執(zhí)行上述語(yǔ)句后a和b的值交換,所以a為20,b為10。21.以下關(guān)于C語(yǔ)言中文件操作的說(shuō)法,正確的是()A.打開文件時(shí)只能以只讀模式打開B.關(guān)閉文件使用fopen()函數(shù)C.讀取文件內(nèi)容使用fread()函數(shù)D.文件指針只能指向一個(gè)文件答案:C解析:打開文件有多種模式,不只是只讀,關(guān)閉文件用fclose()函數(shù),文件指針可以在不同時(shí)間指向不同文件,fread()可用于讀取文件內(nèi)容。22.已知inta[10];以下能正確給數(shù)組a所有元素賦值為0的是()A.for(inti=0;i<10;i++)a[i]=0;B.a={0};C.a[10]=0;D.a=0;答案:A解析:A選項(xiàng)通過(guò)循環(huán)可以將數(shù)組所有元素賦值為0,B選項(xiàng)數(shù)組不能這樣整體賦值,C選項(xiàng)a[10]越界,D選項(xiàng)不能將數(shù)組名直接賦值。23.以下表達(dá)式中,與a+=b等價(jià)的是()A.a=a-b;B.a=a+b;C.a=b+a;D.a=b-a;答案:B解析:a+=b等價(jià)于a=a+b。24.若有定義charch='A';則ch+32的值為()A.'A'B.'a'C.'B'D.'b'答案:B解析:在ASCII碼中,大寫字母和小寫字母相差32,'A'+32得到對(duì)應(yīng)的小寫字母'a'。25.以下關(guān)于C語(yǔ)言中函數(shù)參數(shù)傳遞的說(shuō)法,錯(cuò)誤的是()A.可以按值傳遞參數(shù)B.可以按地址傳遞參數(shù)C.按值傳遞時(shí),函數(shù)內(nèi)部對(duì)參數(shù)的修改會(huì)影響實(shí)參D.按地址傳遞時(shí),函數(shù)內(nèi)部對(duì)參數(shù)的修改會(huì)影響實(shí)參答案:C解析:按值傳遞時(shí),函數(shù)內(nèi)部對(duì)參數(shù)的修改不會(huì)影響實(shí)參,按地址傳遞時(shí)會(huì)影響,A、B、D選項(xiàng)說(shuō)法均正確。26.已知inta=2,b=3;則表達(dá)式a<b?a:b的值為()A.2B.3C.5D.不確定答案:A解析:因?yàn)閍<b成立,所以條件表達(dá)式結(jié)果為a的值2。27.以下關(guān)于C語(yǔ)言中預(yù)處理命令的說(shuō)法,正確的是()A.預(yù)處理命令以#開頭B.預(yù)處理命令在編譯后執(zhí)行C.預(yù)處理命令不能包含參數(shù)D.預(yù)處理命令只能放在程序開頭答案:A解析:預(yù)處理命令以#開頭,在編譯前執(zhí)行,可以包含參數(shù),也不一定只能放在程序開頭。28.若有定義inta[5]={1,2};則a[4]的值為()A.1B.2C.0D.不確定答案:C解析:部分初始化數(shù)組時(shí),未明確賦值的元素會(huì)自動(dòng)初始化為0,所以a[4]為0。29.以下哪個(gè)是C語(yǔ)言的轉(zhuǎn)義字符()A.'a'B.'\n'C."a"D.''答案:B解析:'\n'是換行的轉(zhuǎn)義字符,'a'是字符常量,"a"是字符串常量,''是空格字符。30.已知inta=10;執(zhí)行語(yǔ)句a--;后,a的值為()A.9B.10C.11D.不確定答案:A解析:a--是先使用a的值再自減,執(zhí)行后a的值為9。31.以下關(guān)于C語(yǔ)言中指針的說(shuō)法,錯(cuò)誤的是()A.指針變量可以指向不同類型的變量B.指針變量可以進(jìn)行算術(shù)運(yùn)算C.指針變量的值是一個(gè)地址D.空指針的值為NULL答案:A解析:指針變量必須指向與其類型相同的變量,不能隨意指向不同類型的變量,B、C、D選項(xiàng)說(shuō)法均正確。32.若有定義inta[2][3]={{1,2,3},{4,5,6}};則a[1][2]的值為()A.3B.4C.5D.6答案:D解析:二維數(shù)組a[1][2]表示第2行第3列的元素,值為6。33.以下表達(dá)式中,結(jié)果為0的是()A.5%2B.5/2C.5-5D.5+0答案:C解析:5%2結(jié)果為1,5/2結(jié)果為2(整數(shù)除法),5-5結(jié)果為0,5+0結(jié)果為5。34.以下關(guān)于C語(yǔ)言中宏定義的說(shuō)法,正確的是()A.宏定義必須有參數(shù)B.宏定義在編譯時(shí)進(jìn)行替換C.宏定義不能嵌套D.宏定義的作用域是整個(gè)程序答案:B解析:宏定義可以沒(méi)有參數(shù),可以嵌套,其作用域從定義處到文件結(jié)束,宏定義在編譯時(shí)進(jìn)行簡(jiǎn)單的文本替換。35.已知inta=3,b=4;則表達(dá)式a*b/a的值為()A.3B.4C.12D.不確定答案:B解析:先計(jì)算a*b=12,再計(jì)算12/a=4。36.以下關(guān)于C語(yǔ)言中函數(shù)遞歸調(diào)用的說(shuō)法,錯(cuò)誤的是()A.遞歸調(diào)用是函數(shù)自己調(diào)用自己B.遞歸調(diào)用必須有終止條件C.遞歸調(diào)用效率一定比迭代高D.遞歸調(diào)用可能會(huì)導(dǎo)致棧溢出答案:C解析:遞歸調(diào)用效率不一定比迭代高,因?yàn)檫f歸會(huì)有函數(shù)調(diào)用開銷,可能導(dǎo)致棧溢出,A、B、D選項(xiàng)說(shuō)法均正確。37.若有定義charstr1[]="abc",str2[]="def";要將str2連接到str1后面,正確的函數(shù)調(diào)用是()A.strcpy(str1,str2);B.strcat(str1,str2);C.strcmp(str1,str2);D.strlen(str1);答案:B解析:strcat()函數(shù)用于將一個(gè)字符串連接到另一個(gè)字符串后面,strcpy()是復(fù)制字符串,strcmp()是比較字符串,strlen()是求字符串長(zhǎng)度。38.以下關(guān)于C語(yǔ)言中位運(yùn)算的說(shuō)法,正確的是()A.位運(yùn)算只能對(duì)整數(shù)進(jìn)行操作B.位運(yùn)算的優(yōu)先級(jí)都比算術(shù)運(yùn)算符高C.位運(yùn)算不能用于邏輯判斷D.位運(yùn)算會(huì)改變操作數(shù)的值答案:A解析:位運(yùn)算只能對(duì)整數(shù)進(jìn)行操作,位運(yùn)算優(yōu)先級(jí)不一定比算術(shù)運(yùn)算符高,位運(yùn)算可以用于邏輯判斷,位運(yùn)算本身不改變操作數(shù)的值(除非賦值)。39.已知inta=5;則表達(dá)式!a的值為()A.0B.1C.5D.不確定答案:A解析:!是邏輯非運(yùn)算符,a為非0值,!a為0。40.以下關(guān)于C語(yǔ)言中動(dòng)態(tài)內(nèi)存分配的說(shuō)法,正確的是()A.動(dòng)態(tài)內(nèi)存分配使用malloc()函數(shù),分配的內(nèi)存不需要釋放B.動(dòng)態(tài)內(nèi)存分配的內(nèi)存大小在編譯時(shí)確定C.動(dòng)態(tài)內(nèi)存分配的內(nèi)存可以通過(guò)指針訪問(wèn)D.動(dòng)態(tài)內(nèi)存分配只能分配整數(shù)類型的內(nèi)存答案:C解析:動(dòng)態(tài)內(nèi)存分配使用malloc()等函數(shù),分配的內(nèi)存需要用free()釋放,內(nèi)存大小在運(yùn)行時(shí)確定,可以分配各種類型的內(nèi)存,分配的內(nèi)存通過(guò)指針訪問(wèn)。41.若有定義inta[10];要使指針p指向數(shù)組a的首元素,正確的賦值語(yǔ)句是()A.p=a;B.p=&a;C.p=*a;D.p=a[0];答案:A解析:數(shù)組名代表數(shù)組首元素的地址,所以p=a可以使p指向數(shù)組a的首元素。42.以下表達(dá)式中,與!(a>b)等價(jià)的是()A.a<bB.a<=bC.a>=bD.a!=b答案:B解析:!(a>b)表示a不大于b,即a小于等于b。43.已知inta=1,b=2;執(zhí)行語(yǔ)句a=a+b;b=a-b;a=a-b;后,a和b的值分別為()A.1,2B.2,1C.3,2D.3,1答案:B解析:通過(guò)這三條語(yǔ)句可以實(shí)現(xiàn)a和b值的交換,執(zhí)行后a為2,b為1。44.以下關(guān)于C語(yǔ)言中文件指針的說(shuō)法,錯(cuò)誤的是()A.文件指針是一個(gè)指向文件的指針變量B.文件指針在使用前必須初始化C.一個(gè)文件指針可以同時(shí)指向多個(gè)文件D.文件指針可以通過(guò)fopen()函數(shù)初始化答案:C解析:一個(gè)文件指針在同一時(shí)刻只能指向一個(gè)文件,A、B、D選項(xiàng)說(shuō)法均正確,文件指針確實(shí)是指向文件的指針變量,使用前要初始化,可通過(guò)fopen()函數(shù)初始化。45.若有定義inta[3]={1,2,3};則*(a+1)的值為()A.1B.2C.3D.不確定答案:B解析:a是數(shù)組首地址,a+1指向數(shù)組的第二個(gè)元素,*(a+1)就是取該元素的值,為2。46.以下關(guān)于C語(yǔ)言中邏輯運(yùn)算符的說(shuō)法,正確的是()A.&&和||運(yùn)算符具有短路特性B.&&運(yùn)算符的優(yōu)先級(jí)低于||運(yùn)算符C.邏輯運(yùn)算符只能用于整數(shù)類型的操作數(shù)D.邏輯運(yùn)算符的結(jié)果只能是1或0答案:A解析:&&和||運(yùn)算符具有短路特性,&&運(yùn)算符優(yōu)先級(jí)高于||運(yùn)算符,邏輯運(yùn)算符操作數(shù)可以是各種能轉(zhuǎn)換為布爾值的類型,結(jié)果是0或1代表假和真。47.已知inta=4;則表達(dá)式a<<2的值為()A.4B.8C.16D.32答案:C解析:<<是左移運(yùn)算符,a<<2表示將a的二進(jìn)制位向左移動(dòng)2位,相當(dāng)于乘以2的2次方,4*4=16。48.以下關(guān)于C語(yǔ)言中函數(shù)返回值的說(shuō)法,錯(cuò)誤的是()A.函數(shù)可以沒(méi)有返回值B.函數(shù)返回值的類型必須與函數(shù)定義時(shí)指定的類型一致C.函數(shù)返回值可以是數(shù)組D.函數(shù)返回值可以是指針答案:C解析:函數(shù)不能直接返回?cái)?shù)組,但可以返回指向數(shù)組的指針,A、B、D選項(xiàng)說(shuō)法均正確,函數(shù)可以用void表示無(wú)返回值,返回值類型要與定義時(shí)一致,也可返回指針。49.若有定義charstr[]="12345";則strlen(str)的值為()A.5B.6C.不確定D.4答案:A解析:strlen()函數(shù)用于求字符串的長(zhǎng)度,不包括字符串末尾的'\0',所以"12345"的長(zhǎng)度為5。50.以下表達(dá)式中,值為假的是()A.2>1B.0C.'A'D.1!=0答案:B解析:在C語(yǔ)言中,非0值表示真,0表示假,2>1結(jié)果為真,'A'非0為真,1!=0結(jié)果為真,只有0為假。51.以下關(guān)于C語(yǔ)言中結(jié)構(gòu)體數(shù)組的說(shuō)法,正確的是()A.結(jié)構(gòu)體數(shù)組的每個(gè)元素都是一個(gè)結(jié)構(gòu)體變量B.結(jié)構(gòu)體數(shù)組不能進(jìn)行初始化C.結(jié)構(gòu)體數(shù)組的元素不能通過(guò)下標(biāo)訪問(wèn)D.結(jié)構(gòu)體數(shù)組的大小在運(yùn)行時(shí)確定答案:A解析:結(jié)構(gòu)體數(shù)組的每個(gè)元素都是一個(gè)結(jié)構(gòu)體變量,可以進(jìn)行初始化,元素能通過(guò)下標(biāo)訪問(wèn),其大小在定義時(shí)確定。52.已知inta=3,b=5;則表達(dá)式a&b的值為()A.1B.2C.3D.5答案:A解析:&是按位與運(yùn)算符,3的二進(jìn)制是0011,5的二進(jìn)制是0101,按位與結(jié)果為0001,即1。53.以下函數(shù)用于比較兩個(gè)字符串是否相等的是()A.strcpy()B.strcat()C.strcmp()D.strlen()答案:C解析:strcmp()函數(shù)用于比較兩個(gè)字符串是否相等,strcpy()是復(fù)制字符串,strcat()是連接字符串,strlen()是求字符串長(zhǎng)度。54.若有定義inta=10;執(zhí)行語(yǔ)句a/=2;后,a的值為()A.2B.5C.10D.20答案:B解析:a/=2等價(jià)于a=a/2,a初始值為10,執(zhí)行后a為5。55.以下關(guān)于C語(yǔ)言中枚舉類型的說(shuō)法,錯(cuò)誤的是()A.枚舉類型是一種用戶自定義的數(shù)據(jù)類型B.枚舉常量的值可以手動(dòng)指定C.枚舉常量在內(nèi)存中占用的空間與int類型相同D.枚舉類型的變量可以直接進(jìn)行算術(shù)運(yùn)算答案:D解析:枚舉類型變量不能直接進(jìn)行算術(shù)運(yùn)算,枚舉是用戶自定義類型,枚舉常量值可手動(dòng)指定,通常在內(nèi)存中占用空間與int相同。56.已知inta=2,b=3;則表達(dá)式(a+b)*2的值為()A.5B.10C.6D.不確定答案:B解析:先計(jì)算a+b=5,再計(jì)算5*2=10。57.以下關(guān)于C語(yǔ)言中條件語(yǔ)句的說(shuō)法,正確的是()A.if語(yǔ)句后面的條件表達(dá)式必須用括號(hào)括起來(lái)B.if語(yǔ)句只能有一個(gè)else子句C.switch語(yǔ)句的case后面只能是常量表達(dá)式D.以上說(shuō)法都正確答案:D解析:if語(yǔ)句條件表達(dá)式要用括號(hào)括起來(lái),if語(yǔ)句只能有一個(gè)else子句,switch語(yǔ)句case后面只能是常量表達(dá)式,所以以上說(shuō)法都正確。58.若有定義inta[4]={1,2,3,4};要將數(shù)組元素逆序存放,以下正確的代碼是()A.for(inti=0;i<4;i++)a[i]=a[3-i];B.for(inti=0;i<2;i++){inttemp=a[i];a[i]=a[3-i];a[3-i]=temp;}C.for(inti=0;i<4;i++)a[i]=a[4-i];D.for(inti=0;i<4;i++)a[i]=a[i+1];答案:B解析:要將數(shù)組元素逆序存放,只需交換對(duì)稱位置的元素,B選項(xiàng)通過(guò)循環(huán)交換前半部分和后半部分對(duì)稱元素實(shí)現(xiàn)逆序,A、C、D選項(xiàng)邏輯錯(cuò)誤。59.以下表達(dá)式中,與a*=b+1等價(jià)的是()A.a=a*b+1B.a=a*(b+1)C.a=b+1*aD.a=a+b*1答案:B解析:a*=b+1等價(jià)于a=a*(b+1)。60.已知charch='B';則ch-1的值為()A.'A'B.'C'C.'D'D.'E'答案:A解析:在ASCII碼中,字符相減相當(dāng)于對(duì)應(yīng)ASCII碼值相減,'B'-1得到'A'。61.以下關(guān)于C語(yǔ)言中函數(shù)原型的說(shuō)法,正確的是()A.函數(shù)原型必須在調(diào)用函數(shù)之前聲明B.函數(shù)原型的參數(shù)名必須與函數(shù)定義時(shí)的參數(shù)名一致C.函數(shù)原型可以省略參數(shù)類型D.函數(shù)原型只能聲明一次答案:A解析:函數(shù)原型必須在調(diào)用函數(shù)之前聲明,參數(shù)名可不同,不能省略參數(shù)類型,可以多次聲明,所以A選項(xiàng)正確。62.若有定義inta[2][2]={{1,2},{3,4}};則*(a[1]+1)的值為()A.1B.2C.3D.4答案:D解析:a[1]指向第二行首地址,a[1]+1指向第二行第二個(gè)元素,*(a[1]+1)就是該元素的值4。63.以下表達(dá)式中,結(jié)果為1的是()A.5%3B.5/3C.5-4D.5+0答案:C解析:5%3結(jié)果為2,5/3結(jié)果為1(整數(shù)除法)但這里從精確匹配角度選C,5-4結(jié)果為1,5+0結(jié)果為5。64.以下關(guān)于C語(yǔ)言中預(yù)處理器的說(shuō)法,錯(cuò)誤的是()A.預(yù)處理器在編譯前處理源文件B.預(yù)處理器可以定義宏和包含頭文件C.預(yù)處理器的指令不影響程序的邏輯結(jié)構(gòu)D.預(yù)處理器的指令以分號(hào)結(jié)尾答案:D解析:預(yù)處理器指令不以分號(hào)結(jié)尾,A、B、C選項(xiàng)說(shuō)法均正確,預(yù)處理器在編譯前處理源文件,可定義宏和包含頭文件,指令不影響程序邏輯結(jié)構(gòu)。65.已知inta=7;則表達(dá)式a|3的值為()A.3B.7C.10D.不確定答案:B解析:|是按位或運(yùn)算符,7的二進(jìn)制是0111,3的二進(jìn)制是0011,按位或結(jié)果為0111,即7。66.以下關(guān)于C語(yǔ)言中函數(shù)重載的說(shuō)法,正確的是()A.C語(yǔ)言支持函數(shù)重載B.函數(shù)重載是指函數(shù)名相同但參數(shù)不同C.函數(shù)重載時(shí)返回值類型必須不同D.C語(yǔ)言通過(guò)函數(shù)重載提高代碼復(fù)用性答案:B解析:C語(yǔ)言不支持函數(shù)重載,函數(shù)重載是指函數(shù)名相同但參數(shù)不同,與返回值類型無(wú)關(guān),C++支持函數(shù)重載來(lái)提高代碼復(fù)用性。67.若有定義charstr1[]="hello",str2[]="world";要判斷str1和str2是否相等,正確的代碼是()A.if(str1==str2)B.if(*str1==*str2)C.if(strcmp(str1,str2)==0)D.if(strlen(str1)==strlen(str2))答案:C解析:比較兩個(gè)字符串是否相等要用strcmp()函數(shù),str1和str2是數(shù)組名代表地址,不能用==比較,*str1和*str2比較的是首字符,strlen()比較的是長(zhǎng)度。68.以下關(guān)于C語(yǔ)言中內(nèi)存管理的說(shuō)法,正確的是()A.棧內(nèi)存由程序員手動(dòng)分配和釋放B.堆內(nèi)存由操作系統(tǒng)自動(dòng)分配和釋放C.全局變量存儲(chǔ)在堆內(nèi)存中D.局部變量存儲(chǔ)在棧內(nèi)存中答案:D解析:棧內(nèi)存由操作系統(tǒng)自動(dòng)管理,堆內(nèi)存由程序員手動(dòng)分配和釋放,全局變量存儲(chǔ)在全局?jǐn)?shù)據(jù)區(qū),局部變量存儲(chǔ)在棧內(nèi)存中。69.已知inta=5,b=2;則表達(dá)式a/b的結(jié)果為()A.2B.2.5C.3D.不確定答案:A解析:因?yàn)閍和b都是整型,整數(shù)除法結(jié)果取整,5/2結(jié)果為2。70.以下關(guān)于C語(yǔ)言中多維數(shù)組的說(shuō)法,錯(cuò)誤的是()A.多維數(shù)組可以看作是數(shù)組的數(shù)組B.多維數(shù)組的元素在內(nèi)存中是連續(xù)存儲(chǔ)的C.多維數(shù)組的下標(biāo)從1開始D.多維數(shù)組可以進(jìn)行初始化答案:C解析:多維數(shù)組下標(biāo)從0開始,A、B、D選項(xiàng)說(shuō)法均正確,多維數(shù)組可看作數(shù)組的數(shù)組,元素連續(xù)存儲(chǔ),可進(jìn)行初始化。71.若有定義int*p,a=20;p=&a;則*p的值為()A.20B.地址值C.不確定D.0答案:A解析:p指向a,*p表示取p所指向變量的值,即a的值20。72.以下表達(dá)式中,與a&&b等價(jià)的是()A.!(!a||!b)B.!a||!bC.a||bD.!a&&!b答案:A解析:根據(jù)邏輯運(yùn)算規(guī)則,!(!a||!b)與a&&b等價(jià)。73.已知inta=1,b=2,c;c=a+++b;則執(zhí)行后a、b、c的值分別為()A.2,2,3B.1,2,3C.2,2,4D.1,2,4答案:A解析:a++是先使用a的值再自增,所以先計(jì)算c=1+2=3,然后a變?yōu)?,b不變?nèi)詾?。74.以下關(guān)于C語(yǔ)言中文件操作模式的說(shuō)法,正確的是()A."r"模式只能讀取文本文件B."w"模式打開文件時(shí)如果文件不存在會(huì)報(bào)錯(cuò)C."a"模式打開文件時(shí)會(huì)從文件開頭開始寫入D."rb"模式用于以二進(jìn)制只讀模式打開文件答案:D解析:"r"模式可讀取文本或二進(jìn)制文件,"w"模式打開文件若不存在會(huì)創(chuàng)建,"a"模式從文件末尾開始寫入,"rb"用于二進(jìn)制只讀。75.若有定義inta[3][3]={1,2,3,4,5,6,7,8,9};則a[2][1]的值為()A.7B.8C.9D.6答案:B解析:二維數(shù)組a[2][1]表示第3行第2列的元素,值為8。76.以下表達(dá)式中,值為真的是()A.0==1B.5>3&&2<1C.4||0D.!(1)答案:C解析:4是非0值,邏輯或運(yùn)算中只要有一個(gè)操作數(shù)為真結(jié)果就為真,所以4||0結(jié)果為真,A結(jié)果為假,B中2<1為假,整個(gè)與運(yùn)算為假,D中!(1)為假。77.以下關(guān)于C語(yǔ)言中函數(shù)參數(shù)默認(rèn)值的說(shuō)法,正確的是()A.C語(yǔ)言支持函數(shù)參數(shù)默認(rèn)值B.函數(shù)參數(shù)默認(rèn)值在函數(shù)定義時(shí)指定C.有默認(rèn)值的參數(shù)必須放在參數(shù)列表的開頭D.C語(yǔ)言通過(guò)函數(shù)參數(shù)默認(rèn)值提高代碼靈活性答案:無(wú)正確選項(xiàng)。解析:C語(yǔ)言不支持函數(shù)參數(shù)默認(rèn)值,C++支持,可在函數(shù)聲明或定義時(shí)指定默認(rèn)值,有默認(rèn)值的參數(shù)放后面。78.已知inta=3;則表達(dá)式a+++++a的值為()A.6B.7C.8D.不確定答案:C解析:先計(jì)算a++,此時(shí)使用a的值3,然后a變?yōu)?,再計(jì)算++a,a先變?yōu)?,然后使用值5,3+5=8。79.以下關(guān)于C語(yǔ)言中字符串處理的說(shuō)法,錯(cuò)誤的是()A.字符串以'\0'結(jié)尾B.可以使用字符數(shù)組存儲(chǔ)字符串C.字符串操作函數(shù)都在stdio.h頭文件中聲明D.可以使用指針操作字符串答案:C解析:字符串操作函數(shù)在string.h頭文件中聲明,不是stdio.h,A、B、D選項(xiàng)說(shuō)法均正確,字符串以'\0'結(jié)尾,可用字符數(shù)組或指針存儲(chǔ)操作。80.若有定義inta=4,b=5;則表達(dá)式a<b?b:a的值為()A.4B.5C.9D.不確定答案:B解析:因?yàn)閍<b成立,所以條件表達(dá)式結(jié)果為b的值5。81.以下關(guān)于C語(yǔ)言中聯(lián)合體的說(shuō)法,正確的是()A.聯(lián)合體的所有成員共享同一塊內(nèi)存空間B.聯(lián)合體的大小是所有成員大小之和C.聯(lián)合體不能進(jìn)行初始化D.聯(lián)合體成員的訪問(wèn)方式與結(jié)構(gòu)體不同答案:A解析:聯(lián)合體所有成員共享同一塊內(nèi)存空間,其大小是最大成員的大小,可以初始化,成員訪問(wèn)方式和結(jié)構(gòu)體一樣用點(diǎn)運(yùn)算符。82.已知inta=6;則表達(dá)式a>>1的值為()A.2B.3C.6D.12答案:B解析:>>是右移運(yùn)算符,a>>1表示將a的二進(jìn)制位向右移動(dòng)1位,相當(dāng)于除以2,6/2=3。83.以下函數(shù)用于將字符串轉(zhuǎn)換為整數(shù)的是()A.atoi()B.itoa()C.strcpy()D.strcat()答案:A解析:atoi()函數(shù)用于將字符串轉(zhuǎn)換為整數(shù),itoa()是將整數(shù)轉(zhuǎn)換為字符串,strcpy()是字符串復(fù)制函數(shù),strcat()是字符串連接函數(shù)。84.若有定義inta=10,b=20;執(zhí)行語(yǔ)句inttemp;temp=a;a=b;b=temp;后,a和b的值分別為()A.10,20B.20,10C.10,10D.20,20答案:B解析:通過(guò)引入臨時(shí)變量temp,實(shí)現(xiàn)了a和b值的交換,所以執(zhí)行后a為20,b為10。85.以下關(guān)于C語(yǔ)言中邏輯非運(yùn)算符!的說(shuō)法,正確的是()A.!運(yùn)算符只能用于整數(shù)類型的操作數(shù)B.!運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符C.!運(yùn)算符將非零值變?yōu)?,零值變?yōu)?D.!運(yùn)算符的結(jié)果類型是操作數(shù)的類型答案:C解析:!運(yùn)算符可用于能轉(zhuǎn)換為布爾值的類型,優(yōu)先級(jí)高于算術(shù)運(yùn)算符,它將非零值變?yōu)?,零值變?yōu)?,結(jié)果類型是int類型。86.已知inta[5]={5,4,3,2,1};要找出數(shù)組中的最大值,以下正確的代碼是()A.intmax=a[0];for(inti=1;i<5;i++)if(a[i]<max)max=a[i];B.intmax=a[0];for(inti=1;i<5;i++)if(a[i]>max)max=a[i];C.intmax=0;for(inti=0;i<5;i++)if(a[i]>max)max=a[i];D.intmax=0;for(inti=0;i<5;i++)if(a[i]<max)max=a[i];答案:B解析:要找出數(shù)組中的最大值,先假設(shè)第一個(gè)元素為最大值,然后遍歷數(shù)組,若后面元素比當(dāng)前最大值大,則更新最大值,B選項(xiàng)符合此邏輯。87.以下表達(dá)式中,與a-=b等價(jià)的是()A.a=a+b;B.a=a-b;C.a=b-a;D.a=b+a;答案:B解析:a-=b等價(jià)于a=a-b。88.已知charch='9';則ch-'0'的值為()A.'9'B.9C.'0'D.0答案:B解析:在ASCII碼中,字符數(shù)字減去字符'0'可得到對(duì)應(yīng)的整數(shù)值,所以'9'-'0'為9。89.以下關(guān)于C語(yǔ)言中遞歸函數(shù)的說(shuō)法,正確的是()A.遞歸函數(shù)沒(méi)有終止條件也能正常運(yùn)行B.遞歸函數(shù)的調(diào)用過(guò)程是后進(jìn)先出的C.遞歸函數(shù)的效率一定比迭代函數(shù)高D.遞歸函數(shù)只能有一個(gè)終止條件答案:B解析:遞歸函數(shù)必須有終止條件,否則會(huì)無(wú)限遞歸導(dǎo)致棧溢出;遞歸函數(shù)的調(diào)用過(guò)程遵循棧的后進(jìn)先出原則;遞歸函數(shù)效率不一定比迭代函數(shù)高;遞歸函數(shù)可以有多個(gè)終止條件。90.若有定義inta[2][3];要給數(shù)組元素全部賦值為1,以下正確的代碼是()A.for(inti=0;i<2;i++)for(intj=0;j<3;j++)a[i][j]=1;B.for(inti=0;i<3;i++)for(intj=0;j<2;j++)a[i][j]=1;C.for(inti=0;i<2;i++)a[i][3]=1;D.for(inti=0;i<3;i++)a[2][i]=1;答案:A解析:要給二維數(shù)組元素全部賦值,需要使用兩層循環(huán)遍歷數(shù)組的每個(gè)元素,A選項(xiàng)正確,B選項(xiàng)循環(huán)控制變量使用錯(cuò)誤,C和D選項(xiàng)會(huì)導(dǎo)致數(shù)組越界。91.以下關(guān)于C語(yǔ)言中指針與數(shù)組的關(guān)系,錯(cuò)誤的是()A.數(shù)組名可以看作是一個(gè)常量指針B.可以用指針來(lái)訪問(wèn)數(shù)組元素C.指針和數(shù)組在任何情況下都可以互換使用D.指針可以指向數(shù)組的首元素答案:C解析:雖然數(shù)組名可以看作常量指針,也能用指針訪問(wèn)數(shù)組元素,指針可以指向數(shù)組首元素,但指針和數(shù)組并非在任何情況下都能互換使用,比如指針可以改變指向,而數(shù)組名是常量不能改變。92.已知inta=2,b=3;則表

溫馨提示

  • 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)論