南昌大學(xué)C++期末考試試卷(答案全)_第1頁(yè)
南昌大學(xué)C++期末考試試卷(答案全)_第2頁(yè)
南昌大學(xué)C++期末考試試卷(答案全)_第3頁(yè)
南昌大學(xué)C++期末考試試卷(答案全)_第4頁(yè)
南昌大學(xué)C++期末考試試卷(答案全)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 南昌大學(xué) 2003 2004 學(xué)年第二學(xué)期期 末 考試試卷 A卷 一單項(xiàng)選擇題1A的ASCII碼為65,n為int型,執(zhí)行 n =A+6-3;后,n的值為 B 。A)D B) 68 C) 不確定的值 D) 編譯出錯(cuò)2.下列變量名中, A 是合法的。A)CHINA B) byte-size C) double D) A+a3在static int B33=1,3,2,4,5,6;中, a22的值是 C 。A)0 B) 5 C)6 D)24若有定義 int a=3, *p=&a ;則 *p的值是 B 。A)常量a的地址值 B)3 C)變量p的地址值 D)無(wú)意義 5下列關(guān)于指針運(yùn)算的各敘述

2、中,不正確的敘述是 D 。A)指向同一數(shù)組的兩個(gè)指針,可以進(jìn)行相等或不等的比較運(yùn)算;B)可以用一個(gè)空指針賦值給某個(gè)指針;C)指向數(shù)組的指針,可以和整數(shù)進(jìn)行加減運(yùn)算;D)指向同一數(shù)組的兩個(gè)指針,可以進(jìn)行有意義的相加運(yùn)算。6. 已知x、y、z是int型變量,且x=3,y=4,z=5;則下面各表達(dá)式中,值為0的是 D 。A)x&&y B) x<=y C)x | y+z && y-z D) !(x<y) && !z | 1) 7下列各選項(xiàng)中,正確的選項(xiàng)是 A 。A) 0和0值相等。 B) 0和0 值相等 。 C)0和 0 值相等 。 D) 0

3、、0和0 值都不相等。8. 若有說(shuō)明語(yǔ)句:char ch=72;則變量 ch A 。A)包含1個(gè)字符 B) 包含2個(gè)字符 C) 包含3個(gè)字符 D) 說(shuō)明不合法9在下列關(guān)于C+與C語(yǔ)言關(guān)系的各描述中, D 是錯(cuò)誤的。A)C語(yǔ)言是C+的一個(gè)子集; B)C語(yǔ)言與C+是兼容的;C)C+對(duì)C語(yǔ)言進(jìn)行了一些改進(jìn); D) C+和C語(yǔ)言都是面向?qū)ο蟮摹?0 在下列關(guān)于類概念的各描述中, A 是錯(cuò)誤的。 A)類就是C語(yǔ)言中的結(jié)構(gòu)體類型;B)類是具有共同行為的若干對(duì)象的統(tǒng)一描述體;C)類是創(chuàng)建對(duì)象的樣板;D)類是抽象數(shù)據(jù)類型的實(shí)現(xiàn)。11在下列各選項(xiàng)中,符合C+語(yǔ)法的賦值表達(dá)式是 C 。A) d=3+=d+6 B)

4、 d=6+e=d+8 C) d=e+=f+6 D) d=2+e, d+5=1 12對(duì) for( 表達(dá)式1 ; ;表達(dá)式3 ) 可理解為 B 。A)for( 表達(dá)式1 ;0 ;表達(dá)式3 )B)for( 表達(dá)式1 ;1 ;表達(dá)式3 )C)for( 表達(dá)式1 ;表達(dá)式1 ;表達(dá)式3 )D)for( 表達(dá)式1 ;表達(dá)式3 ;表達(dá)式3 )13若有定義:int a34 ; 則對(duì)a數(shù)組某一元素的正確表示是 C 。A)a24 B) a1,3 C)a1+10 D) a(2)(1)14若有初始化 static char str=“NDJSZX” ;則其中的str相當(dāng)于 B 。A)str8 B) str7 C) s

