版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精心整理全國計算機(jī)等級考試(二級C語言)試卷分析一、選擇題(每小題1分,共40小題,共40分)前面的10道題涉及計算機(jī)基礎(chǔ)知識(數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、軟件工程等方面知識),在這里就不針對計算機(jī)基礎(chǔ)知識部分進(jìn)行分析。11.以下敘述中正確的是()。A.在C語言程序中,main函數(shù)必須放在其他函數(shù)的最前面B.每個后綴為C的C語言源程序都可以單獨進(jìn)行編譯C.在C語言程序中,只有main函數(shù)才可單獨進(jìn)行編譯D.每個后綴為.C的C語言源程序都應(yīng)該包含一個main函數(shù)【解析】BoC語言是一種成功的系統(tǒng)描述語言,具有良好的移植性,每個后綴為.C的C語言源程序都可以單獨進(jìn)行編譯;C語言程序中,不管包含多少個后綴為C
2、的程序文件,但是一定有且僅有一個main函數(shù),而且main函數(shù)在程序中可以放在任何其他函數(shù)之前或之后。12 .C語言中的標(biāo)識符分為關(guān)鍵字、預(yù)定義標(biāo)識符和用戶標(biāo)識符,以下敘述正確的是()oA.預(yù)定義標(biāo)識符(如庫函數(shù)中的函數(shù)名)可用做用戶標(biāo)識符,但失去原有含義B.用戶標(biāo)識符可以由字母和數(shù)字任意順序組成C.在標(biāo)識符中大寫字母和小寫字母被認(rèn)為是相同的字符D.關(guān)鍵字可用做用戶標(biāo)識符,但失去原有含義【解析】A。用戶標(biāo)識符不能以數(shù)字開頭,C語言中標(biāo)識符是區(qū)分大小寫的,關(guān)鍵字不能用做用戶標(biāo)識符。13 .以下選項中表示一個合法的常量是(說明:符號口表示空格)()oA.999B.0XabC.123E0.2【解析】
3、Bo當(dāng)用指數(shù)形式表示浮點數(shù)據(jù)時,E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù);整型常量:0123表示八進(jìn)制整型常量,Oxab表示十六進(jìn)制整型常量,123精心整理為十進(jìn)制整型常量,123L表示長整型常量,123U表示無符號整型常量,123UL表示無符號長整型常量。答案A沒有這種常量,如果加上雙引號是可以表示字符串常量。14 .C語言主要是借助以下哪個功能來實現(xiàn)程序模塊化?()A.定義函數(shù)B.定義常量和外部變量C.三種基本結(jié)構(gòu)語句D.豐富的數(shù)據(jù)類型【解析】A。C語言是由函數(shù)組成的,函數(shù)是C語言的基本單位。所以可以說C語言主要是借助定義函數(shù)來實現(xiàn)程序模塊化。15 .以下敘述中錯誤的是()。A.非零的數(shù)
4、值型常量有正值和負(fù)值的區(qū)分B.常量是在程序運行過程中值不能被改變的量C.定義符號常量必須用類型名來設(shè)定常量的類型D.用符號名表示的常量叫符號常量【解析】Co在C語言中,可以用一個標(biāo)識符來表示一個常量,稱之為符號常量。符號常量在使用之前必須先定義,其一般形式為:#define標(biāo)識符常量。16 .若有定義和語句:inta,b;scanf(%d,%d,&a,&b);以下選項中的輸人數(shù)據(jù),不能把值3賦給變量a、5賦給變量b的是()。A.3,5,B.3,5,4C.35D.3,5【解析】Co在輸入3和5之間除逗號外不能有其他字符。答案B和A是可以的,原因是用scanf函數(shù)輸入時,從左往右對應(yīng)給值,右邊多余
5、的值不輸入進(jìn)去。17 .C語言中char類型數(shù)據(jù)占字節(jié)數(shù)為()。A.3B.4C.1D.2【解析】Co在標(biāo)準(zhǔn)C(ANSI-C)中,char類型數(shù)據(jù)占1個字節(jié)。18 .下列關(guān)系表達(dá)式中,結(jié)果為“假”的是()。A.(3+4)6B.(3!=4)2C.3=4|3D.(32為假。精心整理精心整理19 .若以下選項中的變量全部為整型變量,且已正確定義并賦值,則語法正確的sw血h語句是0。A. switch(a+9)cased:y=a-b;casec2:y=a+b;)B. switcha*bcaselO:x=a+b;default:y=a-b;)C. switch(a+b)easel:case3:y=a+b;
6、break;caseO:case4:y=a-b;)D. switch(a*a+b*b)default:break;case3:y=a+b;break;case2:y=a-b;break;)【解析】D。選項A,sw血h語句中要求case后面必須是常量,不能是變量;選項B,a*b要用括號括起來;選項C,case與后面的數(shù)字用空格隔開。注意switch語句語句結(jié)束的方式:一是見到break;二是執(zhí)行到自然結(jié)束。20 .有以下程序:#includemain()inta=-2,b=0;while(a+&+b);printf(%d,%dn,a.b);)程序運行后的輸出結(jié)果是()。A.1,3B.0,2C.0
7、,3D.1,2【解析】Dowhile循環(huán)第一次結(jié)束后a,b取值為:-1,1;第二次結(jié)束后a,b的值為:0,2;第三次沒有執(zhí)行循環(huán)體(空語句),只是判斷了一下a+是否為真,因a為0,所以a+為假,但a的值加1,所以a的值變成1,但&運算符的第一個表達(dá)式為假時,第二個表達(dá)式不計算,所以+b不執(zhí)行,故b的值還是2。所以,最終a,b的值為1,2。21 .設(shè)有定義:intx=O,*p;,立刻執(zhí)行以下語句,正確的語句是()。A.p=x;B.*p=x;C.p=NULL;D.*p=NULL;【解析】Co對于指針變量p,如果沒有把p指向一個指定的值,則說明指針變量p內(nèi)的值是NULL,即空值,也就是說沒有存放任何
8、存儲空間的地址,所以*p是不能被賦值的。定義指針變量不賦初始值時默認(rèn)為NULLo22 .下列敘述中正確的是()。A.可以用關(guān)系運算符比較字符串的大小23 空字符串不占用內(nèi)存,其內(nèi)存空間大小是0C.兩個連續(xù)的單引號是合法的字符常量D.兩個連續(xù)的雙引號是合法的字符串常量【解析】D。比較兩個字符串大小用函數(shù)stcomp(s,t),不能用關(guān)系運算符比較字符串的大小;空字符串有結(jié)束符(0),所以也要占用1字節(jié);兩個連續(xù)的單引號是不合法,單引號中間必須有一個字符(普通字符或轉(zhuǎn)義字符);兩個連續(xù)的雙引號表示的是空字符串。23.有以下程序:#includemain()rhara=H;a=(a=,A&a=2)?
9、(a-/I+a1):a;printf(%cn,a);)程序運行后的輸出結(jié)果是()。A.AB.aC.HD.h【解析】Do多元運算符問號前面表達(dá)式為真,所以(a彳賦值給a.括號里的運算是把大寫字母變成小寫字母,所以答案應(yīng)為選項Do24 .有以下程序:#includeintf(intx);main()inta,b=0;for(a=0;a3;a+)b=b+f(a);putchar(A+b);)intf(intx)returnx*xl;程序運行后的輸出結(jié)果是0。A.ABEB.BDIC.BCFD.BCD【解析】Bo第一次循環(huán)時,b=1,輸出結(jié)果為B;第二次循環(huán)時,b=3,輸出結(jié)果為D;第三次循環(huán)時,b=8
10、,輸出結(jié)果為I。25 .設(shè)有定義:intx23;,則以下關(guān)于二維數(shù)組X的敘述錯誤的是()。A. x可看做是由3個整型元素組成的一維數(shù)組B. x0和xl是數(shù)組名,分別代表不同的地址常量C.數(shù)組X包含6個元素精心整理精心整理D.可以用語句x0=0;為數(shù)組所有元素賦初值0【解析】Do對于二維數(shù)組來說,數(shù)組的名字x是一個二級指針常量;第一維表示行地址,比如:x0表示第一行的地址,而且是個地址(一級指針)常量,所以x0是不能賦值的。26 .設(shè)變量P是指針變量,語句P=NULL;是給指針變量賦NULL值,它等價于0。A.p=;B.p=O;C.p=0;D.p=;【解析】Co在C語言中NULL等價于整數(shù)0。2
11、7 .有以下程序:#includemain()inta=10,20,30,40,*p=a,j;for(i=0;i=3;i+)ai=*p;p+;printf(%dn,a2);)程序運行后的輸出結(jié)果是0。A.30B.40C.10D.20【解析】Aofor循環(huán)中第一次循環(huán)時,a0=*p,因為有p=a;故相當(dāng)于a0=*a;根據(jù)一維數(shù)組的定式:ai=*(a+i),說明每次循環(huán)是將數(shù)組的當(dāng)前元素賦值給自己,后面每次循環(huán)依此類推。所以,for循環(huán)結(jié)束后,數(shù)組a的值并沒有變化,由于數(shù)組下標(biāo)是由0開始,所以a2的值是30o28 .有以下程序:#include#defineN3voidfun(intaN,intb
12、)inti,j;for(i=0;iN;i+)bi=ai0;精心整理精心整理for(j=0;jbi)bi=aiQ;)main()intxNN=1,2,3,4,5,6,7,8.9,yN,i;fun(x,y);for(i=0;iN;i+)printf(u%d,ff,yi);)程序運行后的輸出結(jié)果是0。A.2,4,8,B.3,6,9,C.3,5,7,D.1,3,5,【解析】Bofun函數(shù)功能是把數(shù)組a的每一行的最大值賦給b.a的第一行的最大值是3,第二行的最大值是6,第三行的最大值是9,所以答案是3,6,9o29 .有以下程序(stcpy為字符串復(fù)制函數(shù),strcat為字符串連接函數(shù)):#includ
13、e#includevstring.hmain()chara10=abc,b10=012,c10=xyz;strcpy(a+1,b+2);puts(strcat(a,c+1);)程序運行后的輸出結(jié)果是()。A.al2xyzB.12yzC.a2yzD.bc2yz【解析】Co第一次執(zhí)行字符串的復(fù)制函數(shù)后,字符串a(chǎn)中的值是a2,第二次執(zhí)行的是字符串的精心整理精心整理連接函數(shù),連接后,a字符串變成了a2yz,再輸出,所以運行結(jié)果為a2yz。本題最主要的是了解字符串名加一個整型常量所代表的字符串是什么,比如:有精心整理chara10=HabcH;定義,則字符串a(chǎn)的值是abc;而字符串a(chǎn)+1的值是be;字符
14、串a(chǎn)+2的值是c;字符串b+3的值是0,即不空串。30 .以下選項中,合法的是()。A. charstr3=*d,e,b,u,g,O);B. charstr4;str4=helloworld;C. charname10;name=Hchinan;D. charstrl5=Hpass,str26;str2=strl;【解析】Ao選項B不能把一個字符串賦值給一個字符變量str4;選項C和D犯了同樣的錯誤是把字符串賦給了數(shù)組名,數(shù)組名是一個指針常量,常量是不能被賦值的。31 .有以下程序:#includemain()char*s=234;intk=0,a=0;while(sk+1!=0)k+;if(
15、k%2=0)a=a+(sk-1 O +1);continue;a=a+(sk-1O);printf(Hk=%da=%dnM,k,a);程序運行后的輸出結(jié)果是0。A.k=6a=11B.k=3a=14C.k=4a=12D.k=5a=15【解析】Co輸出結(jié)果:k=1a=2k=2a=4k=3a=7k=4a=1232 .有以下程序:精心整理#includemain()chara510=one,two,three,four,five;inti,j;chart:for(i=0;i4;i+)for0=i+1;jaO0)t=ai0;ai0=aO0;aO0=t;puts(a1);)程序運行后的輸出結(jié)果是0。A.f
16、woB.fixC.twoD.owo【解析】Aofor循環(huán)完成的功能是把二維數(shù)組a的第一列的字母按從小到大排序其他列的字母不變。排序方法是類冒泡排序。33 .有以下程序:#includeinta=1,b=2;voidfun1(inta,intb)printf(%d%d,a,b);voidfun2()a=3;b=4;main()fun1(5,6);fun2();printf(%d%dn,a,b);精心整理精心整理程序運行后的輸出結(jié)果是()。精心整理精心整理A.1256B.5634C.5612D.3456【解析】Bofunl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是56
17、34o當(dāng)全局變量與局部變量同名時,在重疊的作用域中,局部變量起作用(可憐原則,即誰的作用域小誰就在重疊的作用域中起作用)o34 .有以下程序:#includevoidfunc(intn)staticintnum=1;num=num+n;printf(H%dH,num);)main()func(3);func(4);printf(n);程序運行后的輸出結(jié)果是0。A.48B.34C.35D.45【解析】A。第一調(diào)用func函數(shù)時輸出4,第二次調(diào)用func函數(shù)時num的值并不會釋放,仍然是上次(第一次調(diào)用func函數(shù)時)修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。本題考的是靜態(tài)局部變量的作
18、用域與生存期(存放在靜態(tài)存儲區(qū))不一致的情況,第一次調(diào)用完后,靜態(tài)局部變量num的值為4,存放到靜態(tài)存儲區(qū),函數(shù)func執(zhí)行結(jié)束,其作用域消失,但存放在靜態(tài)存儲區(qū)的num變量的值4還在,但仍然不能拿出來用,只能等下次再進(jìn)入作用域時,即第二次調(diào)用函數(shù)func時,又進(jìn)入靜態(tài)局部變量num的作用域,此時,變量num又可以拿出來使用,由于已經(jīng)存在靜態(tài)存儲區(qū),所以不用重新定義該變量,可以直接從靜態(tài)存儲區(qū)取出變量num的值(4)來使用,所以第二次調(diào)用后,num的值變成了8o35 .有以下程序:#include#includevoidfun(int*pl,int*p2,infs)精心整理精心整理s=(int
19、*)malloc(sizeof(int);*s=*pl+*p2;free(s);)main()inta=1,b=40,*q=&a;fun(&a,&b,q);printf(%dn,*q);)程序運行后的輸出結(jié)果是0。A.42B.OC.1D.41【解析】C。fun函數(shù)功能是新開辟內(nèi)存空間(地址s)存放a和b的值(通過&a、&b將地址復(fù)制給pKp2),q的地址并沒有變化,所以應(yīng)該還是指向地址a。36 .有以下程序:#includestructSTUcharname9;charsex;intscore2;voidf(structSTUa)structSTUb=Zhao,m,85,90);a1=b;)m
20、ain()structSTUc2=Qian,f,95,92,Sun,m98,99;f(c);printf(s%c%d,%d,,,c0.sex,c0.score0,co.score1);printf(H%s,%c,%d,%dn”,,c1.sex,c1.scoreo,c1.score1);精心整理m, 85, 90, Sun, m, 98, 99m, 85, 90, Qian, f, 92C.Qian,95, 92, Sun, m, 98, 99D.Qian,oc95, 92, Zhao, m, 90精心整理)程序運行后的輸出結(jié)果是()A.Zhao,B.Zhao,【解析
21、】Dof函數(shù)是為結(jié)構(gòu)體數(shù)組的第二個元素(結(jié)構(gòu)體類型的元素)賦值,數(shù)組的第一個元素沒有變化,所以正確答案應(yīng)選Do37 .以下敘述中錯誤的是()。A.可以用typedef說明的新類型名來定義變量8. typedef說明的新類型名必須使用大寫字母,否則會出編譯錯誤C.用typedef可以為基本數(shù)據(jù)類型說明一個新名稱D.用typedef說明新類型的作用是用一個新的標(biāo)識符來代表已存在的類型名【解析】Botypedef是用來定義新類型,或定義原有類型的別名(新名稱)。用typedef說明的類型不是必須用大寫,而是習(xí)慣上用大寫。38 .以下敘述中錯誤的是()。A.函數(shù)的返回值類型不能是結(jié)構(gòu)體類型,只能是簡單
22、類型B.函數(shù)可以返回指向結(jié)構(gòu)體變量的指針C.可以通過指向結(jié)構(gòu)體變量的指針訪問所指結(jié)構(gòu)體變量的任何成員D.只要類型相同,結(jié)構(gòu)體變量之間可以整體賦值【解析】Ao函數(shù)返回值類型可以是簡單類型和結(jié)構(gòu)體類型。39 .若有定義語句intb=2;,則表達(dá)式(b2)/(311b)的值是()。A.4B.8C.OD.2【解析】Bo2的二進(jìn)制數(shù)為010,移兩位后的二進(jìn)制數(shù)為01000,轉(zhuǎn)成十制數(shù)為8,(3|2)為真即1,8/fc8,所以結(jié)果為8。40 .有以下程序:#include精心整理main()精心整理精心整理FILE*fp;inti,a6=1,2,3,4.5,6;fp=fopen(Hd2.datn,Uw+H
23、);for=(i=0;i6;i+)fpintf(fprewind(fp);for(i=0;i6;i+)fscanf(fpfclose(fp);for(i=0;i%6;i+)printf(H%d程序運行后的輸出結(jié)果是()A.4,5,6,1,2,31B.1,2,3,3,2,VC.1,2,3,4,5,6V1D.6,5,4,3,2,【解D這個是對文件的操作,把數(shù)組的數(shù)寫到文件里,然后再從文件里倒序讀出。所以輸出結(jié)果為6,5,4,3,2,1o基本操作題(共18分)str是一個由數(shù)字和字母字符組成的字符串,由變量num傳入字符串長度。請補(bǔ)充函數(shù)proc(),該函數(shù)的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成
24、數(shù)字并存放到整型數(shù)組bb中,函數(shù)返回數(shù)組bb的長度。例如,Str=abcl23de45f967,結(jié)果為:1234567。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語句。試題程序:#include#defineM80intbbM;精心整理intproc(charstr(inti,n=0;for(i=0;ivnum;i+)if(11),intbb,intnum)bbn=2;n+;return3;)voidmain()(charstrM;intnum=0,n,i;printf(Enterastringgets(str);while(strnum)num+;n=proc(str,bb.num);printf”nbb=);for(i=0;i=O&stri=O-&stri# include# include*foundintproc(charstr)(chare;unsigned!,j;for(i=0;istrlen(str)-1;i+)for(j=i+1;jstrj)(c=strO/undstrj=stri+;stri=c;)voidmain()(charstr81;system(CLS);精心整理精心整理pnntf(HnPleaseenterachar
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時用工工作滿意度調(diào)查及改進(jìn)協(xié)議4篇
- 二零二五年度宿舍安全管理宿管員聘用協(xié)議范本3篇
- 二零二五年度ISO 22000食品安全管理體系認(rèn)證咨詢協(xié)議3篇
- 二零二五年度商業(yè)地產(chǎn)項目配套場地租賃服務(wù)協(xié)議2篇
- 二零二五年度外資企業(yè)外籍員工聘用協(xié)議范本3篇
- 2025年度文化旅游項目募集資金三方監(jiān)管合同4篇
- 2025年度豬圈建造與生物安全防護(hù)合同4篇
- 2025年度生物制藥研發(fā)合作協(xié)議
- 二零二五年度城市綠化用地承包合同范本4篇
- 2025年智能車輛識別一體機(jī)銷售與服務(wù)合同范本4篇
- 纖維增強(qiáng)復(fù)合材料 單向增強(qiáng)材料Ⅰ型-Ⅱ 型混合層間斷裂韌性的測定 編制說明
- 習(xí)近平法治思想概論教學(xué)課件緒論
- 寵物會展策劃設(shè)計方案
- 孤殘兒童護(hù)理員(四級)試題
- 梁湘潤《子平基礎(chǔ)概要》簡體版
- 醫(yī)院急診醫(yī)學(xué)小講課課件:急診呼吸衰竭的處理
- 腸梗阻導(dǎo)管在臨床中的使用及護(hù)理課件
- 調(diào)料廠工作管理制度
- 小學(xué)英語單詞匯總大全打印
- 衛(wèi)生健康系統(tǒng)安全生產(chǎn)隱患全面排查
- GB/T 15114-2023鋁合金壓鑄件
評論
0/150
提交評論