![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2012春江蘇省計(jì)算機(jī)二級C筆試真題 |
2012春江蘇省高校計(jì)算機(jī)等級考試 二級C筆試真題
絕密★ 啟用前 2012年春 江蘇省高等學(xué)校非計(jì)算機(jī)專業(yè)學(xué)生 計(jì)算機(jī)基礎(chǔ)知識和應(yīng)用能力等級考試 二級試卷 試卷語種:C語言 說 明: 1.本試卷包括計(jì)算機(jī)基礎(chǔ)知識部分和程序設(shè)計(jì)部分,考試時間共12 0分鐘; 2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型; 3.計(jì)算機(jī)基礎(chǔ)知識部分全部是選擇題(20分),程序設(shè)計(jì)部分分為選擇題(1 0 分)和填空題(30分)兩種; 4.選擇題用答題卡答題。每一項(xiàng)有A、B、C、D四個可供選擇的答案,請選 擇其中一個你認(rèn)為正確的答案,用HB鉛筆涂寫在答題卡的相應(yīng)答題號內(nèi)。 每選對一項(xiàng)得1分,不選或選錯不得分; 5.填空題用答題紙答題。請將答案用藍(lán)、黑色鋼筆或圓珠筆填寫在答題紙的 相應(yīng)答題號內(nèi),每個答案只占一行,不得換行。每填對一個答案得1分, 不填或填錯不得分; 6.請認(rèn)真填寫并仔細(xì)核對答題卡和答題紙上的學(xué)校名稱、準(zhǔn)考證號和姓名是 否填寫正確。 7.考試結(jié)束時將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收 畢清點(diǎn)后,方可離場。 第一部分計(jì)算機(jī)基礎(chǔ)知識 1. 下列有關(guān)信息產(chǎn)業(yè)、信息化、信息社會等相關(guān)的敘述中,錯誤的是___(1)___ 。 A.信息產(chǎn)業(yè)是指生產(chǎn)制造信息設(shè)備的制造業(yè),不包含信息服務(wù)行業(yè) B.信息化是一個推動人類社會從工業(yè)社會向信息社會轉(zhuǎn)變的過程 C.在信息社會中,信息將借助材料和能源的力量產(chǎn)生重要價值而成為社會進(jìn)步的基 本要素 D.目前我國還處于工業(yè)化的中期階段,需要大力推進(jìn)信息化與工業(yè)化的融合式發(fā)展 2. 下列有關(guān)數(shù)字技術(shù)與微電子技術(shù)的敘述中,錯誤的是___(2)___ 。 A.數(shù)字技術(shù)的處理對象是"比特",它只有兩種狀態(tài)(取值) B.在計(jì)算機(jī)中,經(jīng)常使用稱為"觸發(fā)器"的雙穩(wěn)態(tài)電路來存儲比特,一個觸發(fā)器可 以存儲1個比特 C.微電子技術(shù)以集成電路為核心,現(xiàn)代集成電路所使用的半導(dǎo)體材料主要是硅 D.所有的IC卡均只能存儲數(shù)據(jù),不能處理和收發(fā)數(shù)據(jù) 3. 下列有關(guān)計(jì)算機(jī)發(fā)展與分類的敘述中,錯誤的是___(3)___ A.人們通常根據(jù)計(jì)算機(jī)采用的主要電子元器件的不同,將計(jì)算機(jī)的發(fā)展劃分為四代 B.由于20世紀(jì)90年代計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,計(jì)算機(jī)應(yīng)用進(jìn)入了"網(wǎng)絡(luò)計(jì)算模式" C.目前所有的服務(wù)器產(chǎn)品均為小型計(jì)算機(jī)、大型計(jì)算機(jī)或巨型計(jì)算機(jī),PC機(jī)不能作 為網(wǎng)絡(luò)服務(wù)器使用 D.美國的HP、DELL和我國的聯(lián)想、方正、同方等均是知名的PC機(jī)品牌 4. 下列有關(guān)PC機(jī)CPU的敘述中,錯誤的是___(4)___。 A.長期以來,多數(shù)PC機(jī)采用Intel公司生產(chǎn)的CPU芯片 B.Intel Core i7是高端的CPU產(chǎn)品,其中i7表示它采用7個內(nèi)核的結(jié)構(gòu) C.目前部分PC機(jī)使用AMD公司的CPU芯片,它們與Intel公司的CPU芯片指令 系統(tǒng)基本一致,因此這些PC機(jī)相互兼容 D.目前我國也能設(shè)計(jì)、生產(chǎn)PC機(jī)的CPU芯片 。 5. 下列有關(guān)PC機(jī)主板上CMOS和BIOS的敘述中.錯誤的是___(5)___ 。 A.主板上的CMOS芯片是一種易失性存儲器,它通常使用電池供電 B.BIOS是存儲在主板上閃爍存儲器中的一組程序.每次機(jī)器加電時總是首先執(zhí)行其 中的程序 C.CMOS設(shè)置程序存儲在CMOS存儲器中,它與BIOS無關(guān) D.CMOS芯片中存儲了許多配置信息,包括當(dāng)前的日期與時間、開機(jī)密碼等 6. 下列是PC機(jī)使用的四種外設(shè)接口,其中最新的一種是___(6)___。 A.USB3.0 B.IEEE.1394b C.IDE D.紅外線接口(IrDA) 7. 下列有關(guān)掃描儀與數(shù)碼相機(jī)的敘述中.錯誤的是___(7)___ A.掃描儀分為平板掃描儀、手持掃描儀、滾筒掃描儀等多種類型.相對來說使用平 板掃描儀的較多 B.光學(xué)分辨率是掃描儀的主要性能指標(biāo),其單位為dpi C.目前數(shù)碼相機(jī)的成像芯片為CCD或CMOS.它可以將光信號轉(zhuǎn)換為電信號 D.數(shù)碼相機(jī)所拍攝的數(shù)字圖像以GIF格式存儲在存儲卡中 8. 光盤分為多種不同類型,其容量大小差異較大。對于單面單層、 說.其容量大約為 ___(8)___。 A.670MB B.1.46GB C.4.7GB D.25GB 9. 通用的應(yīng)用軟件可以分為若干類型,例如文字處理軟件、信息檢索軟件、媒體播放軟 件等。在下列軟件中,不屬于文字處理軟件的是___(9)___ A.WPS B.Adobe Acrobat C.Word D.Access 10.下列有關(guān)Windows XP操作系統(tǒng)的敘述中,錯誤的是___(10)___ A.Windows XP分為多種版本.例如家庭版、專業(yè)版 B.Windows xP采用并發(fā)多任務(wù)方式支持多個任務(wù)的執(zhí)行 C.Windows XP一般采用按時間片輪轉(zhuǎn)的策略調(diào)度處理器來執(zhí)行每個任務(wù) D.虛擬存儲器由主板上的RAM、ROM及顯示卡的顯存聯(lián)合組成,它與硬盤無關(guān) 11.在下列有關(guān)算法的敘述中.錯誤的是___(11)___ A.算法的設(shè)計(jì)一般采用由細(xì)到粗、由具體到抽象的方法 B.算法設(shè)計(jì)方法有多種,例如枚舉法、迭代法、遞歸法等等 C.算法的表示可以有多種形式,例如文字說明、流程圖表示、偽代碼等 D.一個問題的解決往往可以有多種不同的算法 12.下列有關(guān)Microsoft Office 2000(及其后續(xù)版本)的敘述中.錯誤的是___(12)___ A.由Word、Excel、PowerPoint創(chuàng)建的文檔,均可以設(shè)置打開文件的密碼 B.在Word文檔中,可以插入聲音和視頻對象 C.ExceI工作簿可以包含的工作表數(shù)量、工作表的行數(shù)與列數(shù)均沒有限制,用戶可以 根據(jù)需要無限制地增加 D.由PowerPoint創(chuàng)建的演示文稿,用戶可以直接將其保存為HTML文件(即網(wǎng)頁) 13.在下列有關(guān)調(diào)制解調(diào)技術(shù)、多路復(fù)用技術(shù)的敘述中.錯誤的是___(13)___ A.調(diào)制與解調(diào)技術(shù)中使用的"載波"信號,通常是低頻正弦波信號 B.調(diào)制技術(shù)可以分為幅度調(diào)制、頻率調(diào)制和相位調(diào)制 C.多路復(fù)用技術(shù)的作用主要是提高傳輸線路的利用率,降低通信成本 D.多路復(fù)用技術(shù)可以分為時分復(fù)用、頻分復(fù)用等類型 14.目前IPv4協(xié)議只有大約36億個地址.很快就會分配完畢。新的IPv6協(xié)議把IP地址 的長度擴(kuò)展到___(14)___,幾乎可以不受限制地提供IP地址。 A.32位 B.64位 C.128位 D.256位 15.下列與IP地址相關(guān)的敘述中.錯誤的是___(15)___ 。 A.IP地址由三個部分組成,從左到右分別代表類型號、網(wǎng)絡(luò)號和主機(jī)號 B.因特網(wǎng)上的每臺在線主機(jī)都必須有IP地址 C.通過ADSL上網(wǎng)時,用戶主機(jī)的IP地址通常是由因特網(wǎng)服務(wù)提供者動態(tài)分配的 D.網(wǎng)絡(luò)中的路由器不需要設(shè)置IP地址 16。通常所說的TCP/IP協(xié)議.是指由100多個協(xié)議組成的協(xié)議系列(包含下列幾個協(xié)議)。 在下列協(xié)議中。實(shí)現(xiàn)文件傳輸服務(wù)主要依賴 ___(16)___ 。 A.NNTP協(xié)議 B.FTP協(xié)議 C.Telnet協(xié)議 D.SMTP協(xié)議 17.目前有線電視(CATV)系統(tǒng)已經(jīng)廣泛采用數(shù)字技術(shù)傳輸電視節(jié)目。下列是有關(guān)數(shù)字有 線電視的相關(guān)敘述.其中錯誤的是___(17)___ 。 A.數(shù)字有線電視采用光纖同軸電纜混合網(wǎng).其主干線部分采用光纖連接到"小區(qū)" B.數(shù)字有線電視網(wǎng)絡(luò)依賴于時分多路復(fù)用技術(shù) C.借助數(shù)字有線電視網(wǎng)絡(luò)接入因特網(wǎng).需要專用的Cable MODEM或互動式機(jī)頂盒 D.借助數(shù)字有線電視網(wǎng)絡(luò)接入因特網(wǎng)的多個終端用戶共享連接段線路的帶寬 18.下列有關(guān)文本與文本處理的敘述中,錯誤的是___(18)___ 。 A.文本信息在計(jì)算機(jī)中存儲時,漢字均為雙字節(jié)編碼,非漢字字符均為單字節(jié)編碼 B.文本輸入可以是鍵盤輸入,也可以是聯(lián)機(jī)手寫輸入、語音輸入等 C.DOC文檔、HTML網(wǎng)頁、PDF文檔均為豐富格式文本,但它們的格式標(biāo)記方式 不同 D.文本中的字符可以使用不同的字體,不同字體的同一個漢字,其機(jī)內(nèi)碼相同 19.在未壓縮的情況下.存儲一幅分辨率為1024×1024的24位彩色數(shù)字圖像需要的存儲 空間大約為 ___(19)___ A.24KB B.3MB C.8MB D.24MB 20.文件擴(kuò)展名通常用于標(biāo)識文件的類型。下列4個文件擴(kuò)展名中,屬于數(shù)字波形聲音文 件的是___(20)___。 A. .WAV B. .MIDI C. .AVI D. .MPG 第二部分 C語言程序設(shè)計(jì) 一、選擇題(用答題卡答題.答案依次填在21~30答題號內(nèi).共10分) 21.以下有關(guān)C語言函數(shù)的描述中,錯誤的是___(21)___。 A.一個完整的C程序可以有多個函數(shù),其中必須有且只能有一個名為main的函數(shù) B.當(dāng)一個C程序包含多個函數(shù)時,先定義的函數(shù)先執(zhí)行 C.函數(shù)可以嵌套調(diào)用 D.函數(shù)不可以嵌套定義 22.以下程序段在編譯時不會報錯的是___(22)___ 。 A.#define double 2 B.#define a 2 void main() void main() {double a=0;} {int a=0; } C.#define a 2 D.#define a 2 void main() int x=a; {a++; } void main() {x++;} 23.已有聲明"int x=0,y=2;",則執(zhí)行語句"y=--x||++y;"后,變量y的值為___(23)___ 。 A.0 B 24.已有預(yù)處理命令"#include <math.h>"和聲明"int a=4,b;".以下語句中語法正確的是___(24)___ 。 A.if(a%2=1) b=a; B.if(sqrt(a)%2)b=a; C.if(a==1)b=a; D.if(a==1)b=*a; 25.以下函數(shù)中能正確實(shí)現(xiàn)n! (n<13)計(jì)算的是___(25)___ 。 A.long fact(long n) B.long fact(long n) { {if(n<=1) return 1; return n*fact(n-1); else return n*fact(n); } } C.long fact(1ong n) D.long fact(long n) { static long s,i; {long s=l.i; for(i=1;i<=n;i++) s=s*i; for(i=1;i<=n;i++)s=s*i; return s; return s: } } 26.以下敘述中正確的是___(26)___ 。 A.char s1[11]="C Language"; 等價于char s[11];s="C Language"; B.char s[11]="C Language";等價于char s[11];s[11]="C Language"; C.char *s="C Language"; 等價于char *s;s="C Language"; D.char *s="C Language"; 等價于char *s;*s="C Language"; 27.以下敘述中錯誤的是___(27)___ 。 A.函數(shù)外聲明的變量是全局變量 B.函數(shù)內(nèi)聲明的變量是局部變量 C.局部變量的生存期總是與程序運(yùn)行的時間相同 D.形式參數(shù)的生存期與所在函數(shù)被調(diào)用執(zhí)行的時間相同 28.已有聲明"int a[3][3]={1,2,3,4,5},*p1=a[0],(*p2)[3]=a;",以下選項(xiàng)中不能輸出5的語句是 ___(28)___ A.printf("%d",a[1][1]); B.printf("%d",p2[0][1]); C.printf("%d",p1[4]); D.printf("%d",p2[1][1]); 29.已有如下定義和聲明: struct data{int a;char b;float c;} s={1,2,3}; char m; 以下語句中正確的是___(29)___。 A.s=5; B.s={4,5,6}; C.s.a=5; D.m=s; 30.若要求數(shù)據(jù)文件myf.dat被程序打開后.文件中原有的數(shù)據(jù)均被刪除,程序?qū)懭氪宋募臄?shù)據(jù)可以在不關(guān)閉文件的情況下被再次讀出,則調(diào)用fopen函數(shù)時的形式為"fopen("myf.dat"," ___(30)___");"。 A.w B.w+ C.a+ D.r 二、填空題(將答案填寫在答題紙的相應(yīng)答題號內(nèi).每個答案只占一行,共30分) 基本概念 1.已有聲明"int a,b;"且a和b的值均大于0,表達(dá)式"a%b+a/b*b==a"的值為___(1)___。 2.已有聲明"double x=3.5;".表達(dá)式"(int)x+x"值的類型為___(2)___ 。 3.已有定義"#define M(a,b,c)a*b-c".執(zhí)行語句"printf("%d",M(2+3,2+3,4));"時的輸出為__ _(3)___。 4.表示"當(dāng)x取值在(1, 5.已有聲明"int a;char s[80]="123456";",執(zhí)行語句"strcpy(s+4,"123456");a=strlen(s);"后變量a 的值是___(5)___。 閱讀程序 6.以下程序運(yùn)行時輸出到屏幕的結(jié)果是___(6)___。 #include<stdio.h> void main() { int a=011; printf("%d",a); } 7.以下程序運(yùn)行時輸出到屏幕的結(jié)果中第一行是___(7)___,第二行是___(8)___ #include<stdio.h> int fun(int x) {static int y=1,z=0; y*=x; z+=y; return z; } void main() {int x; for(x=1;x<3;x++) printf("%d\n",fun(x)); } 8.以下程序運(yùn)行時輸出到屏幕的結(jié)果中第一行是___(9)___.第二行是___(10)___。 #include<stdio.h> int f(int *a) { int b; printf("%d\n",b=*a); a++; return b+*a; } void main() { int a[3]={2,3,4}; a[0]=f(&a[0]); printf("%d\n",a[0]); } 9.以下程序運(yùn)行時輸出到屏幕的結(jié)果中第一行是___(11)___,第二行是___(12)___ #include <stdio.h> void main() {int a[100]={0},b[]={2,4,5,3,6,5,-1},x,i=0; while(b[i]>-1) {x=b[i]; a[x]++; i++; } for(x=0,i=0;i<100;i++) while(a[i]) {x++; (x%3==0)?printf("%4d\n",i):printf("%4d",i); a[i]--; } } 10.以下程序運(yùn)行時輸出到屏幕的結(jié)果是___(13)___。 #include<stdio.h> #include<string.h> void main() {char a[]="Internet",b[]="Extranet"; int k,n; n=strlen(a)<strlen(b)?strlen(a):strlen(b); for(k=0;k<n;k++) if(a[k]==b[k]) printf("%c",a[k]); } 11.以下程序運(yùn)行時輸出到屏幕的結(jié)果中第一行是___(14)___,第二行是___(15)___ 。 #include<stdio.h> void fun1(int *x,int n) {int i,t; for(i=0;i<n/2;i++) { t=x[i];x[i]=x[n-1-i];x[n-1-i]=t; } } void fun2(int *x,int n) {int t; if(n==1) return; t=x[0];x[0]=x[n-1];x[n-1]=t; fun2(x+1,n-2); } void main() {int i,a[5]={1,2,3,4,5}; fun1(a,5); for(i=0;i<5;i++) printf("%d",a[i]); printf("\n"); fun2(a,5); for(i=0;i<5;i++) printf("%d",a[i]); } 12.以下程序運(yùn)行時輸出到屏幕的結(jié)果中第一行是___(16)___,第四行是___(17)___ 第六行是___(18)___。 #include<stdio.h> void fun(int a[3][3],int c1,int c2) { int i,t; for(i=0;i<3;i++) {t=a[c1][i]; a[c1][i]=a[c2][i]; a[c2][i]=t; } } void main() {int i,j,k; int a[3][3]={2,3,4,1,3,2,1,2,3}; for(k=0;k<3;k++) {for(j=0;j<3;j++) printf("%3d",a[k][j]); printf("\n"); } for(i=0;i<3;i++) { k=i; for(j=i+1;j<3;j++) if(a[j][0]<a[k][0])k=j; else if(a[j][0]==a[k][0]&&a[j][1]<a[k][1]) k=j; if(i!=k)fun(a,i,k); } for(k=0;k<3;k++) { for(j=0;j<3;j++) printf("%3d",a[k][j]); printf("\n"); } } 完善程序 13.以下程序輸出100~1000范圍內(nèi)的回文素?cái)?shù);匚乃?cái)?shù)是指既是回文數(shù)同時也是素?cái)?shù)的整數(shù)。例如.131既是回文數(shù)又是素?cái)?shù),因此131是回文素?cái)?shù)。 #include <stdio.h> #include <math.h> int prime_pal(int n) { int i,k=___(19)___,m; for(i=2;i<=k;i++) /*判斷n是否素?cái)?shù)*/ if(___(20)___) return 0; k=n;m=0; /*求n的反序數(shù)放入m*/ while(k>O) {m=m*10+k%10; k=___(21)___; } if(m==n)return 1; return 0; } void main() {int j,k=0; for(j=100;j<=999;j++) {if(___(22)___) {printf("%d\t",j); if(++k%5==0)printf("\n"); } } } 14.以下程序中函數(shù)void strol(char xx[])的功能是:將雙指向的字符數(shù)組內(nèi)的字符串中所有單詞倒排 (即:第一個單詞與最后一個單詞交換,第二個單詞與倒數(shù)第二個單詞交換,其他單詞依次類推。 單詞之間用空格或標(biāo)點(diǎn)符號分隔).倒排后的單詞之間用空格分隔;最后把已處理的字符串仍存儲在xx指向的數(shù)組中。例如,若數(shù)組中原字符串為"I am a student".則輸出應(yīng)為"student a am I"。 #include<stdio.h> #include<ctype.h> #include<string.h> void strol(char xx[]) { int i,j,k,n=0; char t[80]; j=strlen(xx)-1; t[0]='\0'; while(j>0) {while(isalpha(xx[j])==0&&j>=0)j--; k= ___(23)___; while(isalpha(xx[j])&&j>=0)j--; for(i=j+1;i<=k;i++) t[n++]=___(24)___; t[n++]=' '; } t[n]='\0'; strcpy(xx,___(25)___); } void main() {char s[80]="I am a student...."; strol(___(26)___); puts(s); } 15.已知h1和h2為兩個單向鏈表的頭指針,h1指向的鏈表不為空鏈表。add函數(shù)的功能是將h2指向 的鏈表(簡稱h2鏈表)中全部結(jié)點(diǎn)插入到h1指向的鏈表(簡稱h1鏈表)中第n個結(jié)點(diǎn)(n>0) 之后,如果h2鏈表為空鏈表,則函數(shù)直接返回h1鏈表首結(jié)點(diǎn)的地址。如果h1鏈表中不存在第n 個結(jié)點(diǎn),則將h2鏈表中全部結(jié)點(diǎn)添加到h1鏈表的末尾,函數(shù)返回h1鏈表首結(jié)點(diǎn)地址. 鏈表結(jié)點(diǎn)采用如下形式的數(shù)據(jù)結(jié)構(gòu): struct node { int data; struct node *next; }; #include <stdio.h> struct node *add(struct node *h1,struct node *h2,int n) {struct node *p1=h1,*q=h2,*p2; int i=0; if(h2==___(27)___) return h1; p2=h1; while(p1&&i<n) { p2=p1; p1=p1->next; ___(28)___; } if(i<n) p2->next=q; else { ___(29)___=q; while(q->next) q=q->next; q->next=___(30)___; } return h1; } 參考答案 1.A 2.D 3.C 4.B 5.C 6.A 7.D 8.B 9.D 10.D 11.A 12.C 13.A 14.C 15.D 16.B 17.B 18.A 19.B 20.A 21.B 22.D 23.B 24.C 25.D 26.C 27.C 28.B 29.C 30.B 二、填空題 (1)1 (2)double (3)7 (4)x>=1 && x<=pow(10,0.5) (5)10 (6)9 (7)1 (8)3 (9)2 (10)5 (11)2 3 4 (12)5 5 6 (13)tnet (14)54321 (15)12345 (16)2 3 4 (17)1 2 3 (18)2 3 4 (19)n-1 (20)n%i==0 (21)k/10 (22)prime_pal(j) (23)j (24)xx[i] (25)t (26)s (27)NULL (28)i=i+1 (29)p2->next (30)p1 |