5、tr6 D) str215一維整型數(shù)組a的正確定義是 D 。A) int a(10);B) int n=10; int an;C) int n; cin>>n; int an;D) const int SIZE=10; int aSIZE;16采用函數(shù)重載的目的在于 D ;A) 實(shí)現(xiàn)共享 B)減少空間 C) 提高速度 D)使用方便,提高可讀性 17下列的各類函數(shù)中, C 不是類的成員函數(shù)。A)構(gòu)造函數(shù) B)析構(gòu)函數(shù)C)友元函數(shù) D)拷貝初始化構(gòu)造函數(shù)18若有定義:int x , *p ; 則正確的賦值表達(dá)式是 D 。A) *p=*x B) *p=&x C) p=x D) p

6、=&x 19下列靜態(tài)數(shù)據(jù)成員特性中, D 是錯(cuò)誤的。A) 說(shuō)明靜態(tài)數(shù)據(jù)成員時(shí)前邊要加修飾符static;B) 靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化;C) 引用靜態(tài)數(shù)據(jù)成員時(shí),要在靜態(tài)數(shù)據(jù)成員名前加<類名>和作用域分辨符;D) 靜態(tài)數(shù)據(jù)成員不是所有對(duì)象共有的。20以下各選項(xiàng)中,正確的函數(shù)聲明是 C 。A)double func( int x , int y ) B)int func( int x ; int y ) ;C)float func( int x , int y ) ;D)char func( int x , y ) ;二、填空題(每空1分,共20分)1一個(gè)C+程序的執(zhí)

7、行從 main 函數(shù)開始,到 main 函數(shù)結(jié)束 。2 設(shè)有定義 int x=3, y=4 ; 則表達(dá)式 x*=y+5的值為 27 。若有 定義 int a=2 ;則執(zhí)行完語(yǔ)句 a+=a-=a*a ;之后,a的值為 -4 。3在C+ 中,只能用于整型操作數(shù)的算術(shù)運(yùn)算符是 % ;表達(dá)式3 / 2的結(jié)果為 1 。4在C+ 中, 變量的三個(gè)基本要素是指:變量名、 變量類型 和 變量值 。5設(shè)有定義 int x=3, y=4, t ; 則實(shí)現(xiàn)x,y兩變量值交換的三個(gè)語(yǔ)句是:t=x ; x=y ; y=t ; 。 6在C+ 中,有兩種給出注釋的方法。一種是沿用C語(yǔ)言的注釋符,即 /* */ 。另一種是從

8、它開始,直到它所在行尾的字符都為注釋的注釋符,即 / 。7在C+ 中, 函數(shù)在定義時(shí)可以預(yù)先定義出默認(rèn)的形參值。默認(rèn)形參值必須 按 從右到左 的順序定義。因?yàn)樵谡{(diào)用時(shí),實(shí)參初始化形參是按 從左到右 的順序。8在C+程序中,對(duì)剛創(chuàng)建的對(duì)象進(jìn)行初始化的工作由 構(gòu)造 函數(shù)來(lái)完成;而對(duì)象被刪除前的一些清理工作則是由 析構(gòu) 函數(shù)來(lái)完成的。9 Visual C+ 6.0 集成開發(fā)環(huán)境界面由標(biāo)題欄、菜單欄、工具欄、 項(xiàng)目工作區(qū) 窗口、文檔窗口、 輸出 窗口以及狀態(tài)欄等組成。10類是邏輯上相關(guān)的 函數(shù) 與數(shù)據(jù)的封裝。特殊類的對(duì)象擁有其一般類的全部屬性與服務(wù),稱作特殊類對(duì)一般類的 繼承 。三、程序閱讀題 (每小

9、題5分,共30分) 請(qǐng)?jiān)诟鞒绦虻挠覀?cè)空白部分,寫出對(duì)應(yīng)程序運(yùn)行后的輸出結(jié)果1源程序如下:# include <iostream.h> void main( )abcdefgcdefg char *s =abcdefg ; cout << s << endl ;s + = 2 ;cout << s << endl ; 2源程序如下: * * * *# include <iostream.h> # define N 5void main( ) int i , j ; for( i = N; i >= 1 ; i- ) f

