C++程序設(shè)計試題及答案(二)
C++程序設(shè)計的考試大家準備得怎么樣了呢?為此陽光網(wǎng)小編為大家推薦了C++程序設(shè)計試題,希望能幫到大家。
C++程序設(shè)計試題(二)
一、單項選擇題
1.下面正確的字符常量是:
A) “c” B) ‘\\’’ C) ‘W’ D) ‘’
2.下列字符串中不能作為C++標識符使用的是:
A) WHILE B) user C) _1var D) 9stars
3.執(zhí)行語句序列的輸出結(jié)果是______。
int i=0;
while(i<25)
i+=3;
cout<
A) 24 B) 25 C) 27 D) 28
4.下列符號中可以用作C++標識符的是______。
A) radius B) foo~bar C) else D) 3room
5.若a是int類型變量,則表達式a=25/3%3的值是:
A) 3 B) 2 C) 1 D) 0
6.以下敘述中不正確的是:
A) 在不同的函數(shù)中可以使用相同名字的變量
B) 函數(shù)中的形參是局部變量
C) 在一個函數(shù)內(nèi)部定義的變量只在本函數(shù)范圍內(nèi)有效
D) 在一個函數(shù)內(nèi)部定義的變量在所有函數(shù)內(nèi)部有效
7.變量的引用,其含義是指該變量的:
A.值 B.類型 C.別名 D.地址
8.已知定義:char s[10]; 則下面不表示s[1]的地址的是:
A.s+1 B.*(s+1) C.&s[0]+1 D.&s[1]
9.通?截悩(gòu)造函數(shù)的參數(shù)是:
A.對象 B.對象的'成員 C.對象的引用 D.對象的指針
10.派生類對象的構(gòu)造順序是先調(diào)用:
A.派生類的構(gòu)造函數(shù) B.基類的構(gòu)造函數(shù)
C.內(nèi)嵌對象的構(gòu)造函數(shù) D.友元類的構(gòu)造函數(shù)
二、填空題
1.動態(tài)多態(tài)是指在___(1)____時才確定使用哪個___(2)___函數(shù)的方式。
2.友員不是類的成員,但必須在___(3)__予以聲明,它具有存取類的__(4)__成員的特權(quán)。
3.C++中class與struct的主要區(qū)別是在缺省訪問權(quán)限時,__(5)_的成員為私有的,而__(6)_的成員為公有的。
4.若有定義語句:int a=3,b=2;,則表達式a
5.表達式:26%3=___(8)____,32/5=___(9)____。
6.類的成員包括__(10)__和___(11)___兩種,在面向?qū)ο蟮男g(shù)語中,前者稱為屬性、后者稱為方法。其訪問權(quán)限有三種,由符號__(12)___、__(13)__和_(14)_指定,其中具有__(15)_權(quán)限的成員只有類中的成員函數(shù)才能訪問、而具有__(16)__權(quán)限的成員在任何函數(shù)中都可訪問。
7.對基類成員的初始化,必須在派生類構(gòu)造函數(shù)的 (17) 中進行。
8.C++源程序文件的擴展名是 (18) ,頭文件的擴展名是 (19) 。
9.若n為整型,則表達式n=(float)2/3的值是 (20) 。
三、寫出程序的運行結(jié)果
1.寫出程序運行結(jié)果
include
#include
class CRect
{
private:
char color[10];
int left;
int top;
int length;
int width;
public:
CRect();
CRect(char *c, int t, int lef, int len, int wid);
void SetColor(char *c);
void SetSize(int l=100, int w=100);
void Move(int t,int l);
void Draw();
};
CRect::CRect()
{
strcpy(color, "Black");
top = 0;
left = 0;
length = 0;
width = 0;
}
CRect::CRect(char *c, int t, int lef, int len, int wid)
{
strcpy(color, c);
top = t;
left = lef;
length = len;
width = wid;
}
void CRect::SetColor(char *c)
{
strcpy(color, c);
}
void CRect::SetSize(int l, int w)
{
length=l;
width = w;
}
void CRect::Move(int t,int l)
{
top = t;
left = l;
}
void CRect::Draw()
{
cout << "矩形左上角坐標為(" << left << "," << top << ")" << endl;
cout << "矩形長和寬分別為" << length << "," << width << endl;
cout << "矩形的顏色是" << color << endl;
}
void main()
{
CRect r;
r.SetColor("Red");
r.Move(10,20);
r.SetSize(100,200);
r.Draw();
r.Move(50,50);
r.SetColor("Blue");
r.Draw();
}
2.寫出程序運行結(jié)果
#include
class A
{
int x,y;
public:
A()
{
x=0;
y=0;
}
A(int a, int b)
{
x=a;
y=b;
}
~A()
{
if(x==y)
cout << "x=y" << endl;
else
cout << "x!=y" << endl;
}
void Display()
{
cout << "x=" << x << " ,y=" << y << endl;
}
};
void main()
{
A a1, a2(2,3);
a1.Display();
a2.Display();
}
3.寫出程序運行結(jié)果
#include
class A
{
private:
int n;
public:
A(int i)
{
n=i;
}
operator ++()
{
n++;
}
operator ++(int )
{
n+=2;
}
void Display()
{
cout << "n=" << n << endl;
}
};
void main()
{
A a(2), b(2);
a++;
++b;
a.Display();
b.Display();
}
4.寫出程序運行結(jié)果
#include
int func1(int n);
int func2(int n);
void main()
{
int sum;
sum = func2(5);
cout << sum << endl;
}
int func1(int n)
{
if(n==1)
return 1;
else
return n*func1(n-1);
}
int func2(int n)
{
int s = 0;
for(int i=1; i<=n; i++)
s += func1(i);
return s;
}
>>>下一頁更多精彩“ C++程序設(shè)計試題及答案”