C++程序设计试题及答案(一)
C++程序设计的试题大家做过多少了?多做一些试题才能轻松过关哦。以下是小编为大家整理推荐关于C++程序设计的测试题和答案,希望对大家有所帮助。
C++程序设计的测试题(一)
一、单项选择题
1.下面正确的字符常量是:
A) “c” B) ‘\\’’ C) ‘W’ D) ‘’
2.下列字符串中不能作为C++标识符使用的是:
A) WHILE B) user C) _1var D) 9stars
3.执行语句序列的输出结果是______。
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) 在不同的函数中可以使用相同名字的变量
B) 函数中的形参是局部变量
C) 在一个函数内部定义的变量只在本函数范围内有效
D) 在一个函数内部定义的变量在所有函数内部有效
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.通常拷贝构造函数的参数是:
A.对象 B.对象的.成员 C.对象的引用 D.对象的指针
10.派生类对象的构造顺序是先调用:
A.派生类的构造函数 B.基类的构造函数
C.内嵌对象的构造函数 D.友元类的构造函数
二、填空题
1.动态多态是指在___(1)____时才确定使用哪个___(2)___函数的方式。
2.友员不是类的成员,但必须在___(3)__予以声明,它具有存取类的__(4)__成员的特权。
3.C++中class与struct的主要区别是在缺省访问权限时,__(5)_的成员为私有的,而__(6)_的成员为公有的。
4.若有定义语句:int a=3,b=2;,则表达式a
5.表达式:26%3=___(8)____,32/5=___(9)____。
6.类的成员包括__(10)__和___(11)___两种,在面向对象的术语中,前者称为属性、后者称为方法。其访问权限有三种,由符号__(12)___、__(13)__和_(14)_指定,其中具有__(15)_权限的成员只有类中的成员函数才能访问、而具有__(16)__权限的成员在任何函数中都可访问。
7.对基类成员的初始化,必须在派生类构造函数的 (17) 中进行。
8.C++源程序文件的扩展名是 (18) ,头文件的扩展名是 (19) 。
9.若n为整型,则表达式n=(float)2/3的值是 (20) 。
三、写出程序的运行结果
1.写出程序运行结果
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.写出程序运行结果
#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.写出程序运行结果
#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.写出程序运行结果
#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++程序设计试题及答案”