10、or( j = 1; j <= N-i ; j + + ) cout << ; / 雙引號(hào)內(nèi)含一空格for( j = 1; j <= 2*i-1 ; j + + ) cout << *;cout << endl ; 3源程序如下: 6 7 8# include <stdio.h> void main( ) int fun( int a ) ; int a=2, i ; for ( i = 0 ; i < 3 ; i + + ) printf (“ %3d ” , fun( a ) ) ; int fun( int a ) int

11、 b = 1 ; static int c = 1 ; b = b + 1 ; c = c + 1 ; return ( a + b + c ) ; 4源程序如下:5 11 13The Sum = 29# include <stdio.h> void main( ) int prime ( int x ) ;static int a 6 = 5, 9, 6, 11, 13, 8 ; int i , *p = a , sum = 0 ; for ( i = 0 ; i < 6 ; i + + ) if ( prime ( *( p + i ) ) = = 1 ) printf

12、( “ %d t ” , * (a+i ) ) ; sum + = * ( a + i ) ; printf ( “n The Sum = %d n ”, sum ) ;int prime ( int x ) int i ; for ( i = 2 ; i < x ; i + + )if ( x % i = = 0 ) return ( 0 ) ; return ( 1 );5源程序如下:# include < iostream.h >void f1( int I ) I += 10 ; void f2( int * I ) *I += 10 ; kl,void f3( in

13、t& n ) n += 10 ; void main( )I is 0I is 10I is 20 int I = 0 ;f1( I ) ; cout <<“I is ”<< I << endl ;f2( &I ) ; cout <<“I is ”<< I << endl ;f3( I ) ; cout <<“I is ”<< I << endl ;6源程序如下:# include <iostream.h>class Class public : Class

14、( int n = 6 , int m = 7 ) ; Class ( ) ; void Set ( int n , int m ) x = n ; y = m ; private : int x, y ; ; Class : Class( int n, int m) Set( n, m ) ; cout <<“Construct : x= ”<< x <<“, y= ” << y << endl ; Class : Class( ) cout <<“Destruct : x=” << x <<“,

15、 y= ” << y << endl ; void main( )Construct: x=5, y=7Construct: x=1, y=3exitingDestruct: x=1, y=3Destruct: x=5, y=7 Class a ( 5 ) ;Class b ( 1 , 3 ) ;cout <<“exitingn ” ; 四、程序填空題 (每小題6分,共12分)。 1本程序用遞歸的方法計(jì)算并輸出Fibonacci數(shù)列的前20項(xiàng)。Fibonacci數(shù)列的規(guī)律是:數(shù)列前兩項(xiàng)均為1,從第三項(xiàng)開始,每一項(xiàng)都是其前兩項(xiàng)的和。請(qǐng)補(bǔ)全fac函數(shù)。# inc

16、lude <iostream.h>int fac( int n ) ;void main( )int i ;for( i = 0 ; i < 20 ; i + + ) cout << fac( i ) << ; int fac( int n ) / 紅色顯示的部分為參考答案 int s; if(n=0 | n=1) s=1; else s=fac(n-1)+fac(n-2); return s; 2本程序的功能是輸出三角形式的九九乘法表。請(qǐng)?jiān)跈M線上填空。#include <stdio.h> void main( ) int i , j ;

17、for( i=1; i<=_9_ ; i+ )for( j=1; j<=_i_ ; j+) printf ( “ %1d*%1d=%2d ” , j , i , i*j ) ;printf( “ n ” ) ; 五、程序設(shè)計(jì)題(每小題9分,共18分) 1設(shè)學(xué)生的人數(shù)已知,他們的考試成績(jī)也已知。請(qǐng)編程補(bǔ)全下面的程序,使該程序能完成:(1)計(jì)算出這些成績(jī)的平均成績(jī)并顯示出來(lái);(2)計(jì)算出這些成績(jī)的最高成績(jī)并顯示出來(lái)。 # include <iostream.h> # define N 8 void main( ) static float scoreN= 86, 67, 9

