編輯點評:收集了幾套C++試題試卷,用來復習
專門為C++程序設計打造的一系列配套的練習題合集,C++期中期末試題真題合集pdf免費版中包含了期中真題,期末練習題,還有班級試題等,高清無水印,直接打印就可以練習學習,很方便,可復制的版本。
C++程序設計試題圖片預覽
試題預覽
一、選擇題(每小題 3 分,共 48 分。)
01、下列關于 C++函數(shù)的敘述中,正確的是( )。
A)每個函數(shù)至少要具有一個參數(shù) B)每個函數(shù)都必須返回一個值
C)函數(shù)在被調(diào)用之前必須先聲明 D)函數(shù)不能自己調(diào)用自己
02、下列關于類和對象的敘述中,錯誤的是( )。
A)一個類只能有一個對象 B)對象是類的具體實例
C)類是對某一類對象的抽象 D)類和對象的關系是一種數(shù)據(jù)類型與變量的關系
03、在 C++中,用于實現(xiàn)運行時多態(tài)性的是( )。
A)內(nèi)聯(lián)函數(shù) B)重載函數(shù) C)模板函數(shù) D)虛函數(shù)
04、下列關于運算符重載的敘述中,正確的是( )。
A)通過運算符重載,可以定義新的運算符 B)有的運算符只能作為成員函數(shù)重載
C)若重載運算符+,則相應的運算符函數(shù)名是+ D)重載二元運算符時,必須聲明兩個形參
05、對于語句 cout<<x<<endl;錯誤的是描述是( )。
A)“cout”是一個輸出流對象 B)“endl”的作用是輸出回車換行
C)“x”是一個變量 D)“<<”稱作提取運算符
06、有如下類聲明,則類 MyDERIVED 中保護的數(shù)據(jù)成員和成員函數(shù)的個數(shù)是( )。
class MyBASE
{ private: int k;
public: void set(int n){ k=n;}
int get( )const{ return k;} };
class MyDERIVED: protected MyBASE
{ protected: int j;
public: void set(int m, int n){ MyBASE::set(m); j=n;}
int get( ) const { return MyBASE::get( )+j; } };
A)4 B)3 C)2 D)1
07、已知在一個類體中包含如下函數(shù)原型: Volume operator-(Volume)const;,下列關于這個函數(shù)
的敘述中,錯誤的是( )。
A)這是運算符-的重載運算符函數(shù) B)這個函數(shù)所重載的運算符是一個一元運算符
C)這是一個成員函數(shù) D)這個函數(shù)不改變類的任何數(shù)據(jù)成員的值
08、執(zhí)行如下的程序段后,輸出結果是( )。
cout.fill('*'); cout.width(6); cout.fill('#'); cout << 123 << endl;
A)###123 B)123### C)***123 D)123***
09、在下列函數(shù)原型中,可以作為類 AA 構造函數(shù)的是( )。
A)void AA(int); B)int AA(); C)AA(int)const; D)AA(int);
10、下面四個選項中,( )是用來聲明虛函數(shù)的。
A)virtual B)public C)include D)using namespace
11、實現(xiàn)運行時的多態(tài)性要使用( )。
A)重載函數(shù) B)構造函數(shù) C)析構函數(shù) D)虛函數(shù)
12、要實現(xiàn)動態(tài)聯(lián)編,必須通過( )調(diào)用虛函數(shù)。
A)對象指針 B)成員名限定 C)對象名 D)派生類名
c程序設計重點知識點
一、C語言知識點歸納:
1、C語言程序是由多個函數(shù)構成的。
2、每個C語言程序中有且只有一個main函數(shù)。
3、C語言不使用行號,無程序行的概念。
4、程序中可使用空行和空格。
5、C語言程序格式常用鋸齒形書寫格式。
6、C語言程序中可加任意多的注釋,注釋形式/*……*/,并且注釋形式不能嵌套,即不能注釋里面又有另一個注釋。//行注釋是C++當中新增加的內(nèi)容。
7、引用C語言標準庫函數(shù),一般要用文件包含預處理命令將其頭文件包含進來。
8、用戶自定義的函數(shù),必須先定義后使用。
9、變量必須先定義后使用。
10、變量名,函數(shù)名必須是合法的標識符,標識符習慣用小寫字母,C語言是字母大小寫敏感的語言。
11、不能用關鍵字來命名變量和函數(shù)。
12、C語言的語句都是以分號結尾的。
13、計算機中使用的進制數(shù)是二進制數(shù),而不是十進制數(shù),因為二進制只有兩個數(shù)碼,運算簡單便于硬件實現(xiàn),同時二進制便于邏輯運算。將十進制數(shù)轉(zhuǎn)換成二進制數(shù)應分為整數(shù)部分轉(zhuǎn)換和小數(shù)部分轉(zhuǎn)換,整數(shù)部分轉(zhuǎn)換可采用基數(shù)除法來實現(xiàn),小數(shù)部分轉(zhuǎn)換可采用基數(shù)乘法來實現(xiàn)。八進制和十六進制也是C語言中經(jīng)常表示數(shù)據(jù)的進制,因為它們與二進制之間的轉(zhuǎn)換非常方便,但要注意他們不是計算機中使用的進制。
14、機器數(shù)的表示形式有原碼、反碼和補碼幾種形式,計算機中通常使用補碼的形式來表示一個數(shù),因為補碼運算可以連同符號位一起參與運算,這便于運算器的設計與實現(xiàn)。
二、編程過程中初學者極易犯的錯誤:
1、書寫標識符時,忽略了大小寫字母的區(qū)別。例如把變量a寫成A。
2、忽略了變量的類型,進行了不合法的運算。例如floata,b;printf(“%d”,a%b);,其中%運算只能是整形變量或常量。
3、將字符常量與字符串常量混淆。例如charc;c=”a”;,應該是c=’a’;
4、語句末尾忘記加分號。
5、容易多加不需要的分號,例如{inta,b;printf(“%d,%d”,a,b);};這里花括號外是不能加分號的。
6、將C語句寫在{}的外面。
7、變量未定義就使用。
8、在執(zhí)行部分定義變量。在TC下,函數(shù)由生命部分和執(zhí)行部分組成,并且這兩部分不能交叉,也就是說,不能在C語言中間定義變量。下面程序中,變量b的定義放到了執(zhí)行部分。
voidmain()
{
inta;
a=10;
intb;
b=a;
}
但要記住VC6.0中沒有這樣的規(guī)定,只要變量定義在前,使用在后就行。
9、給變量賦值時忽視了變量的表示范圍。例如charch=130;char類型的取值范圍是-128~127,這里130超出了ch的表示范圍。
10、定義變量時,變量名之間用了空格或分號分隔。例如:intab;應改為:inta,b;
11、輸入字符常量時漏掉單引號,認為A、B就是’A’、’B’。例如charch=A;
12、C語句末尾的分號用了中文的分號(;)而不是英文的(;),導致編譯錯誤。
13、誤將字母o當成數(shù)字零0。
14、編程中經(jīng)常漏掉}、)、’、”。
15、定義變量時數(shù)據(jù)類型名與變量名之間無空格。例如inta;
16、對于float型變量,使用%運算符。
17、對表達式進行強制類型轉(zhuǎn)換時漏掉了(),例如:int(3.2+a),應該為:(int)(3.2+a)。
18、賦值運算符的左邊使用表達式:例如:a+b=30;或者是30=a+b;
19、語序顛倒。例如下列程序中初學者會誤認為程序的輸出為a=21:
main()
{
inta,b;
a=b+1;
b=20;
printf(“a=%d”,a);
}
20、#include或#define命令用分號結束。
#開頭的是預處理命令,而不是C語句,因此,不用用分號結尾。例如#include;就是錯誤的,多了個分號。
21、利用scanf函數(shù)輸入變量值時漏掉取地址符&。
22、利用printf函數(shù)和scanf函數(shù)時,格式控制符與表達式類型不一致,或數(shù)量不相等。例如:
inta,b;
scanf(“%d”,&a,&b);//格式控制符與表達式的'數(shù)量不相等
printf(“a=%d,b=%f”,a,b);//%f應改為%d。
23、調(diào)用scanf函數(shù)輸入浮點數(shù)時規(guī)定了精度。
例如:
floatf;
scanf(“%5.2f”,&f);//應改為scanf(“%5f”,&f);
24、對算數(shù)表達式取地址。
取地址運算符&只能用于變量。
下面做法是錯誤的:
inta,b;
scanf(“%d”,&(a+b));//錯誤
25、利用printf打印單引號、雙引號、反斜杠時,沒有在這些字符前利用反斜杠構成轉(zhuǎn)義字符。
例如printf(”youshouldsay”bye”!”);
應改為:printf(”youshouldsay”bye”!”);
三、C語言編程習慣。
1、一行只放一條語句。盡管C語言允許在一行放置多條語句,但一行只放一條語句有助于程序的調(diào)試。
2、養(yǎng)成隨時給程序加注釋的習慣。一邊別的程序員或自己日后對程序的快速理解。
3、程序的書寫要有層次感,及鋸齒形。
4、編寫函數(shù)時,變量定義部分和函數(shù)的執(zhí)行部分之間增加一空行,或者在程序的執(zhí)行部分按照完成的功能塊增加相應的空行,會增加程序的易讀性。
5、為變量起有意義的名字,既可以幫助程序員讀懂程序,也可以避免變量的重復亂用,導致程序的邏輯錯誤。
6、在運算符和賦值符號的兩邊加上一個空格會增加程序的易讀性。
例如a=a+b;寫成a=a+b;更好。
熱門評論
最新評論