3亿多的题库,支持文字、图片,语音搜题,包含国家开放大学、广东开放大学、云南开放大学、北京开放大学、上海开放大学、江苏开放大学、超星、青书、奥鹏等等多个平台题库,考试作业必备神器。

C++程序设计复习题
一、选择题
1.一个C++程序的执行是从( )
A、本程序文件的第一个函数开始,到本程序main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序的main函数开始,到main函数结束
D、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
2.下列标识符中不是合法的标识符的是( ) 。
A、ho_do
B、ca1
C、_pri
D、2ab
3.以下能正确定义整型变量x,y和z并为其赋初值5的语句是( )。
A、in x=y=z=5;
B、in x,y,z=5;
C、x=5,y=5,z=5;
D、x=y=z=5;
答案:A
4.已知char c; 则下列语句中正确的是( )。
A、c='a'
B、c="a"
C、c="97"
D、'97'
5.下列变量名中,( )是合法的.
A、CHINA
B、bye-size
C、double
D、A+a
6.以下程序的输出结果是( )。
#include <iosream>
using namespace sd;
in main()
{
in a=12,b=12;
cou<<--a<<" "<<++b<<endl;
reurn 0;
}
A、10 10
B、12 12
C、11 10
D、11 13
7.下列关于条件语句的描述中,( )是错误的。
A、i 语句中只有一个else 子句
B、i 语句中可以有多个else i 子句
C、i 语句中i 体内不能是swich语句
D、i 语句的i 体中可以是循环语句
8.若有 in m; 则以下循环执行次数是__________。
or(m=2;m==0; )
{;}
A、无限次
B、0次
C、1次
D、 2次
9.执行下面程序片段的结果是( )。
in x=13;
do
{ cou<<--x;}
while(!x);
A、打印出212
B、打印出12
C、不打印任何内容
D、陷入死循环
10.若有说明语句:saic in a[3][4]={0};
则下面叙述正确的是:( )。
A、只有a[0][0]元素可得到初值0;
B、数组a中每个元素均可得到初值0。
C、数组a中各元素都可得到初值,但值不一定为0;
D、此说明语句不正确
11.在C++语言中,有以下定义:
char b[10]={'h','n','s','p','k','s'};
则语句cou<<b[1]; 的结果为( )。
A、h
B、n
C、s
D、p
12.若有以下定义:
in a[5]={ 5, 4, 3, 2, 1 } ;
char b= 'a', c, d, e;
则下面表达式中数值为2的是( )。
A、a[3]
B、a[e-c]
C、a[d-b]
D、a[e-b]
13.在C++语言中,定义数组in a[12]={1,2,3,4,5,6,7,8,9,10,11,12},则a[3]的值
为( )。
A、3
B、4
C、5
D、6
14.在C++语言中,合法的数组定义是( )。
A、in a[]="sring";
B、in a[5]={0,1,2,3,4,5};
C、in s="sring";
D、char a[]={0,1,2,3,4,5};
15.下面程序。
#include<iosream.h>
in main( )
{
in a[3][3]={{1,2},{3,4},{5}};
in sum=0;
or (in i=1;i<3;i++)
or(in j=0;j<=i;j++)
sum+=a[i][j];
cou<<sum<<endl;
reurn 0;
}
的输出结果是( )。
A、12
B、14
C、15
D、13
16.函数表达式为un ((1,2),(3,4,5),6),则函数函数un中实参的个数是( )。;
A、3
B、4
C、5
D、6
17.以下叙述中正确的是( )。
A、全局变量的作用域一定比局部变量的作用域范围大
B、静态( )类别变量的生存期贯穿于整个程序的运行期间
C、函数的形参都属于全局变量
D、未在定义语句中赋初值的auo变量和saic变量的初值都是随机值
18.在 C++中,编译系统自动为一个类生成缺省构造函数的条件是( )。
A、该类没有定义任何有参构造函数
B、该类没有定义任何无参构造函数
C、该类没有定义任何构造函数
D、该类没有定义任何成员函数
19.下列关于构造函数的描述中,错误的是( )。
A、构造函数可以设置默认参数
B、构造函数在说明类变量时自动执行
C、构造函数可以对静态数据成员进行初始化
D、构造函数可以重载
20.下列对重载函数的描述中,( )是错误的。
A、重载函数中不允许使用默认参数
B、重载函数中编译时根据参数表进行选择
C、不要使用重载函数来描述毫无相干的函数
D、构造函数重载将会给初始化带来多种方式
21.以下关于reurn语句的叙述中正确的是
A、一个自定义函数中必须有一条reurn语句
B、一个自定义函数中可以根据不同情况设置多条reurn语句
C、定义成void类型的函数中可以有带返回值的reurn语句
D、没有reurn语句的自定义函数在执行结束时不能返回到调用处
22.有关类和对象的说法不正确的是( )。
A、对象是类的一个实例
B、一个类只能有一个对象
C、任何一个对象只能属于一个具体的类
D、类与对象的关系和数据类型和变量的关系相似
23.说明友元函数使用关键字( )。
A、riend
B、saic
C、cons
D、colaile
24.类的静态成员( )。
A、是指静态数据成员
B、是指静态函数成员
C、为该类的所有对象共享
D、遵循类的其他成员做遵循的所有访问权限
25.在下列关键字中,用以说明类中保护成员的是( )。
A、public
B、privae
C、proeced
D、riend
26.在一个派生类的成员函数中,试图调用其基类的成员函数“void ();”,但无法通过编译。这说明( )。
A、()是基类的私有成员
B、派生类的继承方式为私有
C、()是基类的保护成员
D、派生类的继承方式为保护
27.下面程序的输出结果为( )。
#include<iosream.h>
void pr(in *x,in *y,in *z)
{
cou<<+ + *x<<","<<+ + *y<<","<<*(z++)<<endl;
}
in a=10;
in c=20;
in b=40;
void main()
{
pr(&a,&b,&c);
pr(&a,&b,&c);
}
A、11,42,31 12,21,41
B、11,41,20 12,42,20
C、11,21,40 11,21,41
D、11,41,21 12,42,22
28.一个( )允许拥护为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。
A、函数模板
B、模板函数
C、类模板
D、模板类
29.在C++中,打开一个文件就是将这个文件与一个( )建立关联;关闭一个文件就是取消这种关联。
A、流
B、类
C、结构
D、对象
30.要利用 C++流进行文件操作,必须在程序中包含的头文件是( )。
A、iosream
B、sream
C、srsream
D、iomanip
31.有如下两个类定义
class AA{};
class BB{
AA v1,*v2;
BB v3;
in *v4;
};
其中有一个成员变量的定义是错误的,这个变量是( )。
A、v1
B、v2
C、v3
D、v4
32.以下关于reurn语句的叙述中正确的是
A、一个自定义函数中必须有一条reurn语句
B、一个自定义函数中可以根据不同情况设置多条reurn语句
C、定义成void类型的函数中可以有带返回值的reurn语句
D、没有reurn语句的自定义函数在执行结束时不能返回到调用处
33.在一个被调用函数中,关于reurn 语句使用的描述,( )是错误的。
A、被调用函数中可以不用reurn 语句
B、被调用函数中可以使用多个reurn 语句
C、被调用函数中,如果有返回值,就一定要有reurn 语句
D、被调用函数中,一个reurn 语句可返回多个值给调用函数
34.在函数定义中的形参属于( )。
A、寄存器变量
B、全局变量
C、局部变量
D、静态变量
35.下列定义正确的是( )。
A、saic in a[]={1,2,3,4,5}
B、in b[1]={2,5}
C、in a(10)
D、in 4e[4]
36.以下选项中不属于C++语言的类型的是( )。
A、 signed shor in
B、 unsigned long in
C、 unsigned in
D、long shor
37.不正确的变量说明是( )。
A、unsignes in ui
B、shor in s
C、double in a;
D、in I,j,k;
38.设有定义:in x=2;以下表达式中,值不为6的是(( ))
A、x*=x+1
B、x++,2*x
C、x*=( )
D、2*x, x+=2
39.表达式(in)((double)9/2)-(9)%2的计算结果是(B )。
A、0
B、3
C、4
D、5
40.以下不正确的是( B )
A、or( )表示无限循环
B、or( )表示无限循环
C、语句or( )表示无限循环
D、while( )表示无限循
41.下列关于C++函数的描述中正确的是( )。
A、主函数是程序的入口,它是由用户定义的函数调用。
B、函数是C++中面向对象程序设计框架的基本组成元素。
C、函数在调用前必须先被声明。
D、每个用户定义函数只能被其他函数调用一次。
42.在下列原型所示的 C++函数中,按“传值”方式传递参数的是( )。
A、void 1(in x);
B、void 2(in*x);
C、void 3(cons in*x);
D、void 4(in&x);
43.有如下类定义:
class Poin{
privae;
saic in how_many;
};
( ( )) how_many=0;
要初始化Poin 类的静态成员how_many,下划线处应填入的内容是
A、ing
B、saic in
C、in Poin::
D、saic in Poin::
44.对于下面定义的类A在函数()中将对象成员n的值修改为60的语句应该是( )。
class A
{
public:
A(in x){n=x;}
void SeNum(in n1){n=n1;}
privae
in n;
}
in ()
}
A *pr=new A(6);
}
A、A(60)
B、SeNum(60)
C、Pr->SeNum(60)
D、Pr->n=60
二、编程题
1、从键盘读入一个百分制分数,转换为5分制分数,并输出。规则如下:
( )大于等于90且小等于100对应字符A
( )大于等于80且小于90对应字符B
( )大于等于70且小于80对应字符C
( )大于等于60且小于70对应字符D
( )小于60对应字符E
#include <iosream>
using namespace sd;
in main()
{
char c='E';
loa s=0;
cin>>s;
i(s<60)
c='E';
else i (s<70)
c='D';
else i(s<80)
c='C';
else i(s<90)
c='B';
else i(s<=100)
c='A';
cou<<c<<endl;
reurn 0;
}
2、定义类Suden描述学生信息,包括姓名、年龄、住址等信息,并定义geAddress函数返回对象的住址。要求实现构造函数和析构函数
suden.h
class Suden
{
public:
Suden();
Suden(char name[32],in age,char address [64]);
virual ~Suden();
void geAddress (char address[]) ;
privae:
char name[32];
in age;
char address [64];
};
suden.cpp
Suden::Suden()
{
srcpy(his->name,"");
srcpy(his-> address,"");
his->age = 18;
}
Suden::~Suden()
{
//dor
}
Suden::Suden(char name[32],in age,char address [64])
{
srcpy(his->name,name);
srcpy(his-> address, address);
his->age = age;
}
void Suden:: geAddress (char address[]){
srcpy(address,his-> address );
}
main.cpp
#include <iosream>
#include <suden.h>
using namespace sd;
in main()
{
Suden s("张三",18,"机械学院");
char address[64];
s.ge Address (address);
cou<<address<<endl;
reurn 0;
}
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。