2017年計算機二級C語言考前練習試題及答案2_第1頁
2017年計算機二級C語言考前練習試題及答案2_第2頁
2017年計算機二級C語言考前練習試題及答案2_第3頁
2017年計算機二級C語言考前練習試題及答案2_第4頁
2017年計算機二級C語言考前練習試題及答案2_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2017年計算機二級C語言考前練習試題及答案2程序運行后的輸出結果是()。A、1*1=11$2=21*3=3(22)有以下程序:程序運行后的輸出結果是()。A,*2*6B.}3*5一C.}5D.*7(23)有以下程序:程序運行后的輸出結果是()。A.500B.401C.503D.1404(24)若有以下函數首部:intfun(doublex[10],int*n)則下面針對此函數的函數聲明語句中正確的是()。intfun(double,int);B.intfun(double木,int*);C.intmn(double*x,intn);D.intfun(doublex,intint*n)(25)有以下程序:程序運行后的輸出結果是()。A.2,1,1,2B.1,2,1,2C.2,1,2,1D.1,2,2,1(26)若有以下定義:intx[10],*pt=x;則對x數組元素的正確引用是()。A.pt+3B.}&x[10]C.*(pt+10)D.*(x+3)(27)有以下程序:程序執行后的輸出結果是()。A.20B.25C.45D.36(28)有以下程序:程序運行后的輸出結果是()。A.1,O,7,0,B.1,2,3,4,C.1,4,5,9,D.3,4,8,10,(29)設有定義:char*C;以下選項中能夠使C正確指向一個字符串的是()。A.charstr()=”strin9”;C=str;B.scanf(”%s”,C.;C.c=getchar();D.*c=”strin9”;(30)若有定義語句:charS[10]=”1234567\0\0”;則strlen(s)的值是()。A.7B.8C.9D.10(31)有以下程序:程序運行后的輸出結果是()。A.11B.9C.6D.7(32)有以下程序(說明:字母A的ASCIl碼值是65):程序運行后的輸出結果是()。A.BTB.YEC.YTD.BY(33)有以下程序:程序運行后的輸出結果是()。A.120B.11C.6D.21(34)有以下程序:程序運行后的輸出結果是()。、A.ABEFB.CDEFC.ABCDD.CDAB(35)以下關于typedef的敘述錯誤的是()。A.用typedef可以增加新類型B.typedef只是將已存在的類型用一個新的名字來代替C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名D.用typedef為類型說明一個新名,通常可以增加程序的可讀性(36)程序中已構成如下圖所示的不帶頭結點的單向鏈表結構,指針變量s、p、q均已正確定義,并用于指向鏈表結點,指針變量s總是作為指針指向鏈表的第一個結點。若有以下程序段:該程序段實現的功能是()。A.刪除尾結點B.尾結點成為首結點C.刪除首結點D.首結點成為尾結點(37)有以下程序:程序運行后的輸出結果是()。A.33B.197C.143D.28(38)若有以下程序段:程序運行后的輸出結果是()。A.16B.8C.4D.2(39)以下敘述中錯誤的是()。A.gets函數用于從終端讀人字符串B.getehar函數用于從磁盤文件讀人字符C.fputs函數用于把字符串輸出到文件D.fwrite函數用于以二進制形式輸出數據到文件(40)有以下程序:以上程序執行后abc.dat文件的內容是()。A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina(21)A【解析】外循環第一次i的值為1,內循環第一次j的初值為1,打印1*1=1;內循環第二次j的值為2,打印1$2=2;內循環第三次J的值為3,打印1}3=3,打印回車換行,退出內循環。外循環第二次i的值為2,內循環第一次j的初值為2,打印2*2=4;內循環第二次j的值為3,打印2。3=6,打印回車換行,退出內循環。外循環第三次i的值為3,內循環第一次j的初值為3,打印3*3=9,打印回車換行,退出內循環。(22)D【解析】d0...whi1e語句是先執行后判斷,所以第一次先執行循環體,判斷i%3==1的條件,由于i為5,所以余數為2,條件不成立,執行i++,i的值為6,判斷whi1e條件為真;第二次執行循環體,同第一次循環的執行過程一樣,i的值變為7,判斷whi1e條件為真;第三次執行循環體,此時i%3==1,條件成立,再判斷i%5==2也成立,打印*與i的值,即*7,然后執行break語句,跳出循環。所以選擇D選項。(23)C【解析】本題重點考察函數的定義和調用,第一次循環,a=0,i=0,返回值a=0*0+1+0=1;第二次循環,a=1,i=10,返回值a=10*10+1+1=102;第三次循環,a=102,i-20,返回值a=20*20+1十102=503;第四次循環,a=503,i=30;不符合i<30,跳出循環,最后結果輸出a=503。(24)B【解析】函數聲明的一般形式為:“類型說明符被調函數名(類型形參,類型形參,……);”或“類型說明符被調函數名(類型,類型,……);”由于函數首部為intfun(doub1ex[10],int*n),因此B選項正確。(25)D【解析】intm=1,n=2,*P=&m,。q=&I1,*r;即指針變量P指向m,指針變量q指向n,r=P;P=q;q=。;即通過指針變量r,將指針P和指針q的指向交換。因此最后輸出1,2,2,1。(26)D【解析】沒有A選項的引用形式。+與&放在一起作用抵消,所以B選項錯誤,只能引用到X[9]。+(pt+i)表示引用指針pt所指元素后的第i個元素,所以c選項錯誤,只能為+(pt+9)。因此D選項正確。(27)B【解析】統計1~9九個數中的奇數和,此題考察指向數組的指針。C語言規定數組名代表數組的首地址,也就是第一個元素的地址。因此·(t+i)代表數組的第i+1個元素。程序運行的結果是1+3+5+7+9=25。(28)A【解析】該程序首先在定義變量時,對二維數組a[][N]進行賦值操作;調用函數fun,函數fun的功能是將二維數組中的a[0兒0]、a[1][1]、a[2][2]和a[3][3]賦值給一維數組,最后將一維數組元素1,0,7,0,輸出。(29)A【解析】A選項為正確用法,先將字符串存于字符數組中,然后將數組名賦給字符指針(數組名代表數組首地址,定義數組時為其分配確定地址)。C選項錯誤,getchar()函數只能輸入一個字符給字符型變量,而不是字符指針。B選項和D選項有類似的錯誤,兩個選項并無語法錯誤,但運行時可能會出現問題。因為在B選項和D選項中,字符指針沒有被賦值,是個不確定的值,指向一個不確定的內存區域,這個區域可能存放有用的指令或數據。在這個不確定的區域重新存放字符串,可能會發生無法預知的錯誤。因此A選項正確。(30)A【解析】str1en()函數在計算字符串長度時,遇到結束標識為止,且長度不包括結束標識。本題中字符串,從第一個字符開始,遇到第一個結束標識‘\0’為止,注意‘\0’不占字符串長度,所以字符串長度為7。因此A選項正確。(31)C【解析】strcpy:字符串拷貝函數;str1en:求字符串長度函數(注意:不包含字符串結束標識符‘、0’);strcat:字符串連接函數。執行完語句strcat(P,r);后,P數組中存儲的元素為a,b,c,d,a,b,C,d,8;執行語句strcpy(P+str1en(q),q);得到的結果是將q所指向的字符串拷貝至P+str1en(q)開始的存儲位置,因為str1en的值為3,即從P+3開始存儲q中的元素。所以執行完strcpy(P+str|en(q),q)語句后,字符數組P[20]的存儲元素為a,b,c,a,b,o;所以str1en(P)的結果為6。因此C選項正確。(32)B【解析】本題中執行fun(a)時,會取字符串a的第一個字母B,因為字母B的ASCI1碼值為66,所以不會輸出字母8,函數只會輸出ASCI1碼值為奇數的字母,字母Y的ASCI1碼值為89,字母T的ASCI1碼值為84,字母E的ASCII碼值為69。因此B選項正確。(33)D【解析】fun函數中的變量X為靜態局部變量,占用固定的內存單元,下一次調用時仍可以保留上次調用時的值。也就是說,如果多次調用fun函數,x的定義只在第一次調用時有效,從第二次調用開始,x的定義相當于不存在,直接使用上次X的值。fun函數被調用了5次,每次調用后的返回值累加到s上。5次調用后,x的值為6,8的值為1+2+3+4+5+6=21。因此D選項正確。(34)B【解析】本題考察的是變量的作甩范圍。如果在同一個源文件中,外部變量與局部變量同名,則在局部變量的作用范圍內,外部變量被“屏蔽”,即不起作用:奉題中,在fun1()和main()函數內訪問的是全局變量a和b,在fun2()函數中訪問的是形參變量a和b。所以,main()函數中的prinff()函數輸出的是在fun1()函數中被改變的全局變量a和b的值c、D,而fun2()函數中輸出的是傳遞給它的實參值E、F。因此B選項正確。(35)A【解析】typedef并不是增加了新類型,面是用一個新名字替代已存在的類型,不能為變量說明一個新名,使用typedef可以增強程序的可移植性。所以A選項錯誤:(36)D【解析】本題考查鏈表的操作,本題中首先是s指向了它的下個結點,題目中說明了s總是指向鏈表的第一個結點,然后whi1e循環找到鏈表的最后一個元素,然后最后一個元素指向了之前鏈表的頭結點,之前頭結點指向了空結點,所以本題實現的功能是使首結點成為尾結點。選項D正確。(37)C【解析】本題考查帶參數的宏定義,s為帶參數的宏定義,運行S(k+j)為4*(k+j)*k+j+1=143,選項C正確。(38)C【解析】本題考查位運算,屬于基礎知識,題

溫馨提示

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

評論

0/150

提交評論