2014春江蘇省計算機二級VC++筆試真題 |
本頁為文字題目,如果需要查看視頻講解,請點擊江蘇二級VC++考試題目視頻講解 絕密★ 啟用前 2014年春 江蘇省高等學校非計算機專業學生 計算機基礎知識和應用能力等級考試 二級試卷 試卷語種:Visual C++語言 說 明: 1.本試卷包括計算機基礎知識部分和程序設計部分,考試時間共12 0分鐘; 2.本試卷滿分為60分,分選擇題和填空題,試卷不分A、B類型; 3.計算機基礎知識部分全部是選擇題(20分),程序設計部分分為選擇題(1 0 分)和填空題(30分)兩種; 4.選擇題用答題卡答題。每一項有A、B、C、D四個可供選擇的答案,請選 擇其中一個你認為正確的答案,用HB鉛筆涂寫在答題卡的相應答題號內。 每選對一項得1分,不選或選錯不得分; 5.填空題用答題紙答題。請將答案用藍、黑色鋼筆或圓珠筆填寫在答題紙的 相應答題號內,每個答案只占一行,不得換行。每填對一個答案得1分, 不填或填錯不得分; 6.請認真填寫并仔細核對答題卡和答題紙上的學校名稱、準考證號和姓名是 否填寫正確。 7.考試結束時將試卷、答題卡和答題紙放在桌上,不得帶走。待監考人員收 畢清點后,方可離場。 第一部分 計算機基礎知識 一、選擇題(用答題卡答題,答案依次填在1—20題號內) 1.在下列有關信息、信息技術、信息化、信息產業的相關敘述中,錯誤的是___1___ 。 A.從不同的學科和視角出發,對"信息"一詞的解釋可能有所不同 B.雷達技術、衛星技術、人工智能技術、數據庫技術等均屬于現代信息技術 C.我國信息化建設既要充分發揮工業化對信息化的基礎和推動作用,又要使信息化成為帶動工業化升級的強大動力 D.我國的信息產業在上世紀90年代起步,目前信息產業銷售收入已達每年1億元 2.在邏輯代數中,最基本的邏輯運算有三種,即邏輯加、邏輯乘和取反運算。其中,邏輯加常用符號___ 2___表示。 A.V B.^ C.- D. . 3.PC機主板又稱母板,是PC機中十分重要的物理部件。下列關于PC機主板的敘述中,正確的是___3___。 A.從主板的物理尺寸來看目前沒有標準,不同廠家生產的主板的物理尺寸均各不相同 B.主板上安裝有存儲器芯片,例如ROM芯片、CMOS芯片等 C. CPU是直接固定在主板上的,通常不可更換 D.主板上安裝的電池可在計算機突然斷電時給計算機供電,以保證計算機能做好正常的關機工作 4。下面是關于BIOS的一些敘述,正確的是___4___ 。 A. BIOS是存放于ROM中的一組高級語言程序 B.BIOS中含有系統工作時所需的全部驅動程序 C.BIOS系統包含了系統加電自檢程序和CMOS設置程序 D.沒有BIOS的PC機也可以正常啟動工作 5.USB是一種可以連接多個設備的總線式串行接口,目前在PC機及各種數碼設備中普遍使用。下列相關敘述中錯誤的是 ___5___ 。 A.通過USB接口與PC機連接的外部設備(如數碼相機、掃描儀、打印機等)均不需要外接電源,這些設備均可通過USB接口由主機提供電源 B.USB符合"即插即用"(PnP)規范,USB接口支持熱插拔 C. USB 2.0接口使用4線連接器,其連接器分為A型、B型等類型 D. USB 3.0的最高數據傳輸速率可達每秒數百兆字節 6.打印機的性能指標主要是打印精度、打印速度、色彩數目和打印成本等。打印精度也就是打印機的分辨率,它用dpi來表示,是衡量圖像清晰程度最重要的指標。dpi的含義是 ___6___ 。 A.每厘米可打印的點數 B.每平方厘米可打印的點數 C.每英寸可打印的點數 D.每平方英寸可打印的點數 7.自20世紀70年代初光存儲技術誕生以來,光盤存儲器獲得迅速發展,形成了CD、DVD和BD三代光盤存儲器產品。下列相關敘述中錯誤的是 ___7___ 。 A.光盤片用于存儲數據,其基片直徑大多為120mm(約5英寸),用于記錄數據的是一條由里向外的連續的螺旋狀光道 B.CD光驅使用紅外激光,DVD光驅使用紅色激光,BD光驅使用藍色激光 C.目前一張BD光盤的存儲容量可達25GB,是現有單面單層DVD盤容量的5倍左右 D. DVD刻錄機可以對DVD-RW光盤進行讀寫操作,但不能刻錄CD-R光盤 8.下列關于計算機軟件的敘述中,錯誤的是 ___8___。 A.人們不僅把程序,也把與程序相關的數據和文檔統稱為軟件 B.應用軟件泛指那些為用戶管理與操作使用計算機提供方便的一類軟件 C.共享軟件是一種"買前免費試用"的具有版權的軟件 D.大多數自由軟件都是免費軟件,但免費軟件并不全都是自由軟件 9.下列關于Windows操作系統的說法中,錯誤的是 ___9___ 。 A. Windows是目前使用最為廣泛的操作系統,任何計算機都可安裝和使用Windows操作系統 B.Windows操作系統采用并發多任務方式支持系統中多個任務的執行 C.在Windows操作系統中,虛擬存儲器是由物理內存和硬盤上的虛擬內存聯合組成的,其頁面調度算法采用"最近最少使用"算法 D.微軟公司推出的Windows產品一般都有多個不同版本,例如家庭版、專業版等等 10.下列關于匯編語言的敘述中,錯誤的是 ___10___ 。 A.匯編語言屬于低級程序設計語言 B.匯編語言源程序可以由計算機直接執行 C.不同型號CPU支持的匯編語言不一定相同 D.匯編語言是一種與CPU邏輯結構密切相關的編程語言 11.以下有關無線通信技術的敘述中,錯誤的是 ___11___。 A.短波具有較強的電離層反射能力,適用于環球通信 B.衛星通信利用人造地球衛星作為中繼站轉發無線電信號,實現在兩個或多個地球站之間的通信 C.衛星通信也是一種微波通信 D.手機通信不屬于微波通信 12.下面關于我國第3代個人移動通信的敘述中,錯誤的是 ___12___ 。 A.我國的3G移動通信有3種不同的技術標準 B.中國移動公司采用的是我國自主研發的TD-SCDMA(時分-同步碼分多址接入)技術 C.不同的技術標準互相兼容,手機可以交叉入網,互相通用 D.不同技術標準的網絡是互通的,可以相互通信 13.假設IP地址為202.119.24.5,為了計算出它的網絡號,下面 ___13___ 最有可能用作其子網掩碼。 A.255.0.0.0 B.255.255.0.0 C.255.255.255.0 D.255.255.255.255 14.下列有關網絡兩種工作模式(客戶/服務器模式和對等模式)的敘述中,錯誤的是 ___14___。 A.近年來盛行的"BT"下載服務采用的是對等工作模式 B.基于客戶/服務器模式的網絡會因客戶機的請求過多、服務器負擔過重而導致整體性能下降 C. Windows操作系統中的"網上鄰居"是按客戶/服務器模式工作的 D.對等網絡中的每臺計算機既可以作為客戶機也可以作為服務器 15.目前采用無線方式接入因特網的技術有多種,如無線局域網(WLAN)接入、GPRS移動電話網接入和3G移動電話網接入等。下列相關敘述中錯誤的是 ___15___ 。 A.家庭(宿舍)中的多臺計算機可以通過無線路由器共享ADSL(或光纖以太網)線路連接因特網 B.GPRS是在第2代移動通信系統GSM上發展出來的一種基于分組交換的數據通信業務 C.采用3G移動電話網接入時,數據傳輸速率可達數十Mbps D.目前我國已有部分城市可采用4G移動電話網接入 16.下面對于網絡信息安全的認識正確的是 ___16___。 A.只要采用加密技術,就能保證數據不被非法竊取 B.訪問控制的任務是對每個(類)文件或信息資源規定不同用戶對它們的操作權限 C.數字簽名的效力法律上還不明確,所以尚未推廣使用 D.根據人的生理特征(如指紋、人臉)進行身份鑒別在單機環境下還無法使用 17. IE瀏覽器和Outlook Express中使用的UTF-8和UTF-16是 ___17___ 標準的2種編碼方案。 A.GB2312 B.GBK C.UCS(Unicode) D.GB18030 18.獲取數字聲音時,為了保證對頻帶寬度達20kHz的全頻帶音樂信號采樣時不失真,其采樣頻率應達到 ___18___ 以上。 A.40kHz B.16kHz C.12kHz D.8kHz 19.多年來不同公司開發了多種圖像處理軟件,因而出現了多種不同的圖像文件格式。不同的圖像文件格式通常采用不同的圖像壓縮方法和數據組織方式。下列四種圖像文件格式中,通常為有損圖像壓縮的是 ___19___ 。 A. BMP B.GIF C. TIF D. JPEG 20.下列有關數字視頻信息的敘述中,錯誤的是 ___20___ 。 A.目前有線電視臺播放和傳輸的雖然已經是數字視頻信號,但它需經機頂盒解碼并轉換為模擬電視信號后才能由傳統電視機播放與收看 B.數字攝像頭是一種可以在線獲取數字視頻的設備,目前許多平板電腦、筆記本電腦已將數字攝像頭集成在其中 C.目前視頻通信(如可視電話、會議電視等)采用的視頻壓縮編碼標準為MPEG-1 D.計算機動畫是一種合成的數字視頻,它的制作過程通常是先在計算機中生成場景和形體的模型,然后描述它們的運動,最后再生成圖像并轉換成視頻信號輸出 第二部分 VC++語言程序設計 一、選擇題(用答題卡答題,答案依次填在21—30答題號內) 21.以下說明語句中,正確的是 ___21___ 。 A. int a,friend;int &b=a; B.int Auto,x;int &y=&x; C. int For; int &z=For; D.int a.cpp;int &c=& a.cpp; 22.設有程序: #include #define SQR(X) X*X void main() { int a=10,k=2,m=1; a/=SQR(k+m) /SQR(k+m); } 執行該程序的輸出結果是 ___22___ 。 A.1 B.10 C.0 D.9 23.下列敘述中不正確的是 ___23___ 。 A.含純虛函數的類是抽象類 B.不能直接由抽象類建立對象 C.抽象類可作為基類派生出新的類 D.可定義抽象類的對象 24.設有語句:"int a=1,b=2,c=3,d=4,e ; e=b的值為 ___24___ 。 A.1 B.2 C.3 D.4 25.靜態成員函數不能直接訪問 ___25___ 。 A.靜態數據成員 B.非靜態數據成員 C.靜態成員函數 D.類以外的函數和數據 26.有關函數重載的以下敘述中,正確的是 ___26___ 。 A.函數名不同,但參數的個數和類型相同 B.函數名相同,但參數的個數不同或參數的類型不同 C.函數名相同,參數的個數和類型也相同 D.函數名相同,函數的返回值不同,而與函數的參數和類型無關 27.建立包含有類對象成員的派生類對象時,自動調用構造函數的執行順序為 ___27___ 的構造函數。 A.自己所屬類、對象成員所屬類、基類 B.對象成員所屬類、基類、自己所屬類 C.基類、對象成員所屬類、自己所屬類 D.基類、自己所屬類、對象成員所屬類 28.為了避免嵌套的if語句的二義性,C++語言規定else與 ___28___ 配對。 A.編輯時在同一列上的if B.同一行上的if C.其之后最近的if D.其之前最近的還沒有配對過的if 29.以下關于函數的敘述中,正確的是 ___29___ A.函數的定義不能嵌套,但函數的調用可以嵌套 B.函數的定義可以嵌套,但函數的調用不能嵌套 C.函數的定義和調用都不能嵌套 D.函數的定義和調用均可以嵌套 30.以下的敘述中,不正確的是 ___30___ 。 A.通常類的定義在前,該類的對象定義在后 B.一個類可由多個基類派生,通;惗x在前,派生類定義在后 C.若一個類沒有定義析構函數,則系統會自動為其產生一個缺省的析構函數 D.可以將構造函數定義為虛函數 二、填空題(請將答案填寫在答題紙的相應答題號內,每個答案只占一行) ●基本概念題,共5分 1.C++中有兩種多態性:靜態多態性和動態多態性。靜態多態性是通過 ___(1)___ 來實現的,而動態多態性是通過 ___(2)___ 來實現的。 2.在類的多重繼承中,為了保證同一基類在派生類中只有一個拷貝,可通過 ___(3)___ 來實現。 3.對于基本數據類型的靜態變量,其缺省初值為 ___(4)___ 。 4.執行語句"int a=5,b=6,c;c=a++ || b++;"后,b的值為 ___(5)___ 。 ●閱讀程序題,共13分 5.[程序](2分) #include int fun(int x, int &y) { int a=x; static int b=10; x=a+y; y=b+y; b=y+a; return (x++); } void main(void) {int x=1, y=5; for(int i=0; i<3;i++){ cout< } } 執行程序后,輸出的第一行是 ___(6)___ ,第二行是 ___(7)___ 。 6.[程序](3分) #include void fun(int *s,int n1,int n2) {while (n1 for (int sum=s[0], k=1; k<4; k++) sum+=s[k]; cout< } void main(void) {int a[ ]={1,2,3,4}; fun (a,0,2);fun (a,1,3);fun (a,0,3); } 執行程序后,輸出的第一行是 ___(8)___ ,第二行是 ___(9)___ ,最后一行是 ___(10)___ 。 7.[程序](3分) #include void fun(int *s, int p1, int p2) { int c; c=s[p1]; s[p1]=s[p2]; s[p2]=c; p1--; p2++; if(p1>p2) fun(s,p1,p2); } void p(int b[],int i) { for (int j=0; j cout< } void main() { int a[]= {10, 20, 30, 40, 50, 60} ; fun(a,2,1); p(a,6); fun(a,5,2); p(a,6); fun(a,5,0); p(a,6); } 執行程序后,輸出的第一行是 ___(11)___ ,第二行是 ___(12)___ ,最后一行是 ___(13)___ 。 8.[程序](3分) #include int n1=0, n2=0, n3=0, n4=0 ; class T{ public: T(int a){ ia=a; n1++; } void print() { cout< int Getia() {return ia;} private : int ia; }; class S1:public T{ int x; public: S1(int a,int c):T(a) { x=c; n2++; } void printS1() { cout< }; class S2:public T{ int y; public: S2(int a):T(10) { y=a; n3++; } void printS2() {cout< }; class S:public S1,public S2{ int xx; public: S(int a,float b,int c,int d):S1(a,b),S2(c) { xx=d; n4++;} void printS() {cout< }; void main(void) { T t1(2) ; S1 t2(3,4) ; S2 t3 (5) ; S t4(6, 7, 8, 9), *p; p=&t4; p->printS () ; p->printS1 () ; p->printS2() ; cout< } 執行程序后,輸出的第一行是 ___(14)___ ,第二行是 ___(15)___ ,最后一行是 ___(16)___ 。 9.[程序](2分) #include class A{ int a; public: A(int aa) { a=aa;} int Geta() {return a;} }; class B:public A{ int b; public: B(int a,int c):A(a) { b=c;} virtual void print() { cout< int Getb() { return b;} }; class C:public B{ int c; public: C(int a1,int a2,int a3):B(a1,a2) { c=a3;} void print() { cout< }; void main(void) { A obj1(10),*p1; B obj2(20, 30),*p2; C obj3 (40, 50, 60) ; obj3. print () ; p1=&obj3; p2=&obj3 ; p1->print(); p2->print () ; p1=&obj2; p1->print () ; } 執行程序后,第二行是 ___(17)___ ,第三行是 ___(18)___ ●完善程序題,共12分 10.以下程序求滿足下述條件的三位數n: 要求n除以11(整數除法)所得到的商等于n的各位數字的平方和,且n中至少有兩位數字相同。例如,131,它除以11的商為11,各位數字的平方和為11,因此它是滿足條件的三位數。又如550也是滿足條件的三位數。成員函數f(int a,int b)判斷a的各位數字的平方和是否等于b,并且a的各位數字中是否至少有兩位數字相同。函數find()找出所有滿足條件的三位數。 [程序](4分) #include #include class num( int x[50],count; //x中存放滿足條件的數 public: num() {count=0;} int f(int a,int b) { int n1,n2,n3; n1=a/100; n2= ___(19)___ ; n3=a; if (___(20)___) return 0; if(n1==n2 || n1==n3 || n2==n3) return 1; return 0; } void find() { int j: for(int i=100;i<=999;i++){ j=i/ll; if (___(21)___){ x [count]=i; ___(22)___ ; } } } void output() { for (int i=0; i cout< cout< } }; void main(void) { num a; a.find(); a.output(); } 11.以下程序中,類AA的功能是管理一個數組,其中成員函數Set()實現數組的初始化,Ave()求數組的平均值,Sort()按升序對數組中的元素進行排序。 [程序](4分) #include class AA{ int a[10]; int n; float av; public: void Set(int aa[],int nn){ for(int i=0;i<10;i++) a[i]=aa[i]; n=nn; } void Ave() { float sum=a[0]; for(int i=1;i ___(23)___; av=sum/n; } void Sort() { //選擇排序法實現數組排序 int i,j,k,x; for (i=0;i k=i; for(j=i+1;j if(___(24)___) k=j; if(___(25)___){ x=a[i]; a[i]=a[k]: a[k]=x; } } } void Print() { for (int i=0; i<10; i++) cout< cout< } }; void main() { int a[10]= {5,8,7,4,1,6,2,9,3,0}; AA A; ___(26)____; A.Ave(); A.Sort(); A.Print(); } 12.以下程序首先建立一條鏈表,然后按照如下順序刪除鏈表中的結點:以鏈表的第一個結點為1號結點開始依次搜索,刪除所有序號為3的倍數的結點,即刪除第3、6、9、……個結點, 當搜索一遍結束后再從鏈表頭部繼續此操作,直到鏈表的結點個數少于3個為止a 程序輸出為: 當前鏈表中的結點依次為:23 12 32 54 74 25 65 94 17 72 第1輪刪除的結點為:32 25 17 當前鏈表中的結點依次為:23 12 54 74 65 94 72 第2輪刪除的結點為:54 94 當前鏈表中的結點依次為:23 12 74 65 72 ...... 第5輪刪除的結點為:72 鏈表中剩余的結點為:23 12 #include struct node{ int data; node *next; }; node *Insert(int x, node *head) {node *p; p= new node; p->data=x; ___(27)___ ; return p; } void fun(node *head, int n) { node *p,*p1,*q; int i,num=1; if(!head) return; while (n>2){ cout<<"當前鏈表中的結點依次為:"; p=head; while (p){ cout< p=p->next ; } cout< p=head; q=head->next ; i=2 ; while (q) { if(i%3==0){ cout< ___(28)___; delete q; q=p->next ; n-- ; i++; } else { p=p->next ; i++; ___(29)___; } } num++; cout< } cout<<"鏈表中剩余的結點為 :"; p=head; while (p) { cout< p=p->next ; } cout< void main(void) { int a[10]={23, 12, 32, 54, 74, 25, 65, 94, 17, 72}; node *head=0; for(int i=9; i>=0; i--) ___(30)___; fun (head, 10) ; } |