18、8, 80, 78, 95, 56, 78 ;int i;float s, aver, max;s=0;for(i=0; i<N; i+) s=s+scorei;aver=s/N;cout<<”aver=”<<aver<<endl;max=score0;for(i=1; i<N; i+) if(max<scorei) max=scorei;cout<<”max=”<<max<<endl; 2編一程序,其功能是:對(duì)鍵盤輸入的年、月、日,計(jì)算并輸出該日是該年的第幾天。要求:年、月、日分別用year、month

19、、day表示;用函數(shù)leap來(lái)判別year年是否閏年。提示:非閏年各月的天數(shù)可預(yù)先放入一個(gè)數(shù)組中。 void main( ) int year , month , day , s , i ; bool leap(int year); static dofm13=0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ; / 0下標(biāo)(0月)不用 cin>>year>>month>>day; s=0; for(i=1; i<month; i+) / 統(tǒng)計(jì)month月之前的那些月的總天數(shù) s=s+dofmi; s=

20、s+day; / 統(tǒng)計(jì)非閏年時(shí)到month月day日的總天數(shù) if( month>2 && leap(year)=true ) s=s+1; cout<<day <<“該日是該年的第 ” <<s <<“ 天”<<endl ; bool leap(int year) bool flag=false ; / 先設(shè)輸入的該年不是閏年 if( (year%400=0) | ( year%4=0 && year%100 !=0 ) ) flag=true ; return flag ; 南昌大學(xué) 20082

21、009學(xué)年第二學(xué)期期末考試試卷 試卷編號(hào): ( B )卷課程編號(hào): 課程名稱: C+語(yǔ)言程序設(shè)計(jì) 考試形式: 閉卷 一、選擇題(每小題2 分,共30分) 1、下列字符串中可以用作C+標(biāo)識(shí)符的是 A 。A) _123 B) foobarC) case D) 3var2、字符串”student”占用 D 個(gè)字節(jié)的空間。A) 7        B) 6       C) 5       D) 83、在int a3

22、=1,3,2,4,5,6,0中,a22的值是 C 。A) 3             B) 2                C) 6               D) 44、在類中說(shuō)明的成員可以使用關(guān)鍵字 A

23、 進(jìn)行修飾。 A) private     B) extern C) auto     D) register5、下列關(guān)于指針運(yùn)算的描述錯(cuò)誤的是: B 。A)在一定條件下,兩個(gè)指針可以進(jìn)行關(guān)系運(yùn)算B)在一定條件下,兩個(gè)指針可以相加C)在一定條件下,指針可以為空D)在一定條件下,兩個(gè)指針可以相互賦值6、在C+語(yǔ)言中,對(duì)函數(shù)參數(shù)默認(rèn)值描述正確的是: A) 函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個(gè)B) 一個(gè)函數(shù)的參數(shù)若有多個(gè),則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù)C) 函數(shù)參數(shù)必須設(shè)定默認(rèn)值D) 在設(shè)定了參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值7

24、、假定 AB 為一個(gè)類,則執(zhí)行 AB x ;語(yǔ)句時(shí)將自動(dòng)調(diào)用該類的 。 A) 有參構(gòu)造函數(shù) B) 無(wú)參構(gòu)造函數(shù) C) 拷貝構(gòu)造函數(shù) D) 賦值構(gòu)造函數(shù)8、下述關(guān)于開關(guān)語(yǔ)句的描述中, 是正確的。A) 開關(guān)語(yǔ)句中default子句可以沒(méi)有,也可以有一個(gè);B) 開關(guān)語(yǔ)句中每個(gè)語(yǔ)句序列中必須有break語(yǔ)句;C) 開關(guān)語(yǔ)句中default子句只能放在最后;D) 開關(guān)語(yǔ)句中case子句后面的表達(dá)式可以是整形表達(dá)式。9、關(guān)于對(duì)象概念的描述中, 是錯(cuò)誤的。A) 對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)變量;B) 對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體;C) 對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體;D) 對(duì)象之間的信息傳遞是通過(guò)

