版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)二級c語言操作題100道及答案1.以下哪個(gè)是正確的C語言標(biāo)識(shí)符?A.2variableB._variableC.variable$D.for答案:B。解析:C語言標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,且不能以數(shù)字開頭,同時(shí)不能是關(guān)鍵字,“for”是關(guān)鍵字,“2variable”以數(shù)字開頭,“variable$”含非法字符,“_variable”符合規(guī)則。2.若有定義inta=5;則執(zhí)行語句a+=a-=a*a;后,a的值是?A.-40B.-15C.15D.40答案:A。解析:根據(jù)運(yùn)算符優(yōu)先級,先算a*a為25,再算a-=25,此時(shí)a為-20,最后算a+=-20,結(jié)果a為-40。3.下面哪個(gè)語句可以正確地交換兩個(gè)變量的值(假設(shè)變量為x和y)?A.x=y;y=x;B.temp=x;x=y;y=temp;C.x=x+y;y=x-y;x=x-y;D.以上都不對答案:B。解析:A選項(xiàng)會(huì)使x和y值相同;C選項(xiàng)在x和y值很大時(shí)可能溢出;B選項(xiàng)借助中間變量temp能正確交換。4.以下關(guān)于C語言中while循環(huán)和do-while循環(huán)的說法,正確的是?A.while循環(huán)先執(zhí)行循環(huán)體,再判斷條件B.do-while循環(huán)先判斷條件,再執(zhí)行循環(huán)體C.while循環(huán)至少執(zhí)行一次循環(huán)體D.do-while循環(huán)至少執(zhí)行一次循環(huán)體答案:D。解析:while循環(huán)先判斷條件,條件為真才執(zhí)行循環(huán)體,可能一次都不執(zhí)行;do-while循環(huán)先執(zhí)行循環(huán)體,再判斷條件,至少執(zhí)行一次。5.若有數(shù)組定義intarr[5]={1,2,3,4,5};則arr[2]的值是?A.1B.2C.3D.4答案:C。解析:數(shù)組下標(biāo)從0開始,arr[2]表示數(shù)組的第3個(gè)元素,值為3。6.以下關(guān)于函數(shù)調(diào)用的說法,錯(cuò)誤的是?A.函數(shù)可以嵌套調(diào)用B.函數(shù)調(diào)用時(shí),實(shí)參和形參的類型必須一致C.函數(shù)調(diào)用可以作為表達(dá)式的一部分D.函數(shù)調(diào)用時(shí),實(shí)參和形參的個(gè)數(shù)可以不同答案:D。解析:函數(shù)調(diào)用時(shí),實(shí)參和形參個(gè)數(shù)必須相同,類型要兼容;函數(shù)可嵌套調(diào)用,調(diào)用也可作為表達(dá)式一部分。7.若有指針定義int*p;inta=10;p=&a;則*p的值是?A.指針p的地址B.變量a的地址C.10D.以上都不對答案:C。解析:*p是指針p所指向變量的值,p指向a,所以*p為a的值10。8.以下關(guān)于結(jié)構(gòu)體的說法,正確的是?A.結(jié)構(gòu)體成員只能是基本數(shù)據(jù)類型B.結(jié)構(gòu)體變量不能作為函數(shù)參數(shù)C.結(jié)構(gòu)體可以嵌套定義D.結(jié)構(gòu)體不能包含數(shù)組答案:C。解析:結(jié)構(gòu)體成員可以是基本數(shù)據(jù)類型、數(shù)組、指針、其他結(jié)構(gòu)體等;結(jié)構(gòu)體變量能作為函數(shù)參數(shù);結(jié)構(gòu)體可以嵌套定義。9.以下哪個(gè)是C語言中合法的字符常量?A.'abc'B."a"C.'\n'D.'123'答案:C。解析:字符常量是用單引號(hào)括起來的單個(gè)字符或轉(zhuǎn)義字符,“abc”和“123”不符合;“a”是字符串常量,“\n”是轉(zhuǎn)義字符表示換行,是合法字符常量。10.若有語句inta=3,b=4;doublec=(double)a/b;則c的值是?A.0B.0.75C.1D.以上都不對答案:B。解析:先將a強(qiáng)制轉(zhuǎn)換為double類型,再進(jìn)行除法運(yùn)算,3.0/4結(jié)果為0.75。11.以下關(guān)于C語言中switch語句的說法,錯(cuò)誤的是?A.switch后面的表達(dá)式只能是整型或字符型B.case后面的常量表達(dá)式可以是變量C.每個(gè)case分支可以有多條語句,不需要用花括號(hào)括起來D.可以使用default分支處理未匹配的情況答案:B。解析:case后面的常量表達(dá)式必須是常量,不能是變量;switch后表達(dá)式一般是整型或字符型;每個(gè)case分支多條語句可不加花括號(hào);可用default處理未匹配情況。12.若有數(shù)組定義charstr[]="hello";則str數(shù)組的長度是?A.5B.6C.不確定D.以上都不對答案:B。解析:字符串"hello"末尾有一個(gè)隱藏的'\0'結(jié)束符,所以數(shù)組長度為6。13.以下關(guān)于函數(shù)返回值的說法,正確的是?A.函數(shù)必須有返回值B.函數(shù)返回值的類型可以和函數(shù)定義時(shí)指定的類型不同C.函數(shù)可以沒有返回值,用void表示D.函數(shù)返回值只能是基本數(shù)據(jù)類型答案:C。解析:函數(shù)可以沒有返回值,用void表示;函數(shù)返回值類型要和定義時(shí)指定類型一致;返回值可以是基本數(shù)據(jù)類型、指針、結(jié)構(gòu)體等。14.若有指針定義char*s="world";則s指向的是?A.字符'w'的地址B.字符串"world"的地址C.字符數(shù)組D.以上都不對答案:A。解析:指針s指向字符串常量"world"的首字符'w'的地址。15.以下關(guān)于文件操作的說法,錯(cuò)誤的是?A.fopen函數(shù)用于打開文件B.fclose函數(shù)用于關(guān)閉文件C.文件操作完成后不需要關(guān)閉文件D.可以使用fscanf函數(shù)從文件中讀取數(shù)據(jù)答案:C。解析:文件操作完成后必須用fclose函數(shù)關(guān)閉文件,防止數(shù)據(jù)丟失或損壞;fopen用于打開文件,fscanf用于從文件讀數(shù)據(jù)。16.若有定義inta[3][4];則對數(shù)組元素a[1][2]的正確引用是?A.*(a[1]+2)B.*(a+1)+2C.*(*(a+1)+2)D.以上都不對答案:C。解析:a是二維數(shù)組名,a+1指向第二行首地址,*(a+1)指向第二行第一個(gè)元素,*(a+1)+2指向第二行第三個(gè)元素,*(*(a+1)+2)就是該元素的值。17.以下關(guān)于遞歸函數(shù)的說法,正確的是?A.遞歸函數(shù)不能有終止條件B.遞歸函數(shù)效率一定比迭代函數(shù)高C.遞歸函數(shù)是指函數(shù)自己調(diào)用自己D.遞歸函數(shù)只能處理簡單問題答案:C。解析:遞歸函數(shù)是自己調(diào)用自己,必須有終止條件,否則會(huì)無限遞歸;遞歸函數(shù)效率不一定比迭代函數(shù)高,也能處理復(fù)雜問題。18.若有語句inta=5,b=3;printf("%d",a>b?a:b);則輸出結(jié)果是?A.3B.5C.不確定D.以上都不對答案:B。解析:這是三目運(yùn)算符,a>b為真,取a的值輸出,即5。19.以下關(guān)于宏定義的說法,錯(cuò)誤的是?A.宏定義是在編譯時(shí)進(jìn)行替換的B.宏定義可以帶參數(shù)C.宏定義不能嵌套D.宏定義沒有類型檢查答案:C。解析:宏定義可以嵌套,在編譯時(shí)進(jìn)行替換,可帶參數(shù),且沒有類型檢查。20.若有定義int*p,a[5]={1,2,3,4,5};p=a;則*(p+3)的值是?A.1B.2C.4D.5答案:C。解析:p指向數(shù)組a首地址,p+3指向數(shù)組第4個(gè)元素,*(p+3)就是該元素的值4。21.以下關(guān)于位運(yùn)算的說法,正確的是?A.位運(yùn)算只能對整型數(shù)據(jù)進(jìn)行操作B.位運(yùn)算的優(yōu)先級都高于算術(shù)運(yùn)算C.位運(yùn)算不能用于邏輯判斷D.位運(yùn)算的結(jié)果一定是負(fù)數(shù)答案:A。解析:位運(yùn)算主要用于整型數(shù)據(jù);位運(yùn)算優(yōu)先級低于算術(shù)運(yùn)算;位運(yùn)算可用于邏輯判斷;結(jié)果不一定是負(fù)數(shù)。22.若有語句inta=10;a<<=2;則a的值是?A.20B.40C.5D.以上都不對答案:B。解析:a<<=2表示將a左移2位,相當(dāng)于乘以2的2次方,10*4=40。23.以下關(guān)于函數(shù)聲明的說法,錯(cuò)誤的是?A.函數(shù)聲明可以省略形參名B.函數(shù)聲明必須在函數(shù)調(diào)用之前C.函數(shù)聲明可以在頭文件中進(jìn)行D.函數(shù)聲明和函數(shù)定義的格式必須完全相同答案:D。解析:函數(shù)聲明可省略形參名,要在調(diào)用前進(jìn)行,也可在頭文件中;聲明和定義格式不必完全相同,聲明可省略形參名。24.若有定義structstudent{charname[20];intage;}stu;則對stu的age成員賦值為20的正確語句是?A.stu.age=20;B.stu->age=20;C.*stu.age=20;D.以上都不對答案:A。解析:stu是結(jié)構(gòu)體變量,用“.”訪問成員,所以stu.age=20正確;“->”用于結(jié)構(gòu)體指針。25.以下關(guān)于C語言中字符串處理函數(shù)的說法,錯(cuò)誤的是?A.strlen函數(shù)用于計(jì)算字符串的長度B.strcpy函數(shù)用于復(fù)制字符串C.strcmp函數(shù)用于比較字符串大小D.strcat函數(shù)用于將兩個(gè)字符常量連接答案:D。解析:strcat函數(shù)用于將一個(gè)字符串連接到另一個(gè)字符串后面,不能直接連接兩個(gè)字符常量。26.若有定義inta=2,b=3;floatc;c=(float)a/b;則c的值是?A.0B.0.666667C.1D.以上都不對答案:B。解析:先將a強(qiáng)制轉(zhuǎn)換為float類型,2.0/3結(jié)果約為0.666667。27.以下關(guān)于循環(huán)嵌套的說法,正確的是?A.外層循環(huán)執(zhí)行一次,內(nèi)層循環(huán)執(zhí)行一次B.內(nèi)層循環(huán)執(zhí)行完畢,外層循環(huán)才會(huì)執(zhí)行下一次C.循環(huán)嵌套不能超過兩層D.循環(huán)嵌套時(shí),內(nèi)外層循環(huán)變量不能同名答案:B。解析:外層循環(huán)執(zhí)行一次,內(nèi)層循環(huán)執(zhí)行一輪;循環(huán)嵌套可以多層;內(nèi)外層循環(huán)變量可同名;內(nèi)層循環(huán)執(zhí)行完,外層循環(huán)才執(zhí)行下一次。28.若有數(shù)組定義intarr[3]={1,2};則arr[2]的值是?A.0B.1C.2D.不確定答案:A。解析:數(shù)組部分初始化,未初始化的元素自動(dòng)賦值為0,所以arr[2]為0。29.以下關(guān)于指針運(yùn)算的說法,錯(cuò)誤的是?A.指針可以進(jìn)行加法運(yùn)算B.指針可以進(jìn)行減法運(yùn)算C.指針可以進(jìn)行乘法運(yùn)算D.指針可以進(jìn)行比較運(yùn)算答案:C。解析:指針可以進(jìn)行加、減、比較運(yùn)算,但不能進(jìn)行乘法運(yùn)算。30.若有定義typedefstruct{intx;inty;}Point;則以下定義Point類型變量的正確語句是?A.structPointp;B.Pointp;C.typedefPointp;D.以上都不對答案:B。解析:使用typedef定義了新類型名Point,直接用Point定義變量即可。31.以下關(guān)于C語言中預(yù)處理指令的說法,正確的是?A.預(yù)處理指令必須以分號(hào)結(jié)尾B.預(yù)處理指令在編譯時(shí)執(zhí)行C.#include是預(yù)處理指令,用于包含頭文件D.預(yù)處理指令只能放在文件開頭答案:C。解析:預(yù)處理指令不以分號(hào)結(jié)尾,在編譯前執(zhí)行;#include用于包含頭文件;預(yù)處理指令不一定要放在文件開頭。32.若有語句inta=1,b=2;a^=b;b^=a;a^=b;則a和b的值分別是?A.1,2B.2,1C.3,3D.以上都不對答案:B。解析:這是利用異或運(yùn)算交換兩個(gè)變量的值,最終a為2,b為1。33.以下關(guān)于函數(shù)參數(shù)傳遞的說法,錯(cuò)誤的是?A.函數(shù)參數(shù)傳遞有值傳遞和地址傳遞B.值傳遞時(shí),形參的改變不會(huì)影響實(shí)參C.地址傳遞時(shí),形參的改變會(huì)影響實(shí)參D.函數(shù)參數(shù)傳遞只能是基本數(shù)據(jù)類型答案:D。解析:函數(shù)參數(shù)傳遞有值傳遞和地址傳遞;值傳遞形參改變不影響實(shí)參,地址傳遞會(huì)影響;傳遞的參數(shù)可以是基本數(shù)據(jù)類型、數(shù)組、指針、結(jié)構(gòu)體等。34.若有定義charstr1[10]="hello",str2[10];strcpy(str2,str1);則str2的值是?A."hello"B."h"C.不確定D.以上都不對答案:A。解析:strcpy函數(shù)將str1的內(nèi)容復(fù)制到str2,所以str2為"hello"。35.以下關(guān)于枚舉類型的說法,正確的是?A.枚舉類型的成員默認(rèn)從1開始編號(hào)B.枚舉類型的成員可以是字符串C.枚舉類型的成員是常量D.枚舉類型的成員可以是變量答案:C。解析:枚舉類型成員默認(rèn)從0開始編號(hào),成員是常量,不能是字符串或變量。36.若有定義inta[2][3]={{1,2,3},{4,5,6}};則a[1][1]的值是?A.2B.4C.5D.6答案:C。解析:a[1][1]表示二維數(shù)組第二行第二個(gè)元素,值為5。37.以下關(guān)于動(dòng)態(tài)內(nèi)存分配的說法,錯(cuò)誤的是?A.malloc函數(shù)用于分配內(nèi)存B.free函數(shù)用于釋放內(nèi)存C.動(dòng)態(tài)分配的內(nèi)存不需要釋放D.動(dòng)態(tài)分配的內(nèi)存大小可以在運(yùn)行時(shí)確定答案:C。解析:動(dòng)態(tài)分配的內(nèi)存使用完后必須用free函數(shù)釋放,malloc用于分配內(nèi)存,分配大小可在運(yùn)行時(shí)確定。38.若有語句inta=5;printf("%o",a);則輸出結(jié)果是?A.5B.101C.05D.0101答案:B。解析:%o是八進(jìn)制輸出格式,5的八進(jìn)制是101。39.以下關(guān)于復(fù)合語句的說法,正確的是?A.復(fù)合語句就是多個(gè)語句用花括號(hào)括起來B.復(fù)合語句內(nèi)定義的變量作用域只在復(fù)合語句內(nèi)C.復(fù)合語句可以嵌套D.以上都對答案:D。解析:復(fù)合語句是用花括號(hào)括起來的多個(gè)語句,內(nèi)部定義變量作用域在復(fù)合語句內(nèi),且可嵌套。40.若有定義int*p,a=10;p=&a;則&*p的值是?A.指針p的地址B.變量a的地址C.10D.以上都不對答案:B。解析:*p是變量a,&*p就是變量a的地址。41.以下關(guān)于C語言中文件讀寫模式的說法,錯(cuò)誤的是?A."r"表示只讀模式B."w"表示只寫模式,會(huì)清空原文件內(nèi)容C."a"表示追加模式,從文件開頭開始寫入D."rb"表示以二進(jìn)制只讀模式打開文件答案:C。解析:"a"是追加模式,從文件末尾開始寫入,不是開頭。42.若有數(shù)組定義intarr[]={1,3,5,7,9};則sizeof(arr)/sizeof(arr[0])的值是?A.1B.5C.9D.不確定答案:B。解析:sizeof(arr)是數(shù)組總字節(jié)數(shù),sizeof(arr[0])是單個(gè)元素字節(jié)數(shù),相除得到數(shù)組元素個(gè)數(shù)5。43.以下關(guān)于函數(shù)重載的說法,正確的是?A.C語言支持函數(shù)重載B.函數(shù)重載是指函數(shù)名相同但參數(shù)列表不同C.函數(shù)重載時(shí),返回值類型必須不同D.函數(shù)重載只能在不同文件中進(jìn)行答案:B。解析:C語言不支持函數(shù)重載;函數(shù)重載是函數(shù)名相同但參數(shù)列表不同,返回值類型可相同;重載在同一作用域即可。44.若有定義inta=3,b=2;floatc;c=a/(float)b;則c的值是?A.1B.1.5C.2D.以上都不對答案:B。解析:先將b強(qiáng)制轉(zhuǎn)換為float類型,3/2.0結(jié)果為1.5。45.以下關(guān)于for循環(huán)的說法,錯(cuò)誤的是?A.for循環(huán)的初始化部分只執(zhí)行一次B.for循環(huán)的條件判斷部分每次循環(huán)都執(zhí)行C.for循環(huán)的更新部分可以省略D.for循環(huán)不能嵌套使用答案:D。解析:for循環(huán)可以嵌套使用;初始化部分只執(zhí)行一次,條件判斷每次循環(huán)都執(zhí)行,更新部分可省略。46.若有數(shù)組定義charstr[]="CProgramming";則strlen(str)的值是?A.12B.13C.14D.不確定答案:A。解析:strlen函數(shù)計(jì)算字符串長度,不包括'\0',所以長度為12。47.以下關(guān)于指針數(shù)組的說法,正確的是?A.指針數(shù)組的元素是指針B.指針數(shù)組不能存儲(chǔ)字符串C.指針數(shù)組的大小必須在定義時(shí)確定D.指針數(shù)組不能進(jìn)行初始化答案:A。解析:指針數(shù)組元素是指針;可存儲(chǔ)字符串;大小可在定義時(shí)確定,也可動(dòng)態(tài)分配;能進(jìn)行初始化。48.若有定義struct{intnum;charname[20];}s={101,"Tom"};則的含義是?A.字符串"Tom"的首地址B.字符'T'C.結(jié)構(gòu)體變量s的地址D.以上都不對答案:A。解析:是結(jié)構(gòu)體成員數(shù)組名,代表字符串"Tom"的首地址。49.以下關(guān)于條件運(yùn)算符的說法,正確的是?A.條件運(yùn)算符是三目運(yùn)算符B.條件運(yùn)算符的優(yōu)先級高于算術(shù)運(yùn)算符C.條件運(yùn)算符只能用于整數(shù)類型D.條件運(yùn)算符不能嵌套使用答案:A。解析:條件運(yùn)算符是三目運(yùn)算符;優(yōu)先級低于算術(shù)運(yùn)算符;可用于多種類型;能嵌套使用。50.若有定義inta=4,b=6;a|=b;則a的值是?A.4B.6C.6D.7答案:D。解析:a|=b等價(jià)于a=a|b,4(二進(jìn)制0100)和6(二進(jìn)制0110)按位或結(jié)果為7(二進(jìn)制0111)。51.以下關(guān)于函數(shù)遞歸調(diào)用的終止條件的說法,正確的是?A.終止條件可以有多個(gè)B.終止條件必須是常量C.終止條件只能是一個(gè)簡單的表達(dá)式D.遞歸函數(shù)不需要終止條件答案:A。解析:遞歸函數(shù)必須有終止條件,終止條件可以有多個(gè),不一定是常量,也可以是復(fù)雜表達(dá)式。52.若有定義intarr[3][2]={{1,2},{3,4},{5,6}};則*(arr[1]+1)的值是?A.3B.4C.5D.6答案:B。解析:arr[1]指向第二行首地址,arr[1]+1指向第二行第二個(gè)元素,*(arr[1]+1)就是該元素的值4。53.以下關(guān)于C語言中字符串輸入輸出函數(shù)的說法,錯(cuò)誤的是?A.gets函數(shù)用于從鍵盤讀取字符串B.puts函數(shù)用于向屏幕輸出字符串C.gets函數(shù)會(huì)自動(dòng)在字符串末尾添加'\0'D.puts函數(shù)會(huì)在輸出字符串后自動(dòng)換行答案:C。解析:gets函數(shù)讀取字符串時(shí)不會(huì)自動(dòng)添加'\0',需要手動(dòng)添加;puts函數(shù)輸出后自動(dòng)換行。54.若有定義inta=5,b=10;int*p1=&a,*p2=&b;p1=p2;則*p1的值是?A.5B.10C.不確定D.以上都不對答案:B。解析:p1=p2使p1指向p2所指向的變量b,所以*p1為10。55.以下關(guān)于宏函數(shù)和普通函數(shù)的說法,錯(cuò)誤的是?A.宏函數(shù)在編譯時(shí)展開B.普通函數(shù)在運(yùn)行時(shí)調(diào)用C.宏函數(shù)沒有函數(shù)調(diào)用的開銷D.宏函數(shù)的參數(shù)必須有類型聲明答案:D。解析:宏函數(shù)在編譯時(shí)展開,無函數(shù)調(diào)用開銷;普通函數(shù)運(yùn)行時(shí)調(diào)用;宏函數(shù)參數(shù)無類型聲明。56.若有定義inta[5]={1,2,3,4,5};int*p=a+2;則*p的值是?A.1B.2C.3D.4答案:C。解析:p指向數(shù)組a的第三個(gè)元素,*p為3。57.以下關(guān)于位字段的說法,正確的是?A.位字段只能在結(jié)構(gòu)體中使用B.位字段的類型只能是intC.位字段的長度必須是8的倍數(shù)D.位字段不能進(jìn)行初始化答案:A。解析:位字段只能在結(jié)構(gòu)體或共用體中使用;類型可以是int、unsignedint等;長度無此要求;可初始化。58.若有語句inta=7;a>>=2;則a的值是?A.1B.2C.3D.4答案:A。解析:a>>=2表示將a右移2位,7(二進(jìn)制0111)右移2位為1(二進(jìn)制0001)。59.以下關(guān)于函數(shù)的嵌套定義的說法,正確的是?A.C語言支持函數(shù)的嵌套定義B.函數(shù)可以在另一個(gè)函數(shù)內(nèi)部定義C.函數(shù)的嵌套定義可以提高代碼的可讀性D.C語言不支持函數(shù)的嵌套定義答案:D。解析:C語言不支持函數(shù)的嵌套定義,函數(shù)不能在另一個(gè)函數(shù)內(nèi)部定義。60.若有定義structDate{intyear;intmonth;intday;}d={2024,10,1};則d.year的值是?A.2024B.10C.1D.以上都不對答案:A。解析:d.year是結(jié)構(gòu)體變量d的year成員,值為2024。61.以下關(guān)于C語言中文件操作錯(cuò)誤處理的說法,錯(cuò)誤的是?A.ferror函數(shù)用于檢查文件操作是否出錯(cuò)B.clearerr函數(shù)用于清除文件操作的錯(cuò)誤標(biāo)志C.文件操作出錯(cuò)后不需要處理D.perror函數(shù)用于輸出錯(cuò)誤信息答案:C。解析:文件操作出錯(cuò)后需要處理,ferror檢查錯(cuò)誤,clearerr清除錯(cuò)誤標(biāo)志,perror輸出錯(cuò)誤信息。62.若有數(shù)組定義intarr[]={2,4,6,8,10};則*(arr+3)的值是?A.2B.4C.8D.10答案:C。解析:arr+3指向數(shù)組第4個(gè)元素,*(arr+3)為8。63.以下關(guān)于函數(shù)的返回值類型為指針的說法,正確的是?A.函數(shù)返回的指針可以指向局部變量B.函數(shù)返回的指針必須是動(dòng)態(tài)分配的內(nèi)存地址C.函數(shù)返回的指針可以是NULLD.函數(shù)返回的指針類型必須和函數(shù)定義時(shí)指定的類型不同答案:C。解析:函數(shù)返回的指針不能指向局部變量,局部變量在函數(shù)結(jié)束后銷毀;不一定是動(dòng)態(tài)分配地址;可以是NULL;返回指針類型要和定義時(shí)指定類型相同。64.若有定義charstr1[]="abc",str2[]="def";strcat(str1,str2);則str1的值是?A."abc"B."def"C."abcdef"D.以上都不對答案:C。解析:strcat函數(shù)將str2連接到str1后面,所以str1為"abcdef"。65.以下關(guān)于枚舉常量的說法,正確的是?A.枚舉常量的值可以在運(yùn)行時(shí)改變B.枚舉常量可以作為數(shù)組的下標(biāo)C.枚舉常量只能是整數(shù)類型D.枚舉常量可以和其他類型進(jìn)行混合運(yùn)算答案:B。解析:枚舉常量值在定義時(shí)確定,不能運(yùn)行時(shí)改變;可作為數(shù)組下標(biāo);值為整數(shù);一般不與其他類型混合運(yùn)算。66.若有定義inta[2][2]={{1,2},{3,4}};int*p=&a[0][0];則*(p+2)的值是?A.1B.2C.3D.4答案:C。解析:p指向數(shù)組首元素,p+2指向第三元素,*(p+2)為3。67.以下關(guān)于動(dòng)態(tài)數(shù)組的說法,正確的是?A.動(dòng)態(tài)數(shù)組的大小在編譯時(shí)確定B.動(dòng)態(tài)數(shù)組必須使用malloc函數(shù)分配內(nèi)存C.動(dòng)態(tài)數(shù)組使用完后不需要釋放內(nèi)存D.動(dòng)態(tài)數(shù)組不能進(jìn)行初始化答案:B。解析:動(dòng)態(tài)數(shù)組大小運(yùn)行時(shí)確定,常用malloc分配內(nèi)存,使用完要釋放,可初始化。68.若有語句inta=15;printf("%x",a);則輸出結(jié)果是?A.15B.fC.0fD.1111答案:B。解析:%x是十六進(jìn)制輸出格式,15的十六進(jìn)制是f。69.以下關(guān)于條件編譯的說法,正確的是?A.條件編譯可以根據(jù)不同情況編譯不同代碼B.條件編譯只能在文件開頭使用C.條件編譯的條件必須是常量表達(dá)式D.條件編譯不能嵌套使用答案:A。解析:條件編譯可根據(jù)情況編譯不同代碼,可在文件任意位置,條件不必須是常量表達(dá)式,可嵌套。70.若有定義int*p,a[3]={1,2,3};p=a;p++;則*p的值是?A.1B.2C.3D.不確定答案:B。解析:p初始指向數(shù)組首元素,p++后指向第二個(gè)元素,*p為2。71.以下關(guān)于C語言中文件隨機(jī)讀寫的說法,錯(cuò)誤的是?A.fseek函數(shù)用于移動(dòng)文件指針B.ftell函數(shù)用于返回文件指針的當(dāng)前位置C.文件隨機(jī)讀寫可以在任意位置讀寫數(shù)據(jù)D.文件隨機(jī)讀寫只能用于二進(jìn)制文件答案:D。解析:文件隨機(jī)讀寫可用于文本文件和二進(jìn)制文件,fseek移動(dòng)指針,ftell返回位置,可在任意位置讀寫。72.若有數(shù)組定義intarr[4]={0};則數(shù)組元素的初始值分別是?A.0,0,0,0B.1,2,3,4C.不確定D.以上都不對答案:A。解析:數(shù)組部分初始化,未初始化元素自動(dòng)賦值為0,所以元素值都為0。73.以下關(guān)于函數(shù)指針的說法,正確的是?A.函數(shù)指針不能作為函數(shù)參數(shù)B.函數(shù)指針只能指向固定的函數(shù)C.函數(shù)指針可以調(diào)用所指向的函數(shù)D.函數(shù)指針的類型和所指向的函數(shù)類型可以不同答案:C。解析:函數(shù)指針可作為函數(shù)參數(shù),可指向不同函數(shù),能調(diào)用所指函數(shù),類型要和所指函數(shù)一致。74.若有定義charstr[]="12345";intnum=atoi(str);則num的值是?A.12345B.1C.5D.不確定答案:A。解析:atoi函數(shù)將字符串轉(zhuǎn)換為整數(shù),所以num為12345。75.以下關(guān)于共用體的說法,正確的是?A.共用體的成員共享同一塊內(nèi)存B.共用體的大小是所有成員大小之和C.共用體不能進(jìn)行初始化D.共用體的成員不能是結(jié)構(gòu)體答案:A。解析:共用體成員共享同一塊內(nèi)存,大小是最大成員的大小,可初始化,成員可以是結(jié)構(gòu)體。76.若有定義inta=3,b=5;intc=a&b;則c的值是?A.1B.3C.5D.7答案:A。解析:3(二進(jìn)制0011)和5(二進(jìn)制0101)按位與結(jié)果為1(二進(jìn)制0001)。77.以下關(guān)于遞歸函數(shù)的棧溢出問題的說法,正確的是?A.遞歸函數(shù)不會(huì)出現(xiàn)棧溢出問題B.棧溢出是因?yàn)檫f歸深度過大C.棧溢出只在遞歸函數(shù)中出現(xiàn)D.棧溢出問題無法解決答案:B。解析:遞歸深度過大,棧空間耗盡會(huì)導(dǎo)致棧溢出;非遞歸函數(shù)也可能棧溢出;可通過優(yōu)化遞歸或用迭代解決。78.若有定義inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};則*(*(a+1)+2)的值是?A.4B.6C.8D.9答案:B。解析:a+1指向第二行,*(a+1)指向第二行首元素,*(a+1)+2指向第二行第三個(gè)元素,*(*(a+1)+2)為6。79.以下關(guān)于C語言中字符串比較的說法,錯(cuò)誤的是?A.不能用“==”直接比較兩個(gè)字符串是否相等B.strcmp函數(shù)用于比較兩個(gè)字符串的大小C.strcmp函數(shù)返回值為0表示兩個(gè)字符串相等D.strcmp函數(shù)返回值大于0表示第一個(gè)字符串小于第二個(gè)字符串答案:D。解析:strcmp返回值大于0表示第一個(gè)字符串大于第二個(gè)字符串;不能用“==”比較字符串;返回0表示相等。80.若有定義int*p,a=20;p=&a;*p=*p+5;則a的值是?A.20B.25C.5D.不確定答案:B。解析:p指向a,*p=*p+5等價(jià)于a=a+5,所以a為25。81.以下關(guān)于宏定義的作用域的說法,正確的是?A.宏定義的作用域從定義處到文件結(jié)束B.宏定義的作用域可以用#undef取消C.宏定義在函數(shù)內(nèi)部定義時(shí),作用域只在函數(shù)內(nèi)部D.以上都對答案:D。解析:宏定義作用域從定義處到文件結(jié)束,可用#undef取消;在函數(shù)內(nèi)定義,作用域在函數(shù)內(nèi)。82.若有定義intarr[5]={10,20,30,40,50};int*p=arr+4;則*p的值是?A.10B.20C.40D.50答案:D。解析:p指向數(shù)組最后一個(gè)元素,*p為50。83.以下關(guān)于位運(yùn)算在嵌入式系統(tǒng)中的應(yīng)用的說法,錯(cuò)誤的是?A.位運(yùn)算可用于設(shè)置寄存器的特定位B.位運(yùn)算可用于清除寄存器的特定位C.位運(yùn)算可用于檢測寄存器的特定位狀態(tài)D.位運(yùn)算在嵌入式系統(tǒng)中沒有實(shí)際應(yīng)用答案:D。解析:位運(yùn)算在嵌入式系統(tǒng)中有廣泛應(yīng)用,可設(shè)置、清除、檢測寄存器特定位。84.若有語句inta=8;a&=~(1<<2);則a的值是?A.4B.8C.12D.16答案:B。解析:1<<2為4(二進(jìn)制0100),~(1<<2)為~4(二進(jìn)制1011),8(二進(jìn)制1000)與~4按位與結(jié)果為8。85.以下關(guān)于函數(shù)的默認(rèn)參數(shù)的說法,正確的是?A.C語言支持函數(shù)的默認(rèn)參數(shù)B.函數(shù)的默認(rèn)參數(shù)必須從左到右依次指定C.函數(shù)的默認(rèn)參數(shù)可以在函數(shù)調(diào)用時(shí)修改D.函數(shù)的默認(rèn)參數(shù)只能是常量答案:C。解析:C語言不支持默認(rèn)參數(shù);若支持,默認(rèn)參數(shù)可在調(diào)用時(shí)修改,不一定從左到右指定,也不一定是常量。86.若有定義structPerson{charname[10];intage;}p1={"John",25},p2;p2=p1;則p2.age的值是?A.0B.25C.JohnD.以上都不對答案:B。解析:結(jié)構(gòu)體變量之間可以直接賦值,將p1的值賦給p2后,p2的成員值和p1相同,所以p2.age為25。87.以下關(guān)于C語言中多文件編程的說法,錯(cuò)誤的是?A.頭文件用于聲明函數(shù)和全局變量B.源文件用于實(shí)現(xiàn)函數(shù)和定義全局變量C.多個(gè)源文件可以同時(shí)編譯鏈接D.頭文件中必須包含所有函數(shù)的實(shí)現(xiàn)代碼答案:D。解析:頭文件主要用于聲明函數(shù)和全局變量,不包含函數(shù)實(shí)現(xiàn)代碼,源文件實(shí)現(xiàn)函數(shù)和定義全局變量,多個(gè)源文件可同時(shí)編譯鏈接。88.若有數(shù)組定義intarr[3]={5,10,15};int*p=arr;則*(p++)的值是?A.5B.10C.15D.不確定答案:A。解析:后置++運(yùn)算符先使用p的值,再將p自增。所以先取p指向的元素值5,之后p指向下一個(gè)元素。89.以下關(guān)于指針和數(shù)組的關(guān)系的說法,錯(cuò)誤的是?A.數(shù)組名可以看作是一個(gè)常量指針B.可以通過指針訪問數(shù)組元素C.指針和數(shù)組在所有情況下都可以互換使用D.指針可以指向數(shù)組的不同元素答案:C。解析:數(shù)組名可看作常量指針,能通過指針訪問數(shù)組元素,指針也能指向數(shù)組不同元素,但指針和數(shù)組并非在所有情況下都可互換,如數(shù)組名不能被賦值。90.若有定義inta=7,b=3;floatc=(float)a/(float)b;則c的值是?A.2B.2.333333C.3D.以上都不對答案:B。解析:將a和b都強(qiáng)制轉(zhuǎn)換為float類型后相除,7.0/3.0結(jié)果約為2.333333。91.以下關(guān)于while循環(huán)和for循環(huán)的轉(zhuǎn)換的說法,正確的是?A.任何while
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年7月國開電大行管??啤渡鐣?huì)調(diào)查研究與方法》期末紙質(zhì)考試試題及答案
- 論考試試題及答案
- 電子商務(wù)期末考試題及答案sem
- 網(wǎng)店經(jīng)營與管理沈欽課后習(xí)題答案
- 《寫給中學(xué)生的心理學(xué)》閱讀測試題及參考答案
- 醫(yī)學(xué)臨床三基醫(yī)師考試題庫及答案詳解
- 沈陽校招面試題庫及答案
- 食品藥品安全普法試題及答案
- 二建考試簡答題及答案
- 建設(shè)法規(guī)機(jī)考試題及答案
- 供應(yīng)商管理績效綜合評價(jià)表
- 危重病人的院前急救課件
- 警用偵查無人機(jī)偵查技術(shù)在反偷獵中的應(yīng)用分析報(bào)告
- 礦井突水機(jī)理研究-洞察及研究
- 2025-2026秋“1530”安全教育記錄表
- 骨密度檢測的臨床意義
- 鉆探原始班報(bào)表試行版
- 腸菌移植治療炎癥性腸病專家共識(shí)(2025)解讀
- T/CPPC 1032-2021建筑生產(chǎn)資源分供商評價(jià)規(guī)范
- 機(jī)耕合同協(xié)議書范本簡單
- 送車免責(zé)合同協(xié)議書模板
評論
0/150
提交評論