C程序设计基础复习题AWord格式文档下载.docx
《C程序设计基础复习题AWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C程序设计基础复习题AWord格式文档下载.docx(25页珍藏版)》请在冰点文库上搜索。
则数组array所占的空间为()。
A.4个字节B.5个字节C.6个字节D.7个字节
3.下列选项中,与实现运行时多态性无关的是()。
A.重载函数B.虚函数C.指针D.引用
4.若a是int类型变量,则计算表达式a=1000%999的值是()。
A.0B.1C.2D.3
5.下面程序段中,for循环的执行次数是()。
inti=10;
for(i=1;
i<
10;
i++)
cout<
"
*"
;
A.9B.10C.8D.7
6.以下叙述中错误的是()。
A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.程序执行中,数组元素的下标越界时,系统给出“下标越界”的出错信息
D.可以通过赋初值的方式确定数组元素的个数
7.有如下函数模板定义
template<
classT>
Tfunc(Tx,Ty)
{
returnx*x+y*y;
}
在下列对func()的调用中,错误的是()。
A.func(3,5);
B.func(3.0,5.5)
C.func(3,5.5)D.func((double)3,5.5)
8.类的析构函数的作用是()。
A.对象的初始化B.删除对象时的清理任务
C.与一般成员函数一样D.类的初始化
9.程序段
inta,b;
a=5;
b=a++;
cout<
b;
的输出应为()。
A.4B.5C.6D.7
10.程序段
inti,a;
for(i=0;
=10;
a=i;
i;
A.0B.9C.10D.11
11.下列有关函数重载的叙述中,错误的是()。
A.函数重载就是用相同的函数名定义多个函数
B.重载函数的参数列表必须不同
C.重载函数的返回值类型必须不同
D.重载函数的参数可以带有默认值
12.下列变量名中,()是合法的。
A.CHINAB.byte-sizeC.doubleD.A+a
13.下列各种函数中,()不是类的成员函数。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数
14.下列()是正确的语句。
A.;
B.a=17C.x+yD.cout<
\n"
15.循环while(inti=0)i--;
执行次数是()。
A.0B.1C.5D.无限
16.使用操作符setw对数据进行格式输出时,需要包含()文件。
A.iostreamB.fstreamC.iomanipD.stdlib
17.对C++语言和C语言的兼容性,描述正确的是()
A.C++兼容CB.C++部分兼容C
C.C++不兼容CD.C兼容C++
18.对使用关键字new所开辟的动态存储空间,释放时必须使用()
A.freeB.createC.deleteD.realse
19.如没有使用private关键字定义类的数据成员,则默认为()
A.privateB.publicC.protectedD.friend
20.使用值传递方式将实参传给形参,下列说法正确的是()
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<
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
8.面向对象的程序设计中的对象是对一个客观实体的和的封装体。
9.C++语言中的每条基本语句以__________作为结束符,每条复合语句是以________字符作为开始符,以________字符作为结束符的。
10.有一种只在循环语句或switch语句中使用的流程控制语句,表示该语句的关键字是________________。
11.下面程序的功能是计算1-3+5-7+…-99+101的值存在s中,请填空。
main()
inti,t=1,s=0;
=101;
________________)
s=s+i*t;
t=_______________;
12.在C++语言中,逻辑假用________________表示。
13.执行“cout<
char('
A'
+4)<
”语句后得到的输出结果为。
14.算术表达式-2<
x<
5对应的C++表达式为。
15.假定一个一维数组的定义为“char*a[8];
”,则该数组所含元素的个数为,所占存储空间的字节数为。
16.若要访问指针变量p所指向的数据,应使用表达式______________。
17.表达式:
26%3=______________,32/5=_______________。
18.C++源程序文件的扩展名是______,头文件的扩展名是______。
19.在C++中,声明布尔类型变量所用的关键字是______________,定义虚函数所用的关键字是________。
21.由C++目标文件连接而成的可执行文件的默认扩展名为()。
22.在下列成对的表达式中,运算结果类型相同的一对是()。
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
23.内联函数的特点是()。
A.减少代码量,加快访问速度B.减少代码量,减缓访问速度
C.增加代码量,减缓访问速度D.增加代码量,加快访问速度
24.类的私有成员可在何处被访问()。
A.本类的成员函数中B.本类及子类的成员函数中
C.通过对象名在任何位置D.不可访问
25.类的构造函数在以下什么情况下会被自动调用()。
A.定义成员函数时B.定义对象时
C.定义数据成员时D.定义友元函数时
26.下列关于析构函数描述正确的是()。
A.可以重载B.函数体中必须有delete语句
C.返回类型必须是void类型D.不能指定返回类型
27.下列哪个编译指令属于条件编译指令()。
A.#includeB.#defineC.#elseD.#pragma
28.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()。
A.mainB.MAINC.nameD.function
29.设x和y均为bool量,则x&
&
y为真的条件是()。
A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假
30.下面的哪个保留字不能作为函数的返回类型?
()。
A.voidB.intC.newD.long
31.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为()。
A.ABoperator+(AB&
a,AB&
B.B.ABoperator+(AB&
A.
C.operator+(ABA.D.AB&
operator+()
32.变量的指针,其含义是指该变量的()。
A.值B.地址C.名D.一个标志
33.派生类的成员函数不能访问基类的()。
A.公有成员和保护成员B.公有成员
C.私有成员D.保护成员
34.数字字符0的ASCII值为48,若有以下程序
chara='
1'
b='
2'
b++<
b-a<
程序运行后的输出结果是()。
A.3,2B.50,2C.2,2D.2,50
35.执行下列程序段后,正确的结果是()。
inti=0,s=1;
while(i<
3)
s+=i;
i++;
s;
A.5B.6C.4D.3
36.执行下列程序段后,正确的结果是()。
chara[7]="
abcdef"
charb[4]="
ABC"
strcpy(a,B.;
a[5];
A.eB.fC.0D.无输出
37.下列带缺省值参数的函数说明中,正确的说明是()。
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);
38.拷贝构造函数的作用是()。
A.进行数据类型的转换B.用对象调用成员函数
C.用对象初始化对象D.用一般类型的数据初始化对象
39.类的私有成员可在何处访问()。
A.通过子类的对象访问B.本类及子类的成员函数中
C.通过该类对象访问D.本类的成员函数中
40.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是()。
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);
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
20.多行注释的开始标记符和结束标记符分别为__________和__________。
21.若n为整型,则表达式n=(float)2/3的值是。
22.C++目标程序经___________后生成扩展名为exe的可执行程序文件。
23.要在屏幕上显示"
Hello,world!
(要求带双引号)应执行语句cout<
______________________。
24.执行if(x>
=0||x<
=0)cout<
abcd"
elsecout<
wxyz"
屏幕上显示的是_______________。
25.当使用关键字_______作为函数返回类型时,该函数不返回任何值。
26.在类中必须声明成员函数的___________,成员函数的_________部分可以写在类外。
27.如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是_________类型或__________类型。
28.当一个变量被声明为另一个变量的引用时,此变量就成为被引用变量的________。
此时,对其中一个变量值的修改,_______(会/不会)影响到另一个变量的值。
29.友员不是类的成员,但必须在_________予以声明,它具有存取类的_________成员的特权。
30.如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是__________类型或________类型。
31.下面程序将字符数组a复制到字符数组b中。
chara[]="
Iamaboy."
b[20];
inti;
for(i=__________;
a[i]!
='
____________________;
_____________________;
41.由C++源程序文件编译而成的目标文件的默认扩展名为()。
A.cppB.exeC.objD.lik
42.将小写字母n赋值给字符变量one_char,正确的操作是()。
A.one_char='
\n'
B.one_char="
n"
C.one_char=110;
D.one_char='
N'
43.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()。
A.cerrB.cinC.coutD.cfile
44.包含自定义头文件file.h的预处理指令是()。
A.#define<
file.h>
B.#includefile.hC.#definefile.hD.#include"
file.h"
45.用于标识十六进制前缀或后缀是()。
A.无B.后缀L或eC.前缀零D.前缀0x
46.设存在整型变量intx,则下列句与其它三项含义不同的是()。
A.int*p=&
x;
B.int&
p=x;
C.int&
D.int&
p=x;
47.在定义类成员时,为产生封装性,则需使用哪个关键字()。
A.publicB.publishC.protectedD.private
48.函数默认参数在函数原型中说明,默认参数必须放在参数序列的()。
A.前部B.中部C.后部D.两端
49.设存在函数intmin(int,int)