25、消息進(jìn)行的;10、下列給字符數(shù)組進(jìn)行初始化中, 是正確的。A) char s1 ="12345abcd" B) char s23="xyz" C) char s33= 'a', 'x', 'y' D) char s423="xyz","mnp"11、一個(gè)const對(duì)象 。 A) 能訪問(wèn)所有成員函數(shù) B) 只能訪問(wèn)const成員函數(shù)C) 也能訪問(wèn)volatile成員函數(shù) D) 能訪問(wèn)const和volatile成員函數(shù)12、聲明類test的拷貝構(gòu)造函數(shù)的正確形式是 。

26、A) int test B) void test C) test(void) D) test(test&)13、關(guān)于new運(yùn)算符的下列描述中, 是錯(cuò)的。A) 它可以用來(lái)動(dòng)態(tài)創(chuàng)建對(duì)象和對(duì)象數(shù)組;B) 使用它創(chuàng)建的對(duì)象或?qū)ο髷?shù)組可以使用運(yùn)算符delete刪除;C) 使用它創(chuàng)建對(duì)象時(shí)要調(diào)用構(gòu)造函數(shù);D) 使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值。14、在 C+ 中有以下 4 條語(yǔ)句: static int hot=200;int &rad=hot; hot=hot+100;cout<<rad<<endl; 執(zhí)行這 4 條語(yǔ)句后輸出為: 。 A) 0 

27、60;  B) 100 C) 300   D) 20015、下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是 。A) 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù);B) 構(gòu)造函數(shù)在聲明對(duì)象時(shí)自動(dòng)執(zhí)行;C) 構(gòu)造函數(shù)可以對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化;D) 構(gòu)造函數(shù)可以重載;一、 填空題(每空題1 分,共20分) 1、C+程序中,一個(gè)基本語(yǔ)句的最后一個(gè)字符是【1】 。2、一個(gè)C+程序的開發(fā)步驟通常包括編輯、【2】 、【3】 、運(yùn)行和調(diào)試。3、類的具體表現(xiàn)是通過(guò)定義【4】 _來(lái)操作的。4、一般情況下,按照面向?qū)ο蟮囊?,把類中的?shù)據(jù)成員(屬性)定義為【5】 _權(quán)限,而把成員函數(shù)(方法)定義為 【6】 _權(quán)限

28、。5、假定用戶沒(méi)有給一個(gè)名為MyClass的類定義構(gòu)造函數(shù)和析構(gòu)函數(shù),則系統(tǒng)為其定義的默認(rèn)構(gòu)造函數(shù)形式為_【7】 _,默認(rèn)析構(gòu)函數(shù)形式為 【8】 _ 。6、在類中定義和實(shí)現(xiàn)的函數(shù)稱為_【9】 _。7、 描述命題"A大于B或小于C"的表達(dá)式為 【10】 8、C+中沒(méi)有字符串類型,字符串是通過(guò) 【11】 來(lái)表示的,每一個(gè)字符串都有一個(gè)結(jié)尾字符【12】  。9、要使語(yǔ)句p=new double125;能夠正常執(zhí)行,變量p的定義應(yīng)為【13】  。10、當(dāng)一個(gè)成員函數(shù)被調(diào)用時(shí),該成員函數(shù)的【14】 指向調(diào)用它的對(duì)象。11、完成下面的類

29、定義。 class MyClass public: MyClass( ) x = 0; 【15】 _ int GetNum( 【16】 _ my); private: int x; ; int GetNum(_【17】 _ my) return my.x; 12、以下程序?qū)崿F(xiàn)求1100這100個(gè)整數(shù)的和的運(yùn)算。#include <iostream.h>void main( ) int  i ,sum;       sum=0;for(i=1; 【18】    ; 【19】  

30、;     )    【20】                ;cout<<”sum=”<<sum;二、 判斷題(每小題1 分,共10分) 得分評(píng)閱人 1、 C+ 程序中的變量,必須先定義 ( 聲明 ) ,才能使用。( )2、 While循環(huán)語(yǔ)句的循環(huán)體至少執(zhí)行一次。( )3、 C+中允許對(duì)數(shù)組進(jìn)行動(dòng)態(tài)定義。( )4、 double數(shù)據(jù)類型屬于簡(jiǎn)單數(shù)據(jù)類

