![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2012春江蘇計算機二級VC++筆試考試真題 |
絕密★ 啟用前 2012年春 江蘇省高等學(xué)校非計算機專業(yè)學(xué)生 計算機基礎(chǔ)知識和應(yīng)用能力等級考試 二級試卷 試卷語種:VC++語言 說 明: 1.本試卷包括計算機基礎(chǔ)知識部分和程序設(shè)計部分,考試時間共12 0分鐘; 2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型; 3.計算機基礎(chǔ)知識部分全部是選擇題(20分),程序設(shè)計部分分為選擇題(1 0 分)和填空題(30分)兩種; 4.選擇題用答題卡答題。每一項有A、B、C、D四個可供選擇的答案,請選 擇其中一個你認為正確的答案,用HB鉛筆涂寫在答題卡的相應(yīng)答題號內(nèi)。 每選對一項得1分,不選或選錯不得分; 5.填空題用答題紙答題。請將答案用藍、黑色鋼筆或圓珠筆填寫在答題紙的 相應(yīng)答題號內(nèi),每個答案只占一行,不得換行。每填對一個答案得1分, 不填或填錯不得分; 6.請認真填寫并仔細核對答題卡和答題紙上的學(xué)校名稱、準考證號和姓名是 否填寫正確。 7.考試結(jié)束時將試卷、答題卡和答題紙放在桌上,不得帶走。待監(jiān)考人員收 畢清點后,方可離場。 第一部分 計算機基礎(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)生重要價值而成為社會進步的基本要素 D.目前我國還處于工業(yè)化的中期階段,需要大力推進信息化與工業(yè)化的融合式發(fā)展 2. 下列有關(guān)數(shù)字技術(shù)與微電子技術(shù)的敘述中,錯誤的是___(2)___ 。 A.數(shù)字技術(shù)的處理對象是"比特",它只有兩種狀態(tài)(取值) B.在計算機中,經(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)計算機發(fā)展與分類的敘述中,錯誤的是___(3)___ A.人們通常根據(jù)計算機采用的主要電子元器件的不同,將計算機的發(fā)展劃分為四代 B.由于20世紀90年代計算機網(wǎng)絡(luò)的發(fā)展,計算機應(yīng)用進入了"網(wǎng)絡(luò)計算模式" C.目前所有的服務(wù)器產(chǎn)品均為小型計算機、大型計算機或巨型計算機,PC機不能作 為網(wǎng)絡(luò)服務(wù)器使用 D.美國的HP、DELL和我國的聯(lián)想、方正、同方等均是知名的PC機品牌 4. 下列有關(guān)PC機CPU的敘述中,錯誤的是___(4)___。 A.長期以來,多數(shù)PC機采用Intel公司生產(chǎn)的CPU芯片 B.Intel Core i7是高端的CPU產(chǎn)品,其中i7表示它采用7個內(nèi)核的結(jié)構(gòu) C.目前部分PC機使用AMD公司的CPU芯片,它們與Intel公司的CPU芯片指令 系統(tǒng)基本一致,因此這些PC機相互兼容 D.目前我國也能設(shè)計、生產(chǎn)PC機的CPU芯片 。 5. 下列有關(guān)PC機主板上CMOS和BIOS的敘述中.錯誤的是___(5)___ 。 A.主板上的CMOS芯片是一種易失性存儲器,它通常使用電池供電 B.BIOS是存儲在主板上閃爍存儲器中的一組程序.每次機器加電時總是首先執(zhí)行其 中的程序 C.CMOS設(shè)置程序存儲在CMOS存儲器中,它與BIOS無關(guān) D.CMOS芯片中存儲了許多配置信息,包括當前的日期與時間、開機密碼等 6. 下列是PC機使用的四種外設(shè)接口,其中最新的一種是___(6)___。 A.USB3.0 B.IEEE.1394b C.IDE D.紅外線接口(IrDA) 7. 下列有關(guān)掃描儀與數(shù)碼相機的敘述中.錯誤的是___(7)___ A.掃描儀分為平板掃描儀、手持掃描儀、滾筒掃描儀等多種類型.相對來說使用平 板掃描儀的較多 B.光學(xué)分辨率是掃描儀的主要性能指標,其單位為dpi C.目前數(shù)碼相機的成像芯片為CCD或CMOS.它可以將光信號轉(zhuǎn)換為電信號 D.數(shù)碼相機所拍攝的數(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è)計一般采用由細到粗、由具體到抽象的方法 B.算法設(shè)計方法有多種,例如枚舉法、迭代法、遞歸法等等 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地址 的長度擴展到___(14)___,幾乎可以不受限制地提供IP地址。 A.32位 B.64位 C.128位 D.256位 15.下列與IP地址相關(guān)的敘述中.錯誤的是___(15)___ 。 A.IP地址由三個部分組成,從左到右分別代表類型號、網(wǎng)絡(luò)號和主機號 B.因特網(wǎng)上的每臺在線主機都必須有IP地址 C.通過ADSL上網(wǎng)時,用戶主機的IP地址通常是由因特網(wǎng)服務(wù)提供者動態(tài)分配的 D.網(wǎng)絡(luò)中的路由器不需要設(shè)置IP地址 16。通常所說的TCP/IP協(xié)議.是指由100多個協(xié)議組成的協(xié)議系列(包含下列幾個協(xié)議)。 在下列協(xié)議中。實現(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或互動式機頂盒 D.借助數(shù)字有線電視網(wǎng)絡(luò)接入因特網(wǎng)的多個終端用戶共享連接段線路的帶寬 18.下列有關(guān)文本與文本處理的敘述中,錯誤的是___(18)___ 。 A.文本信息在計算機中存儲時,漢字均為雙字節(jié)編碼,非漢字字符均為單字節(jié)編碼 B.文本輸入可以是鍵盤輸入,也可以是聯(lián)機手寫輸入、語音輸入等 C.DOC文檔、HTML網(wǎng)頁、PDF文檔均為豐富格式文本,但它們的格式標記方式不同 D.文本中的字符可以使用不同的字體,不同字體的同一個漢字,其機內(nèi)碼相同 19.在未壓縮的情況下.存儲一幅分辨率為1024×1024的24位彩色數(shù)字圖像需要的存儲 空間大約為 ___(19)___ A.24KB B.3MB C.8MB D.24MB 20.文件擴展名通常用于標識文件的類型。下列4個文件擴展名中,屬于數(shù)字波形聲音文 件的是___(20)___。 A. .WAV B. .MIDI C. .AVI D. .MPG 第二部分 C++語言程序設(shè)計 一、選擇題(用答題卡答題,答案依次填在21--30答題號內(nèi)) 21.以下C++語句中,不存在語法錯誤的是___(21)___ 。 A.int St=8,this=2;float fH=3; B.int _56=7,a4=1;float FLOAT=2.5; C.int n;cin>>n;int b[n]; D.char st[9]={"a string!"}; 22.以下關(guān)于C++虛函數(shù)的敘述中,正確的是___(22)___ 。 A.虛函數(shù)的類不可作為類的基類 B.可以不定義虛函數(shù)的函數(shù)體 C.可以定義含有虛函數(shù)的類的對象 D.不可定義含有虛函數(shù)的類的指針 23.設(shè)有變量說明"int a,b;float x,y;",以下C++語句中存在語法錯誤的語句是___(23)___ 。 A.y=x%a; B.y=x+++x; C.y=a+b>x+y?a:b;D.a=x+y; 24.以下有關(guān)C++宏定義的說明中,不正確的是___(24)___ 。 A.是以#開頭的行 B.一行中可以存在一條以上的宏定義 C.一條宏定義占一行 D.宏定義可放在函數(shù)體內(nèi),也可放在函數(shù)定義之外 25.以下有關(guān)C++析構(gòu)函數(shù)的敘述中,不正確的是___(25)___。 A.析構(gòu)函數(shù)名必須以字符~開頭 B.不可定義析構(gòu)函數(shù)的形式參數(shù) C.析構(gòu)函數(shù)由系統(tǒng)自動調(diào)用 D.可以重載析構(gòu)函數(shù) 26.以下有關(guān)C++靜態(tài)數(shù)據(jù)成員的描述中,正確的是:___(26)___ 。 A.靜態(tài)數(shù)據(jù)成員不能被成員函數(shù)調(diào)用 B.靜態(tài)數(shù)據(jù)成員要在構(gòu)造函數(shù)內(nèi)初始化 C.靜態(tài)數(shù)據(jù)成員必須為公有的 D.靜態(tài)數(shù)據(jù)成員為該類的所有對象所共有的 27.C++中,函數(shù)重載是指兩個或兩個以上的函數(shù),其函數(shù)名___(27)___ 。 A.不同,但形參的個數(shù)或類型相同 B.相同,但返回值類型不同 C.相同,但形參的個數(shù)或類型不同 D.相同,但必定是形參的個數(shù)相同且其類型不同 28.以下有關(guān)繼承的敘述中,正確的是___(28)___ 。 A.派生類繼承基類的所有成員 B.派生類繼承基類的所有非私有成員 C.派生類不繼承基類的析構(gòu)函數(shù) D.虛基類不能解決多繼承產(chǎn)生的二義性 29.以下有關(guān)指針變量的運算中,不正確的是___(29)___ 。 A.一個指針變量可以加減一個整數(shù) B.兩個指針變量在一定條件下可進行關(guān)系運算 C.可將NULL賦給任一指針變量 D.兩個指針變量可進行加法運算 30.有關(guān)函數(shù)調(diào)用的描述中,不正確的是___(30)___ 。 A.函數(shù)調(diào)用語句可實現(xiàn)任何函數(shù)的調(diào)用 B.一個函數(shù)調(diào)用可作為另一函數(shù)調(diào)用的實參 C.函數(shù)調(diào)用均可出現(xiàn)在表達式中 D.函數(shù)之間允許嵌套調(diào)用 二、填空題(請將答案填寫在答題紙的相應(yīng)答題號內(nèi),每個答案只占一行) 基本概念題,共5分 1.在C++中,*既是單目運算符,又是雙目運算符。*作為單目運算符時,其功能是___(1)___,* 作為雙目運算符時,其功能是___(2)___ 。 2.在類的派生過程中,將基類說明為虛基類的方法是在基類的類名前加上關(guān)鍵字___(3)___ 。 3.C++語言規(guī)定,所有函數(shù)說明都必須指明返回值類型,沒有返回值的函數(shù)應(yīng)該說明為___(4)___類 型的函數(shù)。 4.C++語言提供的基本控制結(jié)構(gòu)分為三種類型;順序結(jié)構(gòu)、選擇結(jié)構(gòu)和___(5)___ 。 閱讀程序題,共13分 5.[程序](2分) #include void main(void) { int x=0,y=0; for(int i=0;i<4;i++){ x++; for(int j=0;j<5;j++){ if(j%2){y++;continue;} x++; } } cout<<"x="< cout<<"y='< } 執(zhí)行以上程序后,輸出的第一行是___(6)___,第二行是___(7)___。 6.[程序](3分) #include int func(int a,int b) { static int k; int result; k=k+1; if(a%b==0) result=a; else result=func(a+a/k,b); return result; } void main(void) { cout< } 執(zhí)行以上程序后,輸出的第一行是___(8)___,第二行是___(9)___,第三行是___(10)___。 7.[程序](3分) #include void fun(int *s,int n1,int n2) { while(n1 int t=*(s+n1); *(s+n1)=*(s+n2); *(s+n2)=t; n1++; n2--; } } int f2(int *p,int n) { for(int s=0,i=0;i return s/n; } void main(void) { int a[5]={10,12,14,16,11),b[2]; fun(a,0,3); b[0]=f2(a,4); fun(a,2,4); b[1]=f2(a,5); cout<<"b[0]="< cout<<"b[1]="< cout<<'\n'; } 執(zhí)行以上程序后,輸出的第一行是___(11)___,第二行是___(12)___,第三行是___(13)___ 8.[程序] (2分) #include int fun(int n,int k) { if(k>1)return fun(n/10,k-1); else return(n); } void main(void) { int x=fun(987,1); int y=fun(45678,3); cout<<"x="< cout<<"y="< } 執(zhí)行以上程序后,輸出的第一行是___(14)___,第二行是___(15)___。 9.[程序] (3分) #include class Base{ public: Base(int a,int b){x=a;y=b;) void display(); virtual void f1(){cout< virtual void f2(){cout< void f3(){cout< private; int x,y; }; void Base::display() { f1(); f2(); f3(); } class Sclass;public Base{ public: Sclass(int a,int b,int c,int d):Base(a,b) {m=c;n=d;} void f2(){cout< void f3(){cout< private: int m,n; }; void main(void) { Sclass s1(20,10,60,20); Base *p=&s1; p->display(); } 執(zhí)行以上程序后,輸出的第一行是___(16)___,第二行是___(17)___,第三行是___(18)___ ●完善程序題,共12分 10.以下程序的功能是;輸入一個十進制正整數(shù)m,找出所有小于它并與其互質(zhì)的正整數(shù)n,并要求n 不是素數(shù)(素數(shù)只能被1和n本身除盡)。m和n互質(zhì)是指這兩個正整數(shù)的最大公約數(shù)為1。 [程序](4分) #include int prime(int x) { int flag=1; for(int i=2;i<=x/2;i++) if(x%i==0){ ___(19)___ ; break; } return flag; } int gcd(int m,int n) { for(int i=2;i<=n;i++) if(___(20)___) break; if(i<=n) return 0; ___(21)___ ; } void main(void) { int m,i,count=0; cout<<"請輸入一個正整數(shù);"; cin>>m; cout<<"小于"< for(i=M-1;i>=2;i--) if(prime(i)==0) if(___(22)___){ cout<<"("< count++; } cout<<'\n'; cout<<'互質(zhì)數(shù)共有;'< } 11.以下程序的功能是;從鍵盤輸入一行字符串,先求出字符串中ASCII值為最小的字符,記錄該字 符所在字符串中的位置,并將該字符前的所有字符順序后移一個字符位置,然后將最小的字符放在字 符串的開始位置上,輸出最小的字符在原字符串中的位置。例如,輸入字符串"bcdfae",最小字符"a" 在該字符串中的位置是4,移動后輸出"abcdfe"。 [程序](4分) #include int fun(char *str) { char min,*q,*p; int m=0; ___(23)___ ; min=*p; p++; while(*p!='\0'){ if(min>*p){ ___(24)___ ; q=p; m=p-str; } p++; } p=q; while(p>str){ ___(25)___ ; p-- ; } *p=min; ___(26)___ ; } void main(void) { char str[200]; int n; cin.getline(str,190); cout<<'輸入字符串為;'< n=fun(str); cout<<"最小字符在輸入串中的位置為:"< cout<<"處理后的字符串為;"< } 12.以下程序的功能是;利用單向鏈表統(tǒng)計一段英文單詞或數(shù)字串中單詞或數(shù)字串出現(xiàn)的頻率。假設(shè) 每行長度不超過80個字符,單詞、數(shù)字串之間由空格、\t或\n分隔,一個單詞或數(shù)字串的長度不超 過20個字符。從鍵盤上輸入任意一段英文單詞或數(shù)字串,并以單詞stop結(jié)束輸入。函數(shù)create()依 次讀入一個單詞或數(shù)字串后,首先與鏈表各節(jié)點上的數(shù)據(jù)(單詞或數(shù)字串)進行比較,若已存在,則 將該數(shù)據(jù)出現(xiàn)的次數(shù)加1;否則,構(gòu)建一個新的節(jié)點,將該數(shù)據(jù)作為該新節(jié)點的數(shù)據(jù)域,并插入已建 鏈表的尾部。當讀取到stop時,結(jié)束鏈表的建立。函數(shù)print()輸出鏈表各節(jié)點的值,函數(shù)dele_list() 依次刪除鏈表上的節(jié)點。例如,執(zhí)行以下程序時,從鍵盤上輸入下面一段英文單詞或數(shù)字串; abs 345 happy good yes no 345 it we are yes no 45 stop 程序統(tǒng)計后的輸出為; abs(1)345(2)happy(I)good(1)yes(2)no(2)it(1)we(1)are(1)45(1) [程序](4分) #include #include typedef struct node { int count; char data[20]; struct node *next; }word; word *create(void) { char str[20]; word*h=NULL,*r,*s,*p; //h指向第一個節(jié)點,r指向最后一個節(jié)點 while(1){ cin>>str; if(strcmp(str,"stop")==0) break; p=h; while(p!=NULL&&strcmp(p->data,str)!=0) p=p->next; if(p!=NULL) ___(27)___; else{ s=new word; s->count=1; strcpy(s->data,str); s->next=NULL; if(h==NULL){ h=s; ___(28)___; } else{ ___(29)___; r=s; } } } return h; } void print(word *p) { if(p==NULL) cout<<"空表"< else while(p=NULL){ cout< p=p->next; } cout< } void dele_list(word *h) { word *p; while(h){ p=h; ___(30)___ ; delete P; } } void main(void) { word *p; cout<<"輸入一段英文單詞或數(shù)字串,以空格、Tab或Enter字符分隔,以stop結(jié)束輸入;"; p=create(); cout<<"輸出單鏈表;"< print(p); dele_list(p); } 參考答案 一、選擇題 21.B 22.C 23.A 24.B 25.D 26.D 27.C 28.A 29.D 30.C 二、填空題 (1)指針運算,取指針變量所指向的值 (2)乘法運算 (3)virtural (4)void (5)循環(huán)結(jié)構(gòu) (6)x=16或16 (7)y=8或8 (8)9 3 (9)6 3 (10)3 3 (11)b[0]=13或13 (12)b[1]=12或12 (13)16 14 11 10 12 (14)x=7 (15)y=6 (16)30 (17)40 (18)200 (19)flag=0或return 0 (20)m%i==0&&n%i==0 (21)return 1或返回一個非0數(shù) (22)gcd(m,i)==1或gcd(m,i) (23)p=q=str (24)min=*p (25)*p=*(p-1) (26)return m (27)p->count++ (28)r=s (29)r->next=s (30)h=h->next或h=p->next |