2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案_第1頁
2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案_第2頁
2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案_第3頁
2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案_第4頁
2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2025年計(jì)算機(jī)二級(jí)c語言考試真題100道及答案1.以下關(guān)于C語言變量定義的說法,正確的是()A.變量可以在使用之后再定義B.變量定義時(shí)必須初始化C.不同類型的變量可以在同一行定義D.變量名可以使用C語言的關(guān)鍵字答案:C解析:C語言中不同類型的變量可以在同一行定義,如“inta,floatb;”。變量需先定義后使用,定義時(shí)不一定要初始化,變量名不能使用關(guān)鍵字。2.已知inta=5,b=3;表達(dá)式a%b的值是()A.1B.1.666667C.2D.0答案:C解析:“%”是取余運(yùn)算符,5除以3的余數(shù)是2。3.若有語句intx=10,y=20;執(zhí)行y=x++;后,x和y的值分別是()A.10,10B.11,10C.10,11D.11,11答案:B解析:“x++”是先使用x的值,再將x加1。所以y先被賦值為10,然后x變?yōu)?1。4.以下if語句語法正確的是()A.if(a>b){printf("a>b");}B.ifa>b{printf("a>b");}C.if(a>b)printf("a>b");else;D.if(a>b);printf("a>b");答案:A解析:if語句條件需用括號(hào)括起來,B選項(xiàng)缺少括號(hào);C選項(xiàng)else后不能有分號(hào);D選項(xiàng)if語句后多了分號(hào),會(huì)導(dǎo)致后續(xù)語句與if無關(guān)。5.若有數(shù)組定義intarr[5]={1,2,3,4,5};則arr[3]的值是()A.1B.3C.4D.5答案:C解析:數(shù)組下標(biāo)從0開始,arr[3]表示數(shù)組的第4個(gè)元素,值為4。6.以下關(guān)于函數(shù)調(diào)用的說法,錯(cuò)誤的是()A.函數(shù)調(diào)用時(shí)實(shí)參和形參的類型要一致B.函數(shù)調(diào)用可以作為表達(dá)式的一部分C.函數(shù)調(diào)用時(shí)可以不傳遞參數(shù)D.函數(shù)調(diào)用時(shí)只能按值傳遞參數(shù)答案:D解析:C語言中函數(shù)調(diào)用除了按值傳遞參數(shù),還有按地址傳遞參數(shù)。A、B、C選項(xiàng)說法均正確。7.若有定義charch='A';則執(zhí)行ch=ch+32;后,ch的值是()A.'A'B.'a'C.'B'D.'b'答案:B解析:大寫字母和小寫字母的ASCII碼值相差32,'A'加上32得到'a'。8.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=0;i<5;i++){printf("%d\n",i);}A.4B.5C.6D.0答案:B解析:循環(huán)從i=0開始,每次i加1,當(dāng)i<5時(shí)執(zhí)行循環(huán)體,i依次取0、1、2、3、4,共執(zhí)行5次。9.若有指針定義int*p;要讓p指向一個(gè)int類型的變量a,正確的語句是()A.p=&a;B.p=a;C.*p=&a;D.*p=a;答案:A解析:指針p要指向變量a,需要將變量a的地址賦給p,即p=&a。10.以下關(guān)于結(jié)構(gòu)體的說法,正確的是()A.結(jié)構(gòu)體成員只能是基本數(shù)據(jù)類型B.結(jié)構(gòu)體變量定義時(shí)不能初始化C.結(jié)構(gòu)體可以嵌套定義D.結(jié)構(gòu)體類型名可以不指定答案:C解析:結(jié)構(gòu)體可以嵌套定義,即結(jié)構(gòu)體成員可以是另一個(gè)結(jié)構(gòu)體類型。結(jié)構(gòu)體成員可以是多種類型,變量定義時(shí)可以初始化,結(jié)構(gòu)體類型名一般需要指定。11.若有定義inta[3][4];則數(shù)組a的元素個(gè)數(shù)是()A.3B.4C.7D.12答案:D解析:二維數(shù)組a有3行4列,元素個(gè)數(shù)為3*4=12。12.以下語句執(zhí)行后,變量x的值是()intx=10;x+=5;A.5B.10C.15D.20答案:C解析:“x+=5”等價(jià)于“x=x+5”,x原來的值為10,加5后變?yōu)?5。13.若有函數(shù)定義voidfunc(inta){a=a*2;}調(diào)用該函數(shù)時(shí),實(shí)參的值()A.會(huì)被改變B.不會(huì)被改變C.可能會(huì)被改變D.取決于函數(shù)的返回值答案:B解析:函數(shù)參數(shù)傳遞是按值傳遞,函數(shù)內(nèi)部對(duì)形參的修改不會(huì)影響實(shí)參的值。14.以下關(guān)于while循環(huán)的說法,錯(cuò)誤的是()A.while循環(huán)先判斷條件,再執(zhí)行循環(huán)體B.while循環(huán)的循環(huán)體可以為空C.while循環(huán)條件為假時(shí),循環(huán)體至少執(zhí)行一次D.while循環(huán)可以實(shí)現(xiàn)無限循環(huán)答案:C解析:while循環(huán)是先判斷條件,條件為真時(shí)執(zhí)行循環(huán)體,條件為假時(shí)不執(zhí)行循環(huán)體,所以循環(huán)體可能一次都不執(zhí)行。15.若有指針定義intarr[5]={1,2,3,4,5};int*p=arr;則*(p+2)的值是()A.1B.2C.3D.4答案:C解析:指針p指向數(shù)組arr的首地址,p+2指向數(shù)組的第3個(gè)元素,*(p+2)就是該元素的值3。16.以下關(guān)于文件操作的說法,正確的是()A.打開文件時(shí)只能以只讀方式打開B.關(guān)閉文件時(shí)不需要檢查文件是否打開C.讀取文件內(nèi)容時(shí)不需要考慮文件指針的位置D.文件操作結(jié)束后需要關(guān)閉文件答案:D解析:文件操作結(jié)束后需要關(guān)閉文件,以釋放資源。打開文件有多種方式,關(guān)閉文件前需要檢查是否打開,讀取文件內(nèi)容需要考慮文件指針位置。17.若有定義inta=10,b=20;執(zhí)行以下語句后,a和b的值分別是()a=a^b;b=a^b;a=a^b;A.10,20B.20,10C.10,10D.20,20答案:B解析:這是使用異或運(yùn)算符交換兩個(gè)變量的值,經(jīng)過上述操作后,a和b的值互換。18.以下關(guān)于switch語句的說法,錯(cuò)誤的是()A.switch語句中的表達(dá)式只能是整型或字符型B.switch語句中每個(gè)case后面的常量表達(dá)式的值必須不同C.switch語句中可以沒有default分支D.switch語句中每個(gè)case后面必須有break語句答案:D解析:switch語句中case后面不一定要有break語句,沒有break語句會(huì)繼續(xù)執(zhí)行下一個(gè)case的代碼。19.若有數(shù)組定義charstr[]="hello";則數(shù)組str的長度是()A.5B.6C.7D.不確定答案:B解析:字符串"hello"在存儲(chǔ)時(shí)會(huì)自動(dòng)在末尾添加'\0'作為字符串結(jié)束標(biāo)志,所以數(shù)組長度為6。20.以下關(guān)于函數(shù)返回值的說法,正確的是()A.函數(shù)可以沒有返回值B.函數(shù)返回值的類型必須與函數(shù)定義時(shí)指定的類型一致C.函數(shù)返回值只能是基本數(shù)據(jù)類型D.函數(shù)返回值可以是數(shù)組答案:A解析:函數(shù)可以定義為void類型,即沒有返回值。函數(shù)返回值類型一般要與定義時(shí)指定的類型一致,但也有隱式轉(zhuǎn)換;返回值可以是多種類型,包括指針等;數(shù)組不能直接作為返回值。21.若有定義inta=5;則執(zhí)行a<<=2;后,a的值是()A.5B.10C.20D.40答案:C解析:“<<=”是左移賦值運(yùn)算符,a<<=2等價(jià)于a=a<<2,5左移2位相當(dāng)于乘以4,結(jié)果為20。22.以下循環(huán)語句會(huì)執(zhí)行多少次()do{printf("Hello\n");}while(0);A.0B.1C.無限次D.不確定答案:B解析:do-while循環(huán)先執(zhí)行一次循環(huán)體,再判斷條件,條件為0(假),所以只執(zhí)行一次。23.若有指針定義char*str="world";則str指向的是()A.字符'w'B.字符串"world"的首地址C.字符數(shù)組D.一個(gè)字符變量答案:B解析:指針str指向字符串"world"的首地址。24.以下關(guān)于結(jié)構(gòu)體變量的賦值,正確的是()A.結(jié)構(gòu)體變量不能相互賦值B.結(jié)構(gòu)體變量賦值時(shí)可以只給部分成員賦值C.結(jié)構(gòu)體變量賦值時(shí)必須給所有成員賦值D.結(jié)構(gòu)體變量賦值只能使用初始化的方式答案:B解析:結(jié)構(gòu)體變量可以相互賦值,賦值時(shí)可以只給部分成員賦值。25.若有定義inta[2][3]={{1,2,3},{4,5,6}};則a[1][2]的值是()A.1B.3C.5D.6答案:D解析:二維數(shù)組a中a[1][2]表示第2行第3個(gè)元素,值為6。26.以下語句執(zhí)行后,變量x的值是()intx=5;x*=3;A.5B.8C.15D.20答案:C解析:“x*=3”等價(jià)于“x=x*3”,x原來的值為5,乘3后變?yōu)?5。27.若有函數(shù)定義intfunc(inta,intb){returna+b;}調(diào)用該函數(shù)時(shí),以下正確的是()A.func(2);B.func(2,3,4);C.func(2,3);D.func();答案:C解析:函數(shù)func需要兩個(gè)整型參數(shù),C選項(xiàng)傳遞了兩個(gè)參數(shù),調(diào)用正確。28.以下關(guān)于for循環(huán)的說法,正確的是()A.for循環(huán)的初始化部分只能初始化一個(gè)變量B.for循環(huán)的條件部分可以省略C.for循環(huán)的迭代部分不能使用逗號(hào)表達(dá)式D.for循環(huán)不能嵌套使用答案:B解析:for循環(huán)的條件部分可以省略,省略后相當(dāng)于條件永遠(yuǎn)為真。初始化部分可以初始化多個(gè)變量,迭代部分可以使用逗號(hào)表達(dá)式,for循環(huán)可以嵌套使用。29.若有指針定義int*p;p=(int*)malloc(sizeof(int));若要給p所指向的內(nèi)存賦值為10,正確的是()A.p=10;B.*p=10;C.&p=10;D.p[0]=10;答案:B解析:p是指針,要給它所指向的內(nèi)存賦值,需要使用解引用運(yùn)算符“*”,即*p=10。30.以下關(guān)于文件讀寫的說法,錯(cuò)誤的是()A.fread函數(shù)可以從文件中讀取二進(jìn)制數(shù)據(jù)B.fwrite函數(shù)可以向文件中寫入二進(jìn)制數(shù)據(jù)C.fscanf函數(shù)只能從文本文件中讀取數(shù)據(jù)D.fprintf函數(shù)只能向文本文件中寫入數(shù)據(jù)答案:D解析:fprintf函數(shù)可以向文本文件或標(biāo)準(zhǔn)輸出設(shè)備寫入格式化數(shù)據(jù),不是只能向文本文件寫入。31.若有定義inta=3,b=4;則表達(dá)式a>b?a:b的值是()A.3B.4C.7D.1答案:B解析:這是條件運(yùn)算符,a>b為假,所以取冒號(hào)后面的值b,即4。32.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=10;i>0;i-=2){printf("%d\n",i);}A.5B.6C.4D.10答案:A解析:i從10開始,每次減2,當(dāng)i>0時(shí)執(zhí)行循環(huán)體,i依次取10、8、6、4、2,共執(zhí)行5次。33.若有指針定義intarr[5]={1,2,3,4,5};int*p=&arr[2];則*p的值是()A.1B.2C.3D.4答案:C解析:指針p指向數(shù)組arr的第3個(gè)元素,*p就是該元素的值3。34.以下關(guān)于結(jié)構(gòu)體和共用體的區(qū)別,正確的是()A.結(jié)構(gòu)體和共用體都可以同時(shí)存儲(chǔ)多個(gè)成員的值B.結(jié)構(gòu)體的所有成員共享同一塊內(nèi)存空間C.共用體的所有成員共享同一塊內(nèi)存空間D.結(jié)構(gòu)體和共用體的內(nèi)存分配方式相同答案:C解析:共用體的所有成員共享同一塊內(nèi)存空間,同一時(shí)間只能存儲(chǔ)一個(gè)成員的值;結(jié)構(gòu)體的每個(gè)成員有獨(dú)立的內(nèi)存空間。35.若有定義inta[3];則以下對(duì)數(shù)組元素賦值正確的是()A.a={1,2,3};B.a[0]=1;a[1]=2;a[2]=3;C.a[3]=1;D.a(0)=1;答案:B解析:數(shù)組名是常量指針,不能直接用大括號(hào)賦值,A選項(xiàng)錯(cuò)誤;數(shù)組下標(biāo)從0開始,a[3]越界,C選項(xiàng)錯(cuò)誤;數(shù)組元素訪問用方括號(hào),不是圓括號(hào),D選項(xiàng)錯(cuò)誤。36.以下語句執(zhí)行后,變量x的值是()intx=8;x/=2;A.2B.4C.8D.16答案:B解析:“x/=2”等價(jià)于“x=x/2”,x原來的值為8,除以2后變?yōu)?。37.若有函數(shù)定義voidfunc(int*a){*a=*a*2;}調(diào)用該函數(shù)時(shí),實(shí)參應(yīng)該是()A.一個(gè)整型變量B.一個(gè)整型數(shù)組C.一個(gè)整型變量的地址D.一個(gè)整型常量答案:C解析:函數(shù)參數(shù)是指針類型,調(diào)用時(shí)實(shí)參應(yīng)該是一個(gè)整型變量的地址。38.以下關(guān)于while和do-while循環(huán)的區(qū)別,正確的是()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í)行多次答案:C解析:while循環(huán)先判斷條件,條件為真時(shí)執(zhí)行循環(huán)體,所以循環(huán)體可能一次都不執(zhí)行;do-while循環(huán)先執(zhí)行循環(huán)體,再判斷條件。39.若有指針定義char*str1="hello";char*str2="world";要將str2連接到str1后面,以下正確的是()A.strcat(str1,str2);B.strcpy(str1,str2);C.strcmp(str1,str2);D.無法直接連接答案:D解析:str1指向的是字符串常量,字符串常量存儲(chǔ)在只讀內(nèi)存區(qū)域,不能修改,所以無法直接將str2連接到str1后面。40.以下關(guān)于文件指針的說法,正確的是()A.文件指針只能指向文本文件B.文件指針在使用前不需要初始化C.文件指針可以指向不同類型的文件D.文件指針一旦指向一個(gè)文件,就不能再指向其他文件答案:C解析:文件指針可以指向不同類型的文件,如文本文件、二進(jìn)制文件等。使用前需要初始化,也可以重新指向其他文件。41.若有定義inta=7;則執(zhí)行a%=3;后,a的值是()A.1B.2C.3D.7答案:B解析:“a%=3”等價(jià)于“a=a%3”,7對(duì)3取余結(jié)果為2。42.以下for循環(huán)中,循環(huán)體執(zhí)行次數(shù)為0的是()A.for(inti=10;i<10;i++){printf("a");}B.for(inti=0;i<10;i++){printf("a");}C.for(inti=10;i>0;i--){printf("a");}D.for(inti=0;i<=10;i++){printf("a");}答案:A解析:A選項(xiàng)中初始條件i=10,循環(huán)條件i<10一開始就不滿足,所以循環(huán)體執(zhí)行次數(shù)為0。43.若有指針定義int*p;inta=5;p=&a;那么*(p+1)()A.是變量a的值B.指向變量a后面的內(nèi)存單元,值不確定C.是變量a的地址D.會(huì)導(dǎo)致編譯錯(cuò)誤答案:B解析:p指向變量a的地址,p+1指向a后面的內(nèi)存單元,該內(nèi)存單元的值是不確定的。44.以下關(guān)于結(jié)構(gòu)體數(shù)組的說法,錯(cuò)誤的是()A.結(jié)構(gòu)體數(shù)組可以存儲(chǔ)多個(gè)結(jié)構(gòu)體變量B.結(jié)構(gòu)體數(shù)組的每個(gè)元素都是一個(gè)結(jié)構(gòu)體C.結(jié)構(gòu)體數(shù)組在定義時(shí)不能初始化D.可以通過下標(biāo)訪問結(jié)構(gòu)體數(shù)組的元素答案:C解析:結(jié)構(gòu)體數(shù)組在定義時(shí)可以進(jìn)行初始化,如“structStudentstu[2]={{1,"Tom"},{2,"Jerry"}};”。45.若有定義inta[4][5];則數(shù)組a的行數(shù)和列數(shù)分別是()A.4,5B.5,4C.20,1D.1,20答案:A解析:二維數(shù)組a[4][5]表示有4行5列。46.以下語句執(zhí)行后,變量x的值是()intx=12;x-=5;A.5B.7C.12D.17答案:B解析:“x-=5”等價(jià)于“x=x-5”,12減5結(jié)果為7。47.若有函數(shù)定義doublefunc(inta,doubleb){returna+b;}調(diào)用該函數(shù)時(shí),以下正確的是()A.func(3,2.5);B.func(3.5,2);C.func();D.func(3,2);答案:A解析:函數(shù)func需要一個(gè)整型參數(shù)和一個(gè)雙精度浮點(diǎn)型參數(shù),A選項(xiàng)符合要求。48.以下關(guān)于do-while循環(huán)的說法,正確的是()A.do-while循環(huán)的循環(huán)體至少執(zhí)行一次B.do-while循環(huán)的條件表達(dá)式必須是布爾類型C.do-while循環(huán)的循環(huán)體不能為空D.do-while循環(huán)只能用于處理整數(shù)類型的數(shù)據(jù)答案:A解析:do-while循環(huán)先執(zhí)行循環(huán)體,再判斷條件,所以循環(huán)體至少執(zhí)行一次。條件表達(dá)式可以是各種類型,循環(huán)體可以為空,可處理多種類型數(shù)據(jù)。49.若有指針定義intarr[10];int*p=arr;則p+3()A.指向數(shù)組arr的第3個(gè)元素B.指向數(shù)組arr的第4個(gè)元素C.是數(shù)組arr的首地址加上3個(gè)字節(jié)D.會(huì)導(dǎo)致編譯錯(cuò)誤答案:B解析:指針p指向數(shù)組arr首地址,p+3指向數(shù)組的第4個(gè)元素(下標(biāo)從0開始)。50.以下關(guān)于文件操作中fgetc函數(shù)的說法,正確的是()A.fgetc函數(shù)只能從文本文件中讀取字符B.fgetc函數(shù)讀取字符時(shí)不需要考慮文件指針位置C.fgetc函數(shù)讀取成功時(shí)返回讀取的字符,失敗時(shí)返回EOFD.fgetc函數(shù)一次可以讀取多個(gè)字符答案:C解析:fgetc函數(shù)可以從文本文件或二進(jìn)制文件中讀取字符,讀取時(shí)需要考慮文件指針位置,一次讀取一個(gè)字符,讀取成功返回字符,失敗返回EOF。51.若有定義inta=4,b=5;則表達(dá)式a<b?a:b的值是()A.4B.5C.9D.1答案:A解析:條件運(yùn)算符中,a<b為真,所以取冒號(hào)前面的值a,即4。52.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=0;i<5;i+=3){printf("%d\n",i);}A.1B.2C.3D.5答案:B解析:i從0開始,每次加3,i依次取0、3,共執(zhí)行2次。53.若有指針定義intarr[5]={10,20,30,40,50};int*p=&arr[4];則*p的值是()A.10B.20C.40D.50答案:D解析:指針p指向數(shù)組arr的第5個(gè)元素,*p就是該元素的值50。54.以下關(guān)于共用體變量的賦值,正確的是()A.共用體變量不能相互賦值B.共用體變量賦值時(shí)可以同時(shí)給多個(gè)成員賦值C.共用體變量賦值時(shí)只能給一個(gè)成員賦值D.共用體變量賦值只能在定義時(shí)進(jìn)行答案:C解析:共用體的所有成員共享同一塊內(nèi)存空間,同一時(shí)間只能存儲(chǔ)一個(gè)成員的值,所以賦值時(shí)只能給一個(gè)成員賦值。55.若有定義inta[2];則以下對(duì)數(shù)組元素賦值錯(cuò)誤的是()A.a[0]=1;a[1]=2;B.a={1,2};C.scanf("%d%d",a);D.for(inti=0;i<2;i++){a[i]=i;}答案:B解析:數(shù)組名是常量指針,不能直接用大括號(hào)賦值。56.以下語句執(zhí)行后,變量x的值是()intx=15;x*=2;A.15B.30C.17D.7答案:B解析:“x*=2”等價(jià)于“x=x*2”,15乘2結(jié)果為30。57.若有函數(shù)定義voidfunc(inta[]){for(inti=0;i<3;i++){a[i]*=2;}}調(diào)用該函數(shù)時(shí),實(shí)參可以是()A.一個(gè)整型變量B.一個(gè)整型常量C.一個(gè)整型數(shù)組名D.一個(gè)字符數(shù)組名答案:C解析:函數(shù)參數(shù)是整型數(shù)組,調(diào)用時(shí)實(shí)參可以是整型數(shù)組名。58.以下關(guān)于while循環(huán)和for循環(huán)的轉(zhuǎn)換,正確的是()A.所有的while循環(huán)都不能轉(zhuǎn)換為for循環(huán)B.所有的for循環(huán)都不能轉(zhuǎn)換為while循環(huán)C.大部分的while循環(huán)和for循環(huán)可以相互轉(zhuǎn)換D.while循環(huán)和for循環(huán)在任何情況下都不能相互轉(zhuǎn)換答案:C解析:大部分情況下,while循環(huán)和for循環(huán)可以相互轉(zhuǎn)換,只是語法形式不同。59.若有指針定義char*str="abc";要將str所指向的字符串復(fù)制到另一個(gè)字符數(shù)組s中,以下正確的是()A.s=str;B.strcpy(s,str);C.strcat(s,str);D.strcmp(s,str);答案:B解析:strcpy函數(shù)用于將一個(gè)字符串復(fù)制到另一個(gè)字符數(shù)組中。60.以下關(guān)于文件操作中fputc函數(shù)的說法,錯(cuò)誤的是()A.fputc函數(shù)可以向文本文件中寫入字符B.fputc函數(shù)可以向二進(jìn)制文件中寫入字符C.fputc函數(shù)寫入成功時(shí)返回寫入的字符,失敗時(shí)返回EOFD.fputc函數(shù)一次可以寫入多個(gè)字符答案:D解析:fputc函數(shù)一次只能寫入一個(gè)字符。61.若有定義inta=9;則執(zhí)行a>>=2;后,a的值是()A.2B.9C.4D.18答案:A解析:“a>>=2”等價(jià)于“a=a>>2”,9右移2位相當(dāng)于除以4,結(jié)果為2。62.以下循環(huán)語句會(huì)執(zhí)行多少次()while(0){printf("Loop\n");}A.0B.1C.無限次D.由循環(huán)體決定答案:A解析:while循環(huán)條件為0(假),循環(huán)體一次都不執(zhí)行。63.若有指針定義int*p;intarr[5]={1,3,5,7,9};p=arr+1;則*p的值是()A.1B.3C.5D.7答案:B解析:p指向數(shù)組arr的第2個(gè)元素,*p就是該元素的值3。64.以下關(guān)于結(jié)構(gòu)體和函數(shù)的說法,正確的是()A.結(jié)構(gòu)體變量不能作為函數(shù)參數(shù)B.函數(shù)不能返回結(jié)構(gòu)體類型的值C.可以將結(jié)構(gòu)體變量作為函數(shù)參數(shù)傳遞D.結(jié)構(gòu)體變量只能在函數(shù)內(nèi)部定義答案:C解析:可以將結(jié)構(gòu)體變量作為函數(shù)參數(shù)傳遞,函數(shù)也可以返回結(jié)構(gòu)體類型的值,結(jié)構(gòu)體變量可以在函數(shù)內(nèi)外定義。65.若有定義inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};則a[2][1]的值是()A.7B.8C.9D.6答案:B解析:二維數(shù)組a中a[2][1]表示第3行第2個(gè)元素,值為8。66.以下語句執(zhí)行后,變量x的值是()intx=20;x%=6;A.2B.3C.6D.20答案:A解析:“x%=6”等價(jià)于“x=x%6”,20對(duì)6取余結(jié)果為2。67.若有函數(shù)定義intfunc(inta,intb){returna-b;}調(diào)用該函數(shù)并將結(jié)果賦值給變量c,以下正確的是()A.c=func(5,3);B.c=func(5.5,3.5);C.c=func();D.c=func(5);答案:A解析:函數(shù)func需要兩個(gè)整型參數(shù),A選項(xiàng)傳遞兩個(gè)整型參數(shù)并將結(jié)果賦值給c,正確。68.以下關(guān)于for循環(huán)的嵌套,說法正確的是()A.for循環(huán)不能嵌套B.for循環(huán)只能嵌套一層C.for循環(huán)可以嵌套多層D.for循環(huán)嵌套時(shí)內(nèi)外層循環(huán)變量必須相同答案:C解析:for循環(huán)可以嵌套多層,內(nèi)外層循環(huán)變量可以不同。69.若有指針定義intarr[10];int*p=arr;要訪問數(shù)組的第5個(gè)元素,以下正確的是()A.*(p+4)B.*(p+5)C.p[5]D.p+4答案:A解析:數(shù)組下標(biāo)從0開始,第5個(gè)元素下標(biāo)為4,p+4指向該元素,*(p+4)訪問該元素的值。70.以下關(guān)于文件操作中fread和fwrite函數(shù)的說法,正確的是()A.fread和fwrite函數(shù)只能用于二進(jìn)制文件操作B.fread和fwrite函數(shù)只能用于文本文件操作C.fread函數(shù)用于讀取文件內(nèi)容,fwrite函數(shù)用于寫入文件內(nèi)容D.fread和fwrite函數(shù)的參數(shù)個(gè)數(shù)不同答案:C解析:fread和fwrite函數(shù)可以用于二進(jìn)制文件和文本文件操作,fread用于讀取,fwrite用于寫入,二者參數(shù)個(gè)數(shù)相同。71.若有定義inta=6,b=8;則表達(dá)式a>b?b:a的值是()A.6B.8C.14D.2答案:A解析:條件運(yùn)算符中,a>b為假,所以取冒號(hào)后面的值a,即6。72.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=5;i>0;i-=2){printf("%d\n",i);}A.2B.3C.4D.5答案:B解析:i從5開始,每次減2,i依次取5、3、1,共執(zhí)行3次。73.若有指針定義intarr[5]={2,4,6,8,10};int*p=&arr[1];則*(p-1)的值是()A.2B.4C.6D.8答案:A解析:p指向數(shù)組arr的第2個(gè)元素,p-1指向第1個(gè)元素,*(p-1)就是該元素的值2。74.以下關(guān)于共用體和結(jié)構(gòu)體在內(nèi)存占用上的區(qū)別,正確的是()A.共用體和結(jié)構(gòu)體占用的內(nèi)存大小一樣B.共用體占用的內(nèi)存大小是其最大成員的大小C.結(jié)構(gòu)體占用的內(nèi)存大小是其所有成員大小之和D.共用體和結(jié)構(gòu)體的內(nèi)存占用與成員類型無關(guān)答案:B解析:共用體占用的內(nèi)存大小是其最大成員的大小,結(jié)構(gòu)體占用的內(nèi)存大小是其所有成員大小之和,但可能存在內(nèi)存對(duì)齊。75.若有定義inta[4];則以下對(duì)數(shù)組元素賦值正確的是()A.a[0]=1;a[1]=2;a[2]=3;a[3]=4;B.a={1,2,3,4};C.a[4]=5;D.a(1)=2;答案:A解析:A選項(xiàng)逐個(gè)給數(shù)組元素賦值正確;數(shù)組名是常量指針不能用大括號(hào)賦值,B錯(cuò)誤;數(shù)組下標(biāo)越界,C錯(cuò)誤;數(shù)組元素訪問用方括號(hào),D錯(cuò)誤。76.以下語句執(zhí)行后,變量x的值是()intx=25;x/=5;A.5B.25C.30D.20答案:A解析:“x/=5”等價(jià)于“x=x/5”,25除以5結(jié)果為5。77.若有函數(shù)定義voidfunc(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}調(diào)用該函數(shù)交換兩個(gè)變量的值,以下正確的是()A.func(&x,&y);B.func(x,y);C.func(*x,*y);D.func(&x,y);答案:A解析:函數(shù)參數(shù)是指針類型,調(diào)用時(shí)實(shí)參應(yīng)該是變量的地址,A選項(xiàng)正確。78.以下關(guān)于do-while和while循環(huán)在處理空循環(huán)體時(shí)的區(qū)別,正確的是()A.do-while循環(huán)不能處理空循環(huán)體B.while循環(huán)處理空循環(huán)體時(shí)會(huì)無限循環(huán)C.do-while循環(huán)處理空循環(huán)體時(shí)至少執(zhí)行一次D.while和do-while循環(huán)處理空循環(huán)體的方式一樣答案:C解析:do-while循環(huán)先執(zhí)行循環(huán)體再判斷條件,處理空循環(huán)體時(shí)至少執(zhí)行一次;while循環(huán)先判斷條件,條件為假時(shí)不執(zhí)行。79.若有指針定義charstr1[10]="abc";charstr2[10]="def";要比較兩個(gè)字符串是否相等,以下正確的是()A.if(str1==str2){...}B.if(strcmp(str1,str2)==0){...}C.if(strcpy(str1,str2)==0){...}D.if(strcat(str1,str2)==0){...}答案:B解析:strcmp函數(shù)用于比較兩個(gè)字符串是否相等,若返回值為0則表示兩個(gè)字符串相等,B選項(xiàng)正確。A選項(xiàng)中用“==”比較的是兩個(gè)數(shù)組的首地址,而不是字符串內(nèi)容;strcpy是字符串復(fù)制函數(shù),strcat是字符串連接函數(shù),它們返回值的意義并非用于比較字符串是否相等,C、D選項(xiàng)錯(cuò)誤。80.以下關(guān)于文件操作中feof函數(shù)的說法,正確的是()A.feof函數(shù)在文件指針到達(dá)文件末尾前返回值一直為真B.feof函數(shù)只能用于文本文件C.feof函數(shù)在文件指針到達(dá)文件末尾后返回值為真D.feof函數(shù)調(diào)用后會(huì)改變文件指針的位置答案:C解析:feof函數(shù)用于判斷文件指針是否到達(dá)文件末尾,在文件指針到達(dá)文件末尾后返回值為真,在到達(dá)末尾前返回值為假,它可用于文本文件和二進(jìn)制文件,且調(diào)用后不會(huì)改變文件指針的位置。81.若有定義inta=11;則執(zhí)行a&=3;后,a的值是()A.1B.3C.11D.14答案:A解析:“a&=3”等價(jià)于“a=a&3”,11的二進(jìn)制是1011,3的二進(jìn)制是0011,按位與運(yùn)算后結(jié)果為0011即1。82.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=0;i<10;i+=4){printf("%d\n",i);}A.2B.3C.4D.10答案:B解析:i從0開始,每次加4,i依次取0、4、8,共執(zhí)行3次。83.若有指針定義intarr[5]={100,200,300,400,500};int*p=arr+3;則*p的值是()A.100B.200C.400D.500答案:C解析:p指向數(shù)組arr的第4個(gè)元素,*p就是該元素的值400。84.以下關(guān)于結(jié)構(gòu)體嵌套的說法,錯(cuò)誤的是()A.結(jié)構(gòu)體可以嵌套其他結(jié)構(gòu)體B.嵌套結(jié)構(gòu)體成員的訪問需要使用多個(gè)成員運(yùn)算符C.嵌套結(jié)構(gòu)體在內(nèi)存中是連續(xù)存儲(chǔ)的D.嵌套結(jié)構(gòu)體不能作為函數(shù)參數(shù)答案:D解析:結(jié)構(gòu)體可以嵌套其他結(jié)構(gòu)體,訪問嵌套結(jié)構(gòu)體成員需要使用多個(gè)成員運(yùn)算符,嵌套結(jié)構(gòu)體在內(nèi)存中是連續(xù)存儲(chǔ)的,且嵌套結(jié)構(gòu)體可以作為函數(shù)參數(shù)。85.若有定義inta[2][2]={{1,2},{3,4}};則a[1][0]的值是()A.1B.2C.3D.4答案:C解析:二維數(shù)組a中a[1][0]表示第2行第1個(gè)元素,值為3。86.以下語句執(zhí)行后,變量x的值是()intx=30;x-=10;A.10B.20C.30D.40答案:B解析:“x-=10”等價(jià)于“x=x-10”,30減10結(jié)果為20。87.若有函數(shù)定義doublefunc(doublea,doubleb){returna*b;}調(diào)用該函數(shù)并將結(jié)果賦值給變量c,以下正確的是()A.c=func(2.5,3.0);B.c=func(2,3);C.c=func();D.c=func(2.5);答案:A解析:函數(shù)func需要兩個(gè)雙精度浮點(diǎn)型參數(shù),A選項(xiàng)傳遞兩個(gè)雙精度浮點(diǎn)型參數(shù)并將結(jié)果賦值給c,正確。88.以下關(guān)于while循環(huán)的嵌套,說法正確的是()A.while循環(huán)不能嵌套B.while循環(huán)只能嵌套一層C.while循環(huán)可以嵌套多層D.while循環(huán)嵌套時(shí)內(nèi)外層循環(huán)條件必須相同答案:C解析:while循環(huán)可以嵌套多層,內(nèi)外層循環(huán)條件可以不同。89.若有指針定義intarr[10];int*p=arr;要訪問數(shù)組的第8個(gè)元素,以下正確的是()A.*(p+7)B.*(p+8)C.p[8]D.p+7答案:A解析:數(shù)組下標(biāo)從0開始,第8個(gè)元素下標(biāo)為7,p+7指向該元素,*(p+7)訪問該元素的值。90.以下關(guān)于文件操作中fseek函數(shù)的說法,正確的是()A.fseek函數(shù)只能用于文本文件B.fseek函數(shù)用于設(shè)置文件指針的位置C.fseek函數(shù)調(diào)用后文件指針位置不會(huì)改變D.fseek函數(shù)的參數(shù)只有一個(gè)答案:B解析:fseek函數(shù)用于設(shè)置文件指針的位置,可用于文本文件和二進(jìn)制文件,調(diào)用后文件指針位置會(huì)改變,它有三個(gè)參數(shù)。91.若有定義inta=7,b=9;則表達(dá)式a<b?b:a的值是()A.7B.9C.16D.2答案:B解析:條件運(yùn)算符中,a<b為真,所以取冒號(hào)前面的值b,即9。92.以下循環(huán)語句會(huì)執(zhí)行多少次()for(inti=15;i>10;i-=3){printf("%d\n",i);}A.1B.2C.3D.5答案:B解析:i從15開始,每

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論