31、型。( )5、 類中所提供的成員函數(shù)可以直接訪問(wèn)私有成員。( )6、 返回值類型、參數(shù)個(gè)數(shù)和參數(shù)類型都相同的函數(shù)也可以重載。( )7、 友元函數(shù)是類的成員函數(shù),所以可以存取或修改該類中的私有成員。( )8、 析構(gòu)函數(shù)是函數(shù)體為空的函數(shù)。( )9、 C+中,當(dāng)我們定義了數(shù)組 int a5 ;則數(shù)組元素的下標(biāo)從 1 到 5 。( )10、就是某個(gè)變量的別名,對(duì)引用的操作,實(shí)質(zhì)上就是對(duì)被引用的變量的操作。( )三、 程序閱讀題(每小題5 分,共20分) 寫出下列程序的運(yùn)行結(jié)果。1、#include <iostream.h>void main()int x=3,y=3;switch(x%2

32、)case 1: switch (y) case 0:cout<<"Firstt" case 1:cout<<"Secondt"break; default: cout<<"Hellowt" case 2:cout<<"Thirdn" 2、#include <iostream.h>void main() int a = 50 , b(0) ; b = +a; cout<<a<<","<<b<&l

33、t;endl; b = a+;cout<<a<<","<<b<<endl;3、#include "iostream.h"void main( )int i=1;while (i<=15)i+;if (i%3!=2) continue;else cout <<i<<“ ”;4、#include <iostream.h>class Aint a;public :A(int aa=0

34、)a=aa;A()cout<<”Destructor A!”<<a<<endl;class B : public A int b;public:B(int aa=0,int bb=0):A(aa)b=bb;B()cout<<”Destructor B!”<<b<<endl;void main()B x(5),y(6,7);程序設(shè)計(jì)題 (每小題10 分,共20分) 1、 編寫一個(gè)判斷素?cái)?shù)的函數(shù),并輸出100-300之間的全部素?cái)?shù)之和。2、 定義并實(shí)現(xiàn)一個(gè)時(shí)鐘類,要求能設(shè)置并顯示時(shí)間。南昌大學(xué) 20082009學(xué)年第二學(xué)期期末

35、考試試卷C+程序設(shè)計(jì)(B卷)參考答案1A2D3C4A5B6D7B8A9A10A11B12D13D14C15C一、 選擇題(每小題2分,共30分)二、 填空題(每空1分,共20分)【1】 分號(hào)(; ) 【2】 編譯 【3】 鏈接 【4】 成員函數(shù) 【5】 private 【6】 public 【7】MyClass()【8】 MyClass() 【9】 內(nèi)聯(lián)函數(shù) 【10】 A>B|A<C 【11】 數(shù)組 【12】 0 【13】 double *p; 【14】 this指針 【15】 friend 【16】 MyClass 【17】 MyClass 【18】 i<=100 【19】

36、 i+ 【20】 sum+=i 三、 判斷題(每小題1分,共 10 分)12×3×456×7×8×9×10四、 程序閱讀題 (每小題5分,共20分) 1、 Hellow Third 2、 2 5 8 11 14 2、 51,51 4、 Destructor B! 7 52,51 Destructor A! 6 Destructor B! 0 Destructor A! 5五、 程序設(shè)計(jì)題 (每小題10分,共20分)1、#include <iostream.h>bool prime(int n); void main() i

