![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2011年春江蘇省計(jì)算機(jī)二級(jí)C考試筆試真題 |
絕密★ 啟用前 2011年春 江蘇省高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生 計(jì)算機(jī)基礎(chǔ)知識(shí)和應(yīng)用能力等級(jí)考試 二級(jí)試卷 試卷語(yǔ)種:C語(yǔ)言 說 明: 1.本試卷包括計(jì)算機(jī)基礎(chǔ)知識(shí)部分和程序設(shè)計(jì)部分,考試時(shí)間共12 0分鐘; 2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型; 3.計(jì)算機(jī)基礎(chǔ)知識(shí)部分全部是選擇題(20分),程序設(shè)計(jì)部分分為選擇題(1 0 分)和填空題(30分)兩種; 4.選擇題用答題卡答題。每一項(xiàng)有A、B、C、D四個(gè)可供選擇的答案,請(qǐng)選 擇其中一個(gè)你認(rèn)為正確的答案,用HB鉛筆涂寫在答題卡的相應(yīng)答題號(hào)內(nèi)。 每選對(duì)一項(xiàng)得1分,不選或選錯(cuò)不得分; 5.填空題用答題紙答題。請(qǐng)將答案用藍(lán)、黑色鋼筆或圓珠筆填寫在答題紙的 相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,不得換行。每填對(duì)一個(gè)答案得1分, 不填或填錯(cuò)不得分; 6.請(qǐng)認(rèn)真填寫并仔細(xì)核對(duì)答題卡和答題紙上的學(xué)校名稱、準(zhǔn)考證號(hào)和姓名是 否填寫正確。 7.考試結(jié)束時(shí)將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收 畢清點(diǎn)后,方可離場(chǎng)。 第一部分計(jì)算機(jī)基礎(chǔ)知識(shí) 1.下列有關(guān)通信技術(shù)的敘述中,錯(cuò)誤的是___(1)___ 。 A. 無論是模擬通信還是數(shù)字通信,目前都是通過載波技術(shù)實(shí)現(xiàn)遠(yuǎn)距離的信息傳輸 B. 多路復(fù)用技術(shù)可以降低信息傳輸?shù)某杀?SPAN lang=EN-US>,常用的多路復(fù)用技術(shù)有TDM和FDM C. 衛(wèi)星通信屬于微波通信,它是微波接力通信技術(shù)和空間技術(shù)相結(jié)合的產(chǎn)物 D. 目前 2.使用存儲(chǔ)器存儲(chǔ)二進(jìn)位信息時(shí),存儲(chǔ)容量是一項(xiàng)很重要的性能指標(biāo)。存儲(chǔ)容量的單位有多種,下面不是存儲(chǔ)容量單位的是___(2)___ 。 A. TB B. XB C. GB D. MB 3.設(shè)有補(bǔ)碼表示的兩個(gè)單字節(jié)帶符號(hào)整數(shù)a=01001110和b=01001111。則a-b的結(jié)果用補(bǔ)碼表示為___(3)___ 。 A. 11111111 B. 10011101 C. 00111111 D. 10111111 4. 下列有關(guān)PC機(jī)主板上BIOS和CMOS的敘述中,錯(cuò)誤的是___(4)___ 。 A. BIOS芯片是一塊閃爍存儲(chǔ)器,其存儲(chǔ)的信息關(guān)機(jī)后不會(huì)丟失 B. BIOS中包含加電自檢程序、系統(tǒng)自舉程序等 C. CMOS芯片屬于易失性存儲(chǔ)器,它使用電池供電 D. CMOS中存放著與硬件相關(guān)的一些配置信息,以及CMOS設(shè)置程序 5. 下列有關(guān)PC機(jī)中央處理器(CPU)和內(nèi)存(內(nèi)存條)的敘述中,錯(cuò)誤的是___(5)___ 。 A. 目前PC機(jī)所使用的Pentium和Core 2微處理器的指令系統(tǒng)有數(shù)百條不同的指令 B. 所謂雙核CPU或四核CPU,是指CPU由兩個(gè)或四個(gè)芯片組成 C. DDR內(nèi)存條、DDR2內(nèi)存條在物理結(jié)構(gòu)上有所不同,例如它們的引腳數(shù)目不同 D. 通常臺(tái)式機(jī)中的內(nèi)存條與筆記本電腦中的內(nèi)存條不同,不能互換 6. 下列有關(guān)PC機(jī)I/O總線與I/O接口的敘述中,正確的是___(6)___ 。 A.PC機(jī)中串行總線的數(shù)據(jù)傳輸速率總是低于并行總線的數(shù)據(jù)傳輸速率 B. SATA接口主要用于連接光驅(qū),不能連接硬盤 C. 通過USB集線器,一個(gè)USB接口理論上可以連接127個(gè)設(shè)備 D. IEEEl394接口的連接器與USB連接器完全相同,均有6根連接線 7. 藍(lán)光光盤(BD)是全高清影片的理想存儲(chǔ)介質(zhì),其單層盤片的存儲(chǔ)容量大約為___(7)___ 。 A.4.7GB B. 8.5GB C.17GB D.25GB 8. 下列有關(guān)PC機(jī)常用I/O設(shè)備(性能)的敘述中,錯(cuò)誤的是___(8)___。 A. 通過掃描儀掃描得到的圖像數(shù)據(jù)可以保存為多種不同的文件格式,例如JPEG、 TIF等 B. 目前數(shù)碼相機(jī)的成像芯片均為CCD類型,存儲(chǔ)卡均為SD卡 C. 刷新速率是顯示器的主要性能參數(shù)之一,目前PC顯示器的刷新速率一般在60Hz以上 D. 從彩色圖像輸出來看,目前噴墨打印機(jī)比激光打印機(jī)有性價(jià)比優(yōu)勢(shì) 9. 下列有關(guān)計(jì)算機(jī)軟件的敘述中,錯(cuò)誤的是___(9)___ · A. 軟件的主體是程序,單獨(dú)的數(shù)據(jù)和文檔資料不能稱為軟件 B. 軟件受知識(shí)產(chǎn)權(quán)(版權(quán))法的保護(hù),用戶購(gòu)買軟件后僅得到了使用權(quán) C. 軟件的版權(quán)所有者不一定是軟件的作者(設(shè)計(jì)人員) D. 共享軟件允許用戶對(duì)其進(jìn)行修改,且可在修改后散發(fā) 10.PC機(jī)從硬盤啟動(dòng)Windows XP操作系統(tǒng)是一個(gè)比較復(fù)雜的過程·在這個(gè)過程中,它需 要經(jīng)過以下這些步驟: I.裝入并執(zhí)行引導(dǎo)程序 Ⅱ.讀出主引導(dǎo)記錄 Ⅲ.裝入并執(zhí)行操作系統(tǒng) Ⅳ.加電自檢 在上述步驟中,正確的工作順序是___(10)___ A. I、Ⅱ、Ⅲ、Ⅳ B. Ⅳ、I、lI、Ⅲ C. Ⅳ、II、I、Ⅲ D. Ⅳ、Ⅲ、II、I 11.下列有關(guān)算法和程序關(guān)系的敘述中,正確的是___(11)___ A. 算法必須使用程序設(shè)計(jì)語(yǔ)言進(jìn)行描述 B. 算法與程序是一一對(duì)應(yīng)的 C. 算法是程序的簡(jiǎn)化 D. 程序是算法的具體實(shí)現(xiàn) 12.采用ADSL方式接入因特網(wǎng)時(shí),ADSLModem將電話線傳輸信道分為三個(gè)信息通道: 語(yǔ)音通道、上行數(shù)據(jù)通道、下行數(shù)據(jù)通道。下列有關(guān)這三個(gè)信息通道的敘述中,錯(cuò)誤 的是 ___(12)___ · A. 語(yǔ)音通道的頻帶最寬、采用的頻率最高,以保證電話通話的質(zhì)量 B. 通常上行數(shù)據(jù)通道的數(shù)據(jù)傳輸速率低于下行數(shù)據(jù)通道的數(shù)據(jù)傳輸速率 C. ADSL的數(shù)據(jù)傳輸速率是根據(jù)線路情況自動(dòng)調(diào)整的 D. 這三個(gè)信息通道可以同時(shí)工作,即可以同時(shí)傳輸信息(數(shù)據(jù)) 13.無線局域網(wǎng)是以太網(wǎng)與無線通信技術(shù)相結(jié)合的產(chǎn)物,其采用的網(wǎng)絡(luò)協(xié)議主要是IEEE 制訂的___(13)___ 。 A. IEEE 802.3 B. IEEE 802.11 C. IEEE 1394 D. IEEE 1394b 14.在因特網(wǎng)中目前主要采用IPv4協(xié)議,IP地址長(zhǎng)度為32位,只有大約36億個(gè)地址。新的第6版IP協(xié)議(IPv6)已經(jīng)將IP地址的長(zhǎng)度擴(kuò)展到___(14)___ 位,幾乎可以不受限制地提供地址。 A. 48 B. 64 C. 128 D. 256 . 15.因特網(wǎng)由大量的計(jì)算機(jī)和信息資源組成,它為網(wǎng)絡(luò)用戶提供了非常豐富的網(wǎng)絡(luò)服務(wù)。 下列與www服務(wù)相關(guān)的敘述中,錯(cuò)誤的是___(15)___ 。 A. WWW采用客戶機(jī)/服務(wù)器工作模式 B. 網(wǎng)頁(yè)到網(wǎng)頁(yè)的鏈接信息由URL指出 C. 瀏覽器是客戶端應(yīng)用程序 D. 所有的網(wǎng)頁(yè)均是HTML文檔 16.目前Windows操作系統(tǒng)支持多種不同語(yǔ)種的字符集,即使同一語(yǔ)種(例如漢語(yǔ))也可 有多種字符集。下列字符集中,不包括“臺(tái)”、“灣”等繁體漢字的是___(16)___ 。 A. GBK B. Big5 C. GB2312 D. GBl8030 17.下列與數(shù)字圖慟圖形相關(guān)的敘述中,錯(cuò)誤的是___(17)___ 。 A. 彩色圖像在數(shù)字化過程中需進(jìn)行分色處理,然后對(duì)不同的基色進(jìn)行取樣和量化 B. 如果某RGB圖像的像素深度為12,則可表示的顏色數(shù)目為2 C. 數(shù)碼相機(jī)常用JPEG格式保存圖像文件,該格式的圖像大多采用有損壓縮編碼 D.圖形是計(jì)算機(jī)合成的圖像,也稱為矢量圖形 18.文件的擴(kuò)展名用于標(biāo)記文件的類型,用戶應(yīng)該盡可能多地知曉各類文件的擴(kuò)展名。下列文件中,屬于數(shù)字視頻的文件是___(18)___ A. ABC.RMVB B. ABC.DLL C. ABC.PDF D. ABC. 19.下列幾種類型的系統(tǒng)軟件中,不屬于計(jì)算機(jī)集成制造系統(tǒng)(CIMS)范疇(或者說,與CIMS無直接關(guān)系)的是___(19)___。 A. GIS B. CAM C. MRP D. ERP 20.下列有關(guān)Microsoft PowerPoint 2003和Microsoft FrontPage 2003軟件的敘述中,錯(cuò)誤的是 20 。 A. 型用PowerPoint編輯演示文稿時(shí),可以將每張幻燈片保存為JPEG圖片 B. 利用PowerPoint編輯演示文稿時(shí),可以錄制聲音 。 C. 利用FrontPage制作網(wǎng)頁(yè)時(shí),無法直接查看網(wǎng)頁(yè)的HTML代碼 D. 利用FrontPage制作網(wǎng)頁(yè)時(shí),背景圖片可以設(shè)置為“水印”效果 第二部分C語(yǔ)言程序設(shè)計(jì) 一、選擇題(用答題卡答題,答案依次填在21--30答題號(hào)內(nèi),共1O分) 21.以下關(guān)于預(yù)處理命令的敘述中錯(cuò)誤的是___(21)_____ 。 A.預(yù)處理命令由預(yù)處理程序解釋 B.程序中的預(yù)處理命令是以#開始的 C.若在程序的一行中出現(xiàn)多條預(yù)處理命令,這些命令都是有效的 D.預(yù)處理命令既可以出現(xiàn)在函數(shù)定義的外部,也可以出現(xiàn)在函數(shù)體內(nèi)部 22.有如下程序段: char p1[80]=” strcpy(p1,strcat(p2,p3)); printf(“%s\n”,p1); 執(zhí)行該程序段后的輸出是______(22)______ A.NanJingYoungOlympic B.YoungOlympic C.Olympic D. 23。已知有聲明”int x[2][3]={0},*p=x[0];”,以下表達(dá)式中有語(yǔ)法錯(cuò)誤的是__(23)____ · A.x[0]=1 B.p[0]= 24.程序中已有預(yù)處理命令”#include <math.h>“和聲明”char x=4,y,*z;”,以下表達(dá)式中能通過編譯且無警告信息的是___(24)___ A.y=sqrt(x)%2 B.y=“x” C.y=’x’+1 D.y=&’x’ 25.已知有定義和聲明: struct {int x;}a[4]={{1},{1},{4},{6}},b; 以下語(yǔ)句中語(yǔ)法正確的是___(25)___ 。 A.if(a[0]==a[1]) b=a[O]; B。if(a[0].x==a[1].x) b=a[0]; C.if(a[0]一>x==a[1]->x) b=a[0]; D。if(!(a[0]-a[1])) b=a[0]; 26.已有聲明”int x,a=3,b=2;”,則執(zhí)行賦值語(yǔ)句”x=a>b++?a++:b++;”后,變量x、a、b的值分別為___(26)___ 。 A.3 4 3 B.3 3 27.下面選項(xiàng)中可用作變量名的是___(27)___ A.Case B.a-b C.$cd D.2ab 28.執(zhí)行以下程序后的結(jié)果是___(28)___ 。 #include<stdio.h> void main() { int x=3; do { printf(“%d\t”,x=x-3); }while(!x); } A.輸出一個(gè)數(shù):0 B.輸出一個(gè)數(shù);3 C.輸出2個(gè)數(shù):0和-3 D.無限循環(huán),反復(fù)輸出數(shù) 29.以下關(guān)予c語(yǔ)言函數(shù)的敘述中,正確的是___(29)___ 。 A.在一個(gè)函數(shù)體中可以定義另一個(gè)函數(shù),也可以調(diào)用其他函數(shù) B.在一個(gè)函數(shù)體中可以調(diào)用另一個(gè)函數(shù),但不能定義其他函數(shù) + C.在一個(gè)函數(shù)體中不可調(diào)用另一個(gè)囂數(shù),也不能定義其他函數(shù) D。在一個(gè)函數(shù)體中可以定義另一個(gè)函數(shù),但不能調(diào)用其他函數(shù) 30.設(shè)有聲明”int a=4,b=3,c=5;”,以下4個(gè)程序段中有3個(gè)程序段的執(zhí)行效果是相同的,另一個(gè)執(zhí)行效果不同的是___(30)___ 。 A。if(a>b)c=a,a=b,b=c; C.if(a>b)c=a;a=b;b=c; B.if(a>b){c=a,a=b,b=c;} D.if(a>b){c=a;a=b;b=c;} 二、填空題(將答案填寫在答題紙的相應(yīng)答題號(hào)內(nèi),每個(gè)答案只占一行,共30分) ● 基本概念 1.除goto語(yǔ)句外,在循環(huán)結(jié)構(gòu)中執(zhí)行___(1)____語(yǔ)句可提前結(jié)束本次循環(huán)直接進(jìn)入下一次循環(huán). 2.若有程序段”int a[10],*p=a,*q;q=&a[5];”,則表達(dá)式q-p的值是___(2)___ 。 3.執(zhí)行語(yǔ)句序列”int a,b;a=b=4;a+=b%3;”后,變量a、b的值分別是___(3)___ 。 4.執(zhí)行程序段”int x=0x 5.使用TURBO C系統(tǒng)編譯C語(yǔ)言源程序后生成的文件名后綴是___(5)___ . · 閱讀程序 6.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(6)___ 。 #include<stdio.h> #define L 10 #define C L+L void main() { int Area; Area=C*L; printf(“%d\n”,Area); } 7.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(7)___ 。 #include <stdio.h> enum{A,B,C=4} i; void main() { int k=0; for(i=B;i<C;i++) k++; printf(“%d”,k); } 8.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果是___(8)___。 #include<stdio.h> void fun(int a) { printf("%d",a%10); if((a=a/10)!=0) fun(a); } void main() {int a=-13; if(a<0) {printf("-"); a=-a; } fun(a); } 9.以下程序運(yùn)行時(shí)若輸入”2010 #include<stdio.h> #include <string.h> char *fun(int n) { static char s[20]; static int c; char t[10]={0},i=0,j,k; while(n>0) t[i++]=n%10+'0',n=n/10; puts(t); for(j=0;j<i/2;j++) k=t[j],t[j]=t[i-1-j],t[i-1-j]=k; strcat(s,t); if(c<1) {strcat(s,"/");c++;} else strcat(s,"\0"); return s; } void main() { int i,m;char *p; for(i=0;i<2;i++) {scanf("%d",&m); p=fun(m); } puts(p); } 1O.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(11)___,第二行是___(12)___ , #include<stdio.h> #define M 3 #define N 4 void fun(int a[M][N]) { int i,j,p; for(i=0;i<M;i++) { p=0; for(j=1;j<N;j++) if(a[i][p]>a[i][j]) p=j; printf("%d\n",a[i][p]); } } void main() { int a[M][N]={{-1,5,7,4},{5,2,4,3},{8,2,3,0}}; fun(a); } 11.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(13)___,第二行是___(14)___ , #include<stdio.h> int f(int *x,int *y,int z) { *x=*y; *y=z; z=*x; return z; } void main() { int a=1,b=2,c=3,d; d=f(&a,&b,c); printf(“%2d%2d\n%2d%2d_\ll”,a,b,c,d); } 12.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(15)___,第二行是___(16)___ , #include "stdio.h" struct grade { int id; char level[3]; int score[3]; }; char fun(struct grade *t) { int i,count=0,total=0; for(i=0;i<3;i++) { if(t->level[i]=='A')count++; total=total+t->score[i]; } total=total+count; if(count==3)total++; return(total>380?'Y':'N'); } void main() { int i; struct grade stu[3]={{106,"AAA",130,132,115}, {107,"BAB",113,125,104}, {109,"AAB",128,135,114}}; for(i=0;i<2;i++) printf("\%d %c\n",stu[i].id,fun(&stu[i])); } 13.以下程序運(yùn)行時(shí)輸出到屏幕的結(jié)果中第一行是___(17)___。第二行是___(18)___ . #include <stdio.h> int fun(int a[],int *p) { int i,n; n=*p; p=&a[n-1]; for(i=n-2;i>=0;i--) if(a[i]>*p) p=&a[i]; return *p; } void main() { int a[5]={18,2,16,3,6},x=5,y; y=fun(a,&x); printf("%d\n",x); printf("%d\n",y); } · 完善程序 14.以下程序的功能是驗(yàn)證下列公式是否成立。請(qǐng)完善程序使其達(dá)到要求的功能。 將x取某一值時(shí)公式等號(hào)左側(cè)的函數(shù)值表示為f(x),等號(hào)右側(cè)的級(jí)數(shù)值表示為g(x),若f(x)與g(x)的相對(duì)誤差小于10 f(x)與g(x)的相對(duì)誤差計(jì)算公式: include<stdio.h> #include<math.h> void main() {double x,f,g,term; int n; printf(“\n input x(-1<x<1):”); scanf(“___(19)___“,&x); f=1/______(20)_____ ; n=1; g=term=1; while(fabs(term)>1e-10) {term=term* ___(21)___) ; g=g+term; ___(22)___ ; } if(fabs(f-g)/(fabs(f)+fabs(g))<1e-6) printf(“\ntrue x=%f,f=%f,g=%f”,x,f,g); else printf(“\nfalse x=%f,f=%f,g=%f”,x,f,g); } 15. 以下程序的功能是:將輸入的十進(jìn)制整數(shù)轉(zhuǎn)換為指定進(jìn)制的字符串形式,itob函數(shù)的形參s指向的數(shù)組用于保存將形參n的值轉(zhuǎn)換為base進(jìn)制數(shù)后的字符串形式。請(qǐng)完善程序使其達(dá)到要求的功能。 #include<stdio.h> void reverse(char s[]) { int i,j; char temp; for(j=0;s[j]!=’\ for(i=O,j--;i<j;___(23)___,j--) {temp=s[i]; s[i]=s[j]; s[j]=temp; } } void itob(int n,char s[],int base) { int i=0,sign,t; if((sign=n)<O) n=-n; while(n>0) { t= ___(24)___ if(t>=1O) s[i++]=t-10+’A’; else s[i++]=___(25)___ n=n/base; } if(sign<0) s[i++]=’-‘; ___(26)___ ; reverse(s); } void main() { char str[100]; int n,base; printf(”請(qǐng)輸入被轉(zhuǎn)換的十進(jìn)制整數(shù)和進(jìn)位制的基數(shù):\n”); scanf(“%d%d",&n,&base); itob(n,str,base); printtf(”轉(zhuǎn)換結(jié)果為:\n”); printf(“(10進(jìn)制數(shù))%d->%s(%d進(jìn)制數(shù))\n”,n,str,base); } 16.存儲(chǔ)一組整數(shù)的某單向鏈表結(jié)點(diǎn)定義為: typedef struct n { int x; struct n *next; }NODE; 函數(shù)NODE *sort(NODE *head)采用插入法對(duì)head指向的單向鏈表中存儲(chǔ)的數(shù)據(jù)按成員x的值從小到大排序。 算法提示:對(duì)鏈表中從第2個(gè)結(jié)點(diǎn)開始直到最后結(jié)點(diǎn)范圍內(nèi)的每個(gè)結(jié)點(diǎn)做以下操作:若第i個(gè)結(jié)點(diǎn)(i從2開始)的成員x值大于或等于第i-1個(gè)結(jié)點(diǎn)的成員x值,則保持第i個(gè)結(jié)點(diǎn)在鏈表中的位置不變:否則,先將第i個(gè)結(jié)點(diǎn)從鏈表中刪除(使第i-1個(gè)結(jié)點(diǎn)的指針域指向第i+1個(gè)結(jié)點(diǎn)),再將已脫離鏈表的原第i個(gè)結(jié)點(diǎn)插入到鏈表的前i-1個(gè)結(jié)點(diǎn)中,并保持插入結(jié)點(diǎn)后鏈表的前i個(gè)結(jié)點(diǎn)按成員x值從小到大有序。請(qǐng)完善sort函數(shù)使其達(dá)到要求的功能。 NODE *sort(NODE *head) { ___(27)___ *p1,*p2,*q1,*q2; p1=head; p2=p1->next; while(p2) { if(p1->x<=p2->x) { p1=p2; ___(28)___=p2->next; } else {p1->next=___(29)___ ; /*從鏈表中刪除p2指向的結(jié)點(diǎn)*/ /*以下程序段實(shí)現(xiàn)將p2指向的結(jié)點(diǎn)插入鏈表中*/ q1=head; q2=q1->next; if(p2->x<head->x) {p2->next=___(30)___; head=p2; } else {q1=head; q2=head->next; while(p2->x>q2->x) { q1=q2; q2=q2->next; } p2->next=q2; q1->next=p2; } p2=p1->next; } } return head; }
|