C程序设计基础复习题AWord文档下载推荐.docx
- 文档编号:4489259
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:25
- 大小:69.43KB
C程序设计基础复习题AWord文档下载推荐.docx
《C程序设计基础复习题AWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C程序设计基础复习题AWord文档下载推荐.docx(25页珍藏版)》请在冰点文库上搜索。
B.重载函数的参数列表必须不同
C.重载函数的返回值类型必须不同
D.重载函数的参数可以带有默认值
7.下列变量名中,()是合法的。
A.CHINAB.byte-sizeC.doubleD.A+a
8.下列各种函数中,()不是类的成员函数。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数
9.下列()是正确的语句。
A.;
B.a=17C.x+yD.cout<
\n"
10.循环while(inti=0)i--;
执行次数是()。
A.0B.1C.5D.无限
11.使用操作符setw对数据进行格式输出时,需要包含()文件。
A.iostreamB.fstreamC.iomanipD.stdlib
12.对C++语言和C语言的兼容性,描述正确的是()
A.C++兼容CB.C++部分兼容C
C.C++不兼容CD.C兼容C++
13.对使用关键字new所开辟的动态存储空间,释放时必须使用()
A.freeB.createC.deleteD.realse
14.如没有使用private关键字定义类的数据成员,则默认为()
A.privateB.publicC.protectedD.friend
15.使用值传递方式将实参传给形参,下列说法正确的是()
A.形参是实参的备份B.实参是形参的备份
C.形参和实参是同一对象D.形参和实参无联系
三、判断题
1.C++语言规定,标识符中的字母一般区分大、小写。
2.控制台标准输入设备一般是指键盘。
3.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前处理。
4.循环体中continue语句的作用是结束整个循环的执行。
5.关系表达式的值是0或1。
6.用class定义的类中,默认的访问权限是私有的。
7.一个类中必须要有公有成员和私有成员。
8.如果在一个程序块中有两个变量具有相同的名字,并且都有效,只是它们的作用域不同,则优先访问作用域较小的那个变量。
9.类中成员函数都是公有的,数据成员都是私有的。
10.构造函数不能重载。
四、写出程序运行结果(注意结果的输出格式。
)
1.
voidmain()
inta[3][3],*p,i;
p=&
a[0][0];
9;
p[i]=i;
3;
a[1][i];
}
2.
#include<
iostream>
usingnamespacestd;
#include<
stdio.h>
intf1(intx)
{
staticintz=3,y=0;
y++;
z++;
return(x+y+z);
voidmain()
inta=1,k;
for(k=0;
k<
k++)cout<
f1(A.<
endl;
3.
longsub(intnum)
inti;
longsubsum=1;
for(i=1;
=num;
subsum*=i;
return(subsum);
longsum=0;
=5;
{
sum+=sub(i);
i<
"
"
<
sum<
endl;
}
4.
classPerson
public:
Person()
ConstructPerson"
~Person()
DestructPerson"
};
classStudent:
publicPerson
Student()
ConstructStudent"
~Student()
DestructStudent"
classTeacher:
Teacher()
ConstructTeacher"
~Teacher()
DestructTeacher"
Students;
Teachert;
五、编程题
1.编程求数列1,
,
,……的所有大于等于0.000001的数据项之和并输出结果。
2.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的消息。
3.定义一个时间类Time,包含3个保护数据成员Hour(小时),Minute(分钟),second(秒)以及两个公有成员函数SetTime()用来为对象设置时间,ShowTime()用来输出显示时间。
定义该类的构造函数,初始化对象的Hour,Minute和Second;
主函数中定义两个对象,时间分别为15点38分42秒和3点4分5秒,并且输出。
《C++程序设计基础》复习题B
一、填空题
1.面向对象的程序设计中的对象是对一个客观实体的和的封装体。
2.C++语言中的每条基本语句以__________作为结束符,每条复合语句是以________字符作为开始符,以________字符作为结束符的。
3.有一种只在循环语句或switch语句中使用的流程控制语句,表示该语句的关键字是________________。
4.下面程序的功能是计算1-3+5-7+…-99+101的值存在s中,请填空。
main()
inti,t=1,s=0;
for(i=1;
=101;
________________)
s=s+i*t;
t=_______________;
5.在C++语言中,逻辑假用________________表示。
6.执行“cout<
char('
A'
+4)<
”语句后得到的输出结果为。
7.算术表达式-2<
x<
5对应的C++表达式为。
8.假定一个一维数组的定义为“char*a[8];
”,则该数组所含元素的个数为,所占存储空间的字节数为。
9.若要访问指针变量p所指向的数据,应使用表达式______________。
10.表达式:
26%3=______________,32/5=_______________。
11.C++源程序文件的扩展名是______,头文件的扩展名是______。
12.在C++中,声明布尔类型变量所用的关键字是______________,定义虚函数所用的关键字是________。
二、选择题
16.由C++目标文件连接而成的可执行文件的默认扩展名为()。
A.cppB.exeC.objD.lik
17.在下列成对的表达式中,运算结果类型相同的一对是()。
A.7/2和7.0/2.0B.7/2.0和7/2
C.7.0/2和7/2D.7.0/2.0和7.0/2
18.内联函数的特点是()。
A.减少代码量,加快访问速度B.减少代码量,减缓访问速度
C.增加代码量,减缓访问速度D.增加代码量,加快访问速度
19.类的私有成员可在何处被访问()。
A.本类的成员函数中B.本类及子类的成员函数中
C.通过对象名在任何位置D.不可访问
20.类的构造函数在以下什么情况下会被自动调用()。
A.定义成员函数时B.定义对象时
C.定义数据成员时D.定义友元函数时
21.下列关于析构函数描述正确的是()。
A.可以重载B.函数体中必须有delete语句
C.返回类型必须是void类型D.不能指定返回类型
22.下列哪个编译指令属于条件编译指令()。
A.#includeB.#defineC.#elseD.#pragma
23.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。
A.mainB.MAINC.nameD.function
24.设x和y均为bool量,则x&
&
y为真的条件是()。
A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假
25.下面的哪个保留字不能作为函数的返回类型?
()。
A.voidB.intC.newD.long
26.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()。
A.ABoperator+(AB&
a,AB&
B.B.ABoperator+(AB&
A.
C.operator+(ABA.D.AB&
operator+()
27.变量的指针,其含义是指该变量的()。
A.值B.地址C.名D.一个标志
28.派生类的成员函数不能访问基类的()。
A.公有成员和保护成员B.公有成员
C.私有成员D.保护成员
29.数字字符0的ASCII值为48,若有以下程序
chara='
1'
b='
2'
b++<
b-a<
程序运行后的输出结果是()。
A.3,2B.50,2C.2,2D.2,50
30.执行下列程序段后,正确的结果是()。
inti=0,s=1;
while(i<
3)
s+=i;
i++;
s;
A.5B.6C.4D.3
31.执行下列程序段后,正确的结果是()。
chara[7]="
abcdef"
charb[4]="
ABC"
strcpy(a,B.;
a[5];
A.eB.fC.0D.无输出
32.下列带缺省值参数的函数说明中,正确的说明是()。
A.intFun(intx,inty=2,intz=3);
B.intFun(intx=1,inty,intz=3);
C.intFun(intx,inty=2,intz);
D.intFun(intx=1,inty,intz);
33.拷贝构造函数的作用是()。
A.进行数据类型的转换B.用对象调用成员函数
C.用对象初始化对象D.用一般类型的数据初始化对象
34.类的私有成员可在何处访问()。
A.通过子类的对象访问B.本类及子类的成员函数中
C.通过该类对象访问D.本类的成员函数中
35.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()。
A.编译器总是自动创建一个不带参数的构造函数
B.这个类没有构造函数
C.这个类不需要构造函数
D.该类不能通过编译
三、判断题正确的划√,错误的划×
1.析构函数是一个函数体为空的成员函数。
2.函数重载可以实现动态多态,虚函数可以实现静态多态。
3.若有定义:
doublex[3][5];
则x数组列下标的上限是5,下限是1。
4.不能在类的构造函数中对其静态数据成员进行初始化。
5.在C++中,可以使用关键字struct定义类。
6.若有说明:
inta[3][4]={0},则只有元素a[0][0]可得到初值0。
7.字符串作为一维数组存放在内存中。
8.字符数组中的一个元素存放一个字符。
9.字符数组中的最后一个字符必须是'
\0'
。
10.形参为指针变量时,实参必须是数组名。
voidSwap(inta,intB.;
intmain()
intx(5),y(10);
cout<
x="
y="
y<
Swap(x,y);
return0;
intfunc1(intn);
intfunc2(intn);
intsum;
sum=func2(5);
intfunc1(intn)
if(n==1)
return1;
else
returnn*func1(n-1);
intfunc2(intn)
ints=0;
for(inti=1;
i<
=n;
i++)
s+=func1(i);
returns;
inti=1,s=3;
do
s+=i++;
if(s%7==0)continue;
else++i;
}while(s<
15);
cout<
i;
classAA
staticintn;
AA(){n++;
intAA:
:
n=0;
AA:
n="
n<
AAd1;
d1.n<
AAd2;
d2.n<
AAd3,d4;
4.用公式:
π×
π/6=1/(1×
1)+1/(2×
2)+1/(3×
3)+......求π的近似值,直到最后一项的值小于10e-6为止。
5.编写函数arraymin,求n个整数的数组x中的最小数及其下标,找出最小数及其下标;
并在主函数中定义一个10个整数的数组a(341,91,100,35,22,36,1,88,9,29),调用函数arraymin打印数组a的最小数及其下标。
6.定义一个Box(盒子)类,在该类定义中包括
数据成员:
length(长)、width(宽)和height(高);
成员函数:
构造函数Box,设置盒子长、宽和高三个初始数据;
用函数volume计算并输出盒子的体积。
在main函数中,要求创建Box对象,长、宽和高分别为1,3,5,求盒子的体积。
《C++程序设计基础》复习题C
13.多行注释的开始标记符和结束标记符分别为__________和__________。
14.若n为整型,则表达式n=(float)2/3的值是。
15.C++目标程序经___________后生成扩展名为exe的可执行程序文件。
16.要在屏幕上显示"
Hello,world!
(要求带双引号)应执行语句cout<
______________________。
17.执行if(x>
=0||x<
=0)cout<
abcd"
;
elsecout<
wxyz"
屏幕上显示的是_______________。
18.当使用关键字_______作为函数返回类型时,该函数不返回任何值。
19.在类中必须声明成员函数的___________,成员函数的_________部分可以写在类外。
20.如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是_________类型或__________类型。
21.当一个变量被声明为另一个变量的引用时,此变量就成为被引用变量的________。
此时,对其中一个变量值的修改,_______(会/不会)影响到另一个变量的值。
22.友员不是类的成员,但必须在_________予以声明,它具有存取类的_________成员的特权。
23.如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是__________类型或________类型。
24.下面程序将字符数组a复制到字符数组b中。
chara[]="
Iamaboy."
b[20];
inti;
for(i=__________;
a[i]!
='
____________________;
_____________________;
36.由C++源程序文件编译而成的目标文件的默认扩展名为()。
A.cppB.exeC.objD.lik
37.将小写字母n赋值给字符变量one_char,正确的操作是()。
A.one_char='
\n'
B.one_char="
n"
C.one_char=110;
D.one_char='
N'
38.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()。
A.cerrB.cinC.coutD.cfile
39.包含自定义头文件file.h的预处理指令是()。
A.#define<
file.h>
B.#includefile.hC.#definefile.hD.#include"
file.h"
40.用于标识十六进制前缀或后缀是()。
A.无B.后缀L或eC.前缀零D.前缀0x
41.设存在整型变量intx,则下列句与其它三项含义不同的是()。
A.int*p=&
x;
B.int&
p=x;
C.int&
D.int&
p=x;
42.在定义类成员时,为产生封装性,则需使用哪个关键字()。
A.publicB.publishC.protectedD.private
43.函数默认参数在函数原型中说明,默认参数必须放在参数序列的()。
A.前部B.中部C.后部D.两端
44.设存在函数intmin(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是()。
A.intm=min(min(15,26),min(15,47));
B.intm=min(15,26,47);
C.intm=min(15,min(47,26));
D.intm=min(min(47,26),16);
45.下列函数不能和函数voidprint(char)构成重载的是()。
A.intprint(int);
B.voidprint(char,char);
C.intprint(char);
D.voidprint(int,int);
46.下面正确的字符常量是()。
A."
c"
B."
\\"
C.'
W'
D.'
'
47.下列字符串中不能作为C++标识符使用的是()。
A.WHILEB.userC._1varD.9stars
48.执行语句序列的输出结果是()。
inti=0;
while(i<
25)
i+=3;
A.24B.25C.27D.28
49.下列符号中可以用作C++标识符的是()。
A.radiusB.foo~barC.elseD.3room
50.若a是int类型变量,则表达式a=25/3%3的值是()。
A.3B.2C.1D.0
51.以下叙述中不正确的是()。
A.在不同的函数中可以使用相同名字的变量
B.函数中的形参是局部变量
C.在一个函数内部定义的变量只在本函数范围内有效
D.在一个函数内部定义的变量在所有函数内部有效
52.变量的引用,其含义是指该变量的()。
A.值B.类型C.别名D.地址
53.已知定义:
chars[10];
则下面不表示s[1]的地址的是()。
A.s+1B.*(s+1)C.&
s[0]+1D.&
s[1]
54.通常拷贝构造函数的参数是()。
A.对象B.对象的成员C.对象的引用D.对象的指针
55.派生类对象的构造顺序是先调用()。
A.派生类的构造函数B.基类的构造函数
C.内嵌对象的构造函数D.友元类的构造函数
1.如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。
2.在C++中,关键字class与struct具有完全相同的作用。
doublex[3][5];
则x数组行下标的上限是3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基础 复习题