37、nt sum=0; for(int i=100;i<300;i+) if(prime(i) sum+=i; cout<<"Sum="<<sum<<endl;bool prime(int n)for(int i=2;i<n;i+) if (n%i = 0) return false; return TRUE;2、#include <iostream>using namespace std;class Clockpublic: void SetTime(int h=0,int m=0,int s=0); void Sh

38、owTime();private: int Hour,Minute,Second;void Clock:SetTime(int h,int m,int s)Hour=h; Minute=m; Second=s;void Clock :ShowTime()cout<<Hour<<”:”<<Minute<<”:”<<Second<<endl;void main()Clock MyClock;MyClock.SetTime(8,10,30);MyClock.ShowTime()南昌大學(xué)20092010學(xué)年第一學(xué)期C+程序設(shè)計(jì)期末

39、考試試題A卷一、 說(shuō)明:請(qǐng)將前面4個(gè)大題的答案寫到答題卡上單項(xiàng)選擇題(每小題2分,共30分) 1、 C+程序從上機(jī)到得到結(jié)果的幾個(gè)操作步驟依次是_。 A. 編譯、編輯、連接、運(yùn)行B. 編輯、編譯、連接、運(yùn)行 C. 編譯、運(yùn)行、編輯、連接 D. 編輯、運(yùn)行、編輯、連接2、 設(shè)int a=15,b=26;,則cout<<(a,b);的輸出結(jié)果是_。A. 15 B. 26,15 C. 15,26 D. 263、 x>0 && x<=10的相反表達(dá)式為 _。A. x<=0 | x>10 B. x<=0 && x>10 C.

40、 x<=0 | x<=10 D. x>0 && x>104、 在下面循環(huán)語(yǔ)句中循環(huán)體執(zhí)行的次數(shù)為_。 int i=0,s=0; while(s<20) i+; s+=i; A. 4 B. 5 C. 6 D. 75、 在下面的二維數(shù)組定義中,正確的是_。 A. int a5 ; B. int a 5; C. int a 3=1,3,5,2; D. int a (10);6、 以下敘述中不正確的是_。 A. 在一個(gè)函數(shù)中,可以有多條return語(yǔ)句 B. 函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套 C. 函數(shù)必須有返回值 D. 不同的函數(shù)中可以使用相同名

41、字的變量7、 為了提高程序的運(yùn)行速度,可將不太復(fù)雜的功能用函數(shù)實(shí)現(xiàn),此函數(shù)應(yīng)選擇_。A.內(nèi)聯(lián)函數(shù) B.重載函數(shù) C.遞歸函數(shù) D.函數(shù)模板8、 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是_。 A. 數(shù)組的首地址 B. 數(shù)組中第一個(gè)元素的值C. 數(shù)組全部元素的值 D. 數(shù)組元素的個(gè)數(shù)9、 類的構(gòu)造函數(shù)是在定義該類的一個(gè)_時(shí)被自動(dòng)調(diào)用執(zhí)行的。A. 成員函數(shù) B. 數(shù)據(jù)成員 C. 對(duì)象 D. 友元函數(shù)10、 設(shè)存在函數(shù)int max(int,int)返回兩參數(shù)中較大值,若求22,59,70三者中最大值,下列表達(dá)式不正確的是_Aint m = max(22,max(59,70); Bint m =

42、max(max(22,59),70);Cint m = max(22,59,70); Dint m = max(59,max(22,70);11、 對(duì)class point,如使用point * ptr=new point2;創(chuàng)建對(duì)象數(shù)組,則刪除此數(shù)組使用的語(yǔ)句是_。A. delete ptr2; B. delete ptr; C. delete ptr ; D. delete2 ptr; 12 類A中存在靜態(tài)數(shù)據(jù)成員x,設(shè)a和b是類A的兩個(gè)對(duì)象,在執(zhí)行a.x=10之后,b.x的值為_。A. 未初始化 B. 等于a.x C. 等于0 D. 隨機(jī)13、 假定一條定義語(yǔ)句為“int a10, x,

43、 *pa=a;”,若要把數(shù)組a中下標(biāo)為3的元素值賦給x,則不正確的語(yǔ)句為_。A. x=pa3; B. x=*(a+3); C. x=a3; D. x=*pa+3;14、 假定k是一個(gè)double類型的變量,則關(guān)于變量p的正確定義語(yǔ)句為_。A. double p=&k; B. int *p=&k; C. double &p=*k; D. char *p=”Thank you!”; 15、 定義p并使p指向動(dòng)態(tài)空間中的包含30個(gè)整數(shù)的數(shù)組所使用的定義語(yǔ)句為_。A. int *p=new int30; B. int *p=new int(30); C. int *p=new

44、30; D. *p=new int30;二、 判斷題,對(duì)的畫,錯(cuò)的畫×(每小題 1分,共 10 分) ( )1、 在說(shuō)明語(yǔ)句 int a(15),&b=a,*p=&a;中,b的值與*p的值是不相等的。( )2、 break語(yǔ)句也可以用于switch體內(nèi),它可退出switch語(yǔ)句。 ( )3、 在一個(gè)被調(diào)用函數(shù)中,一個(gè)return語(yǔ)句可返回多個(gè)值給調(diào)用函數(shù)。( )4、 宏定義命令是以分號(hào)結(jié)束的。( )5、 do -while循環(huán)語(yǔ)句的循環(huán)體至少執(zhí)行一次。( )6、 函數(shù)形參的作用域是該函數(shù)的函數(shù)體。( )7、 靜態(tài)類標(biāo)識(shí)符在它的作用域之外是不存在的。( )8、 對(duì)象成員

45、的表示與結(jié)構(gòu)變量成員表示相同,使用運(yùn)算符.或->。( )9、 某類中的友元類的所有成員函數(shù)可以存取或修改該類中的私有成員。( )10、 const char *p說(shuō)明了p是指向字符串的常量指針。三、 填空題(每空 2分,共 20 分) 1、 一個(gè)完整程序中必須有一個(gè)名為_【1】 _的函數(shù)。2、 程序中的預(yù)處理命令是指以_【2】_字符開頭的命令。3、 假定x=5,y=6,則執(zhí)行表達(dá)式y(tǒng)*=x+計(jì)算后, y的值為_【3】_。4、 為語(yǔ)句標(biāo)號(hào)使用的C+保留字case和default只能用于_【4】_語(yǔ)句的定義體中。5、 若只需要通過(guò)一個(gè)成員函數(shù)讀取數(shù)據(jù)成員的值,而不需要修改它,則應(yīng)在函數(shù)頭的后

46、面加上_【5】_關(guān)鍵字。6、 若在類的定義體中只給出了一個(gè)成員函數(shù)的原型,則在類外給出完整定義時(shí),其函數(shù)名前必須加上_【6】_和兩個(gè)冒號(hào)分隔符。7、 假定用戶只為類AB定義了一個(gè)構(gòu)造函數(shù)“AB(int aa, int bb=0) a=aa; b=bb;”,則定義該類的對(duì)象時(shí),其實(shí)參表中至多帶有_【7】_個(gè)實(shí)參。8、 完成下面類中的成員函數(shù)的定義。 class point private: int m,n; public: point(int,int); point(point&); ; point:point(int a,int b) m=a;n=b; point:point(_【8】

47、_) m=t.m; n=t.n; 9、 完成下面類中的成員函數(shù)的定義。class A int a,b; public: A(int aa=0, int bb=0) _【9】_ / 分別用aa和bb對(duì)應(yīng)初始化a和b ;main() A x(5),y(x); / 定義類A的對(duì)象x并用5初始化,同時(shí)定義y并用x初始化 _【10】_ ; / 定義p指針,使之指向?qū)ο髕四、 閱讀程序,寫出各程序運(yùn)行后的輸出結(jié)果(每小題5分,共20分) 1、 #include <iostream>using namespace std;void fun(int a,int * b, int *c,int &a

48、mp;d);void main( )int a1=10,a2=20,a3=30,a4=40;fun(a1,&a2,&a3,a4);cout<<”a1=”<<a1<<endl; cout<<”a2=”<<a2<<endl; cout<<”a3=”<<a3<<endl; cout<<”a4=”<<a4<<endl; void fun(int a,int * b, int *c,int &d)a+; b+; (*c)+; d+;ret

49、urn; 2、 #include<iostream.h>void main()int i,j,k; for(i=1;i<=4;i+) for(k=1;k<=4-i;k+) cout<<' 'for(j=1;j<=2*i-1;j+)cout<<'*'cout<<endl;3、 #include<iostream.h> class CE private: int a,b; int getvalue () return (a>b? a:b); public: int c void SetValue(int x1,int x2, int x3) a=x1; b=x2; c=x3; int GetValue ();

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論