![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2006秋江蘇c++等級考試試題 |
2006秋試題 (1)以下關(guān)于指令系統(tǒng)的敘述中,正確的是( ) (A)用于解決某一問題的一個指令序列稱為指令系統(tǒng) (B)指令系統(tǒng)中的每條指令都是CPU可執(zhí)行的 (C)不同類型的CPU,其指令系統(tǒng)是完全一樣的 (D)不同類型的CPU,其指令系統(tǒng)完全不一樣 (2)現(xiàn)在計算機上都有高速緩沖存儲器Cache,Cache是( ) (A)硬盤和主存之間的緩存 (B)軟盤和主存之間的緩存 (C)CPU和視頻設(shè)備之間的緩存 (D)CPU和主存儲器之間的緩存 (3)若計算機中連續(xù)2個字節(jié)內(nèi)容的十六進制形式為34和51,則他們不可能是( ) (A)兩個西文字符的Ascii字符 (B)1個漢字的機內(nèi)碼 (C)1個16位整數(shù) (D)一條指令 (4)下列關(guān)于操作系統(tǒng)任務(wù)管理的說法,錯誤的是( ) (A)Windows操作系統(tǒng)支持多任務(wù)處理 (B)分時是指將CPU時間劃分成時間片,輪流為多個程序服務(wù) (C)并行處理可以讓多個處理器同時工作,提高計算機系統(tǒng)的效率 (D)分時處理要求計算機必須配有多個CPU (5)IP地址是因特網(wǎng)中使用的重要標識信息,如果IP地址的主機號部分每一位均為0,是指( ) (A)因特網(wǎng)的主服務(wù)器 (B)因特網(wǎng)某一子網(wǎng)的服務(wù)器地址 (C)該主機所在物理網(wǎng)絡(luò)本身 (D)備用的主機地址 (6)下列關(guān)于USB接口的說法錯誤的是( ) (A)一般來說,1394接口的傳輸速度低于USB接口 (B)一個USB接口通過USB集線器可以連接多個設(shè)備 (C)USB的中文含義是通用串性總線 (D)USB接口連接的設(shè)備可以熱插拔,即不需要關(guān)機就可以插拔設(shè)備 (7)在PC機中負責(zé)各類I/O設(shè)備控制器與CPU、存儲器之間相互交換信息,傳輸數(shù)據(jù)的一組公用信號線稱為( ) A.I/O總線 B.CPU總線 C.存儲器總線 D.前端總線 (8)具有信號放大功能,可以用來增大信號傳輸距離的物理層網(wǎng)絡(luò)設(shè)備是( ) A.中繼器 B.網(wǎng)橋 C.網(wǎng)關(guān) D.路由器 (9)在TCP/IP協(xié)議中,遠程登陸使用的是( )協(xié)議 (A)Telnet (B)FTP (C)HTTP (D)UDP (10)關(guān)于計算機上使用的光盤存儲器,以下說法錯誤的是( ) (A)CD-R是一種只能讀不能寫的光盤存儲器 (B)CD-RW是一種既能讀又能寫的光盤存儲器 (C)使用光盤時必須配有光盤驅(qū)動器 (D)DVD光驅(qū)也能讀取CD光盤上的數(shù)據(jù) (11)計算機只能處理數(shù)字聲音,在數(shù)字音頻信息獲取過程中,下列順序正確的是( ) (A)模數(shù)轉(zhuǎn)換、采樣、編碼 (B)采樣、編碼、模數(shù)轉(zhuǎn)換 (C)采樣、模數(shù)轉(zhuǎn)換、編碼 (D)采樣、模數(shù)轉(zhuǎn)換、編碼 (12)下列關(guān)于虛擬存儲器的說明中,正確的是( ) (A)是提高計算機運算速度的設(shè)備 (B)由RAM加上高速緩存組成 (C)其容量等于主存加上Cache的存儲器 (D)由物理內(nèi)存和硬盤上的虛擬內(nèi)存組成 (13)下列關(guān)于CPU結(jié)構(gòu)的說法錯誤的是( ) (A)控制器是用來解釋指令含義、控制運算器操作、記錄內(nèi)部狀態(tài)的部件 (B)運算器用來對數(shù)據(jù)進行各種算術(shù)運算和邏輯運算 (C)CPU中僅僅包含運算器和控制器兩部分 (D)運算器由多個部件組成,如整數(shù)ALU和浮點運算器等 (14)pc機器中有一種類型為MID的文件,下列關(guān)于此類文件的敘述中,錯誤的是( ) (A)它是一種使用MIDI規(guī)范表示的音樂,可以由媒體播放器之類的軟件進行播放 (B)播放MIDI文件時,音樂是由PC機中的聲卡合成出來的 (C)同一MID文件,使用不同的聲卡播放時,音樂的質(zhì)量完全相同 (D)PC機中的音樂除了使用MID文件表示之外,也可以使用WAV文件表示 (15)下列關(guān)于有線載波通信的描述中錯誤的是( ) (A)同軸電纜的信道容量比光纖通信高的多 (B)同軸電纜具有良好的傳輸特性以及屏蔽特性 (C)傳統(tǒng)有線通信系統(tǒng)使用的是電載波通信 (D)有線載波通信系統(tǒng)的信源和信宿之間有物理的線路連接 (16)下面的敘述中錯誤的是( ) (A)現(xiàn)代信息技術(shù)的主要特征是采用電子技術(shù)進行信息的收集、傳遞、加工、存儲、顯示與控制 (B)現(xiàn)代集成電路使用的半導(dǎo)體材料主要是硅 (C)集成電路的工作速度主要取決于組成邏輯門電路的晶體管的數(shù)量 (D)當集成電路的基本線寬小到納米級時,將出現(xiàn)一些新的現(xiàn)象與效應(yīng) (17)關(guān)于基本輸入輸出系統(tǒng)(BIOS)及CMOS存儲器,下列說法錯誤的是( ) (A)BIOS存放在ROM中,是非易失性的 (B)CMOS中存放著基本輸入輸出設(shè)備的驅(qū)動程序以及設(shè)置參數(shù) (C)BIOS是PC機軟件最基礎(chǔ)的部分,包含CMOS設(shè)置程序等 (D)CMOS存儲器是易失性的 (18)目前市場上有一種稱為”手寫筆”的設(shè)備,用戶使用筆在基板上書寫或繪畫,計算機就可獲得相應(yīng)的信息,“手寫筆”是一種( ) (A)隨機存儲器 (B)輸入設(shè)備 (C)輸出設(shè)備 (D)通信設(shè)備 (19)路由器用于連接異構(gòu)的網(wǎng)絡(luò),它收到一個IP數(shù)據(jù)報后要進行許多操作,這些操作不包含( ) A.地址轉(zhuǎn)換 B.路由選擇 C.幀格式轉(zhuǎn)換 D.IP數(shù)據(jù)報的轉(zhuǎn)發(fā) (20)在下列存儲設(shè)備中,容量最大的存儲設(shè)備一般是( ) A.硬盤 B.優(yōu)盤 C.移動硬盤 D.軟盤 第二部分 Visual C++程序設(shè)計 一. 選擇題: 21.下列敘述中,不正確的是( ) A.一個函數(shù)中可以有多個return語句 B.函數(shù)可通過return語句返回數(shù)據(jù) B.必須用一個獨立的語句來調(diào)用函數(shù) D.函數(shù)main也可以帶有參數(shù) 22.下列定義變量和常量的語句中語法正確的是( ) A.float i, j, int k; B.const int i; C.int const k=1; D.#define PI=3.14159 23.下列關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)的敘述中正確的是( ) A.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載 B.構(gòu)造函數(shù)不能重載, 析構(gòu)函數(shù)可以重載 C.構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)也可以重載 D.構(gòu)造函數(shù)不能重載,析構(gòu)函數(shù)也不能重載 24.執(zhí)行以下語句后,循環(huán)的次數(shù)為 ( ) for(int x=0,y=0; !x&&y<=5;y++); A.無數(shù)次 B 25.已定義類A,該類構(gòu)造函數(shù)的參數(shù)都沒有缺省值,執(zhí)行語句 A a1(2),a2(1,2), *p=new A[3]; 則自動調(diào)用該類的缺省構(gòu)造函數(shù)的次數(shù)為( ) A.1 B 26.下列關(guān)于派生類的敘述中不正確的是( ) A. 派生類可以作為基類派生出新的派生類 B.一個派生類可以有多個基類 C.派生類繼承了基類的所有成員 D.派生類只能繼承基類中的非私有成員 27.設(shè)有說明語句: int i=2, *p=&i;char s[20]=”Hello”, *q=s; 以下選項中存在語法錯誤的是( ) A.cin>>p; B. cout<<p; C. cin>>q; D.cout<<q; 28.下列關(guān)于賦值兼容規(guī)則的敘述中不正確的是( ) A. 派生類的對象可以賦值給基類的對象 B.基類的對象可以賦值給派生類的對象 C.派生類的對象可以初始化其基類的引用 D.可以將派生類對象的地址賦值給其基類的指針變量 29.下列關(guān)于變量的敘述中不正確的是( ) A.C++語言中將變量分為auto,static,extern和register四種存儲類型 B.自動變量和外部變量的作用域為整個程序文件 C.函數(shù)內(nèi)定義的靜態(tài)變量的作用域為定義它的函數(shù)體 D.外部靜態(tài)變量的作用域為定義它的文件內(nèi) 30.設(shè)有說明語句: char a[ ] =”string!”, *p= a ; 以下選項中正確的是( ) A. sizeof(a)的值與sizelen(a)的值相等 B. strlen(a)的值與strlen(p)的值相等 C. sizeof(a)的值與sizeof(p)的值相等 D. sizeof(a)的值與sizeof(*p)的值相等 二.填空題: 1.當一個類的非靜態(tài)成員函數(shù)被調(diào)用時,該成員函數(shù)的( )指向調(diào)用它的對象 2.c++語言中的友元函數(shù)提供了在類外訪問類中的私有成員和保護成員的功能,但破壞了類的( ) 3.使用成員函數(shù)對雙目運算符進行重載時,其左操作數(shù)是( ) 4.設(shè)有宏定義和變量說明: #define T(x,y) x+y int a=T(3,4)*T( 5); 則變量a 的初值是( ) 5.設(shè)有說明語句: int a[ ][4]={{1,2},{2,3,4,5}}, *p=(int *)a; 則*(p+5)的值為 ( ) 閱讀程序題: 6.[程序] #include <iostream.h> #include <string.h> int isvowel(char c) { return (c==’a’ || c==’e’ || c==’i’ || c==’o’ || c==’u’); } void pluralize(char *s) { int len=strlen(s); char *p=s+len-1; char *q=s+len-2; if(*p==’h’ && (*q==’c’ || *q==’s’)) strcat(p,”es”); else if(*q==’s’) strcat(p,”es”); else if(*p==’y’) if(isvowel(*q)) strcat(p,”s”); else strcpy(p,”ies”); else if(*p==’z’) if(isvowel(*q)) strcat(p,”zes”); else strcat(p,”es”); else strcat(p,”s”); } void main(void) { char word[6][20]={“wish”,”bus”,”toy”,”navy”,”quiz”,”computer”}; for(int i=0;i<6;i++) { pluralize(word[i]); cout<<word[i]<<’\t’; if((i+1)%2==0) cout<<’\n’; } } 7.[程序] # include <iostream.h> void f(int j) { if(!j) cout<<j; return ;} if(j%2) {f(j/10);cout<<j%10;} else{ cout<<j%10; f(j/10);} } void main(void) { f(0); cout<<’\n’; f(1357); cout<<’\n’; f(2468);cout<<’\n’; } 程序輸出的第一行是( ),第二行是( ), 第三行是( ) 8.[程序] #include <iostream.h> int x=2,y=x+30; class A{ int y; static int x; public: operator int() { return x+y;} A operator ++(int) { return A(x++, y++);} A(int x=2,int y=3) {A::x=::x+x; A::y=::y+y;} void print() {cout<<”x=”<<x<<”,\t”<<”y=”<<y<<endl;} }; int A::x=23; void main(void) { A a(54,3), b(65), c; a.print(); int i=a+b; cout<<”i=”<<i<<endl; c++; c.print(); } 程序輸出的第一行是( ),第二行是( ),第三行是( ) 9.[程序] #include <iostream.h> char *f(char *s,char ch) { char *p=s, *q=s; while(*q=*p++) if (*q!=ch) q++; return s; } void main(void) { char s1[ ] =”Hello How are you”, s2[ ] =”1100101 cout<<f(s1,’e’)<<’\n’; cout<<f(s2,’ } 程序輸出的第一行是 ( ),第二行是( ) 10.[程序] #include <iostream.h> class A{ int x,y; public: A(int i, int j) {x=i; y=j;} operator ++(int) { cout<<++x<<’ ‘<<++y<<’ ‘<<”重載 friend A operator ++(A); }; A operator ++(A op) { cout<<++op.x<<’ ‘ <<++op.y<<’ ‘<<”重載 return op; } void main(void) { A a(1,2); ++a; a++; } 程序輸出的第一行是( ),第二行是( ) 11.下面程序的功能是:先輸入一行字符串,并從輸入的字符串中找到最小的字符(其Ascii值最。,用min保存該字符,然后將該字符前的所有字符順序往后移動一個字符位置,最后,將保存的字符放在該字符串的第0個位置,例如:設(shè)輸入的字符串為”bcdfae”,其中字母a為最小字符,經(jīng)移動處理后,輸出的字符串為”abcdfe” [程序] # include <iostream.h> void fun(char *str) { char min, *q, *p; ( ); min=*p++; while(*p!=’\ { if( ) {min=*p; q=p;} p++; } p=q; while( ){*p=*(p-1);( );} *p=min; } void main(void) { char str[80]; cin.getline(str,80); fun(str); cout<<str<<’\n’; } 12.用程序模擬兩個大整數(shù)(為簡化程序,設(shè)整數(shù)為正數(shù))的加法運算。假定一個整數(shù)最多N位,用一個一維數(shù)組存放其各位數(shù)字。在數(shù)組下標為0的元素中存放該整數(shù)的個位數(shù)字,在下標為1的元素中存放該整數(shù)的十位數(shù)字,依次類推。例如:大整數(shù)a的值為88099005798957,大整數(shù)b的值為776988213577,則兩個整數(shù)相加的結(jié)果為88875994012534.以下是程序輸出的結(jié)果: Integer a: 88099005798957 Integer b: 776988213577 Sum: 88875994012534 [程序] # include <iostream.h> # define N 20 void add(int sum[ ], int a[ ], int b[ ]); void wrt( ); void main(void) { int a[N] ={7,5,9,8,9,7,5,0,0,9,9,0,8,8}; init b[N]={7,7,5,3,1,2,8,8,9,6,7,7}; int sum[N]; add(sum,a,b); wrt(“Integer a:”,a); wrt(“Integer b:”,b); wrt(“ Sum:”, sum); } void add(int sum[ ], int a[ ], int b[ ]) { int carry=0; for(i=0; i<N; ++i) { sum[i]=( ); if(sum[i]<10) carry=0; else{ carry=sum[i]/10; sum[i]=( ); } } } void wrt(const char *s, int a[ ]) { int i; cout<<s; for( ;i>0 && a[i]==0; --i) cout<<(‘ ‘); for(;i>=0;--i) cout<<a[i]; cout<<’\n’; } 13.下面程序先建立 |