|
20秋《C++》作业1
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.定义函数 int show(int a,int b) { return a+b; } 则a被称为函数的( )
A.形参
B.返回值
C.名字
D.实参
2.C++程序从( )开始执行。
A.预处理命令
B.第一个函数的第一条语句
C.第一条语句
D.main函数的第一条语句
3.若有语句char a[]= "test";int b=strlen(a);则执行语句后b的值为( )。
A.3
B.4
C.5
D.0
4.使用地址作为实参传给形参,下列说法正确的是( )。
A.实参是形参的备份
B.实参与形参无联系
C.实参与形参是同一对象
D.形参是实参的备份
5.在C++中,下列选项中是合法的八进制数的是
A.127
B.091
C.0x12
D.01011
6.若在函数定义时省去类型标识符,则系统默认函数返回值类型为( )。
A.整形
B.浮点型
C.字符型
D.空类型
7.C++ 中不能用来组成循环结构的关键字是( )
A.for
B.while
C.switch
D.do
8.int n=0; while(n=1)n++; while循环执行次数是( )。
A.0次
B.1次
C.不确定次
D.无限次
9.说明语句在某一个类定义、函数定义或复合语句中的变量被称为( )
A.全局变量
B.局部变量
C.形式变量
D.实际变量
10.C++源程序的扩展名为( )。
A..c
B..cpp
C..c++
D..cplus
二、多选题 (共 8 道试题,共 32 分)
11.设有如下定义: int (*ptr)(); 则以下叙述中不正确的是( )
A.ptr是指向一维组数的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
BD
12.下面的表达式中值为0的是( )
A.3/5
B.5>>3
C.! 3
D.5%3
BC
13.下列函数中,可以作为虚函数的是( )
A.析构函数
B.成员函数
C.普通函数
D.构造函数
BC
14.C++语言中,下面的描述不正确的是( )
A.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
B.do-while语句构成的循环必须用break语句才能退出
C.不能使用do-while语句构成的循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
BC
15.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
16.若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是( )
A.pw[0][0]
B.*(pw[1]+2)
C.*(w[0]+2)
D.*(pw+1)[2]
BC
17.有以下语句: char str[4][12]={"aaa","bbbb","ccccc","dddddd"},*strp[4]; int i; for(i=0;i< 4;i++)strp=str; ( )是对字符串的正确引用,其中0≤k< 4。
A.strp[k]
B.*strp
C.str[k]
D.strp
BC
18.关于派生类的说法不正确的是( )
A.派生类可显现基类的任何函数成员
B.派生类可重载已有的函数成员
C.派生类可以拥有自己的新成员
D.派生类无法给基类的数据成员初始化
BD
三、 (共 7 道试题,共 28 分)
19.C++中的注释可以帮助读者阅读源程序,但并不参与程序的运行。
20.在私有继承中,基类中所有成员对派生类都是不可见的。
21.C++是最开始提出类概念的语言
22.typedef是用来定义一些C++中没有的新数据类型。
23.构造函数可以声明为虚函数。
24.某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
25.C++是一种以编译方式实现的高级语言。
20秋《C++》作业2
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.在int a=3,int *p=&a;中,*p的值是( )
A.变量a的地址值
B.变量p的地址值
C.3
D.无意义
2.下列程序的执行结果为( ) #include<iostream.h> void main( ) { int n=10; int* pn=&n; int* &rn=pn; (*pn)++; cout<<"n="<<n<<","; (*rn)++; cout<<"n="<<n<<endl; }
A.n=11,n=12
B.n=11,n=11
C.n=10,n=11
D.n=11,n=10
3.下列程序段的输出结果是( )。 for(i=0,j=10,k=0;i<=j;i++,j-=3,k=i+j);cout<<k;
A.3
B.4
C.6
D.7
4.说明语句在某一个类定义、函数定义或复合语句中的变量被称为( )
A.全局变量
B.局部变量
C.形式变量
D.实际变量
5.若有语句char a[]= "test";则数组a[]中共有( )个变量。
A.3
B.4
C.5
D.0
6.C++ 中不能用来组成循环结构的关键字是( )
A.for
B.while
C.switch
D.do
7.函数调用自身被称为( )。
A.继承
B.重载
C.递归
D.多态
8.C++中用于进行单行注释的符号是( )。
A.//
B./
C./**/
D.*/
9.双精度浮点型的类型说明符为( )
A.int
B.double
C.float
D.long
10.在C++中,函数原型不能标识( )。
A.函数的返回类型
B.函数参数的个数
C.函数参数类型
D.函数的功能
二、多选题 (共 8 道试题,共 32 分)
11.若有以下定义和语句: int w[2][3],(*pw)[3]; pw=w; 则对w数组元素合法引用是( )
A.pw[0][0]
B.*(pw[1]+2)
C.*(w[0]+2)
D.*(pw+1)[2]
BC
12.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
BD
13.以下叙述中不正确的是( )
A.函数中的形式参数是局部变量
B.在一个函数内的复合语句中定义的变量在本函数范围内有效
C.在一个函数内定义的变量只在本函数范围内有效
D.函数的形式参数不可以说明为register变量
D
14.C++中类的派生方式有( )。
A.private
B.static
C.public
D.protected
CD
15.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
16.C++语言中,下面的描述不正确的是( )
A.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
B.do-while语句构成的循环必须用break语句才能退出
C.不能使用do-while语句构成的循环
D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环
BC
17.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
BD
18.设有以下定义: int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[4]=a,*p=a[0]; 则下列表达式中,能正确表示数组元素a[2][1]的表达式有( )。
A.*(p+9)
B.*(*(a+2)+1
C.(*ptr+2)+1
D.*((*ptr+2)[1])
B
三、 (共 7 道试题,共 28 分)
19.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。
20.sizeof(表达式)的功能是返回指定的表达式值的数据类型在内存中占用的字节数。
21.说明或定义对象时,类名前面不需要加class关键字。
22.同一个数组中的各个元素数据类型一定相同。
23.在C++中,运算符优先级相同的情况下,按照从右向左的顺序进行计算。
24.for语句中的循环控制变量必须在for语句内部进行声明。
25.一个函数中可以有多于一个return语句。
20秋《C++》作业3
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.定义函数 int show(int a,int b) { return a+b; } 则a被称为函数的( )
A.形参
B.返回值
C.名字
D.实参
2.有如下语句 int i=1; do { i++; }while(i<10); 则程序执行时循环执行( )次。
A.0
B.8
C.9
D.10
3.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )。
A.类
B.对象
C.函数体
D.数据块
4.语句cout << setiosflags(ios::scientific) << setprecision(4) << a << endl; 中setprecision(4)的含义是( )
A.设置输出域宽为4
B.设置用八进制输出数据
C.设置浮点数的输出精度为4
D.设置输出数据的间距为4
5.指针变量是用来存放( )的变量。
A.其他变量的值
B.其他变量的变量名
C.函数名
D.地址
6.若有语句char a[]= "test";则数组a[]中共有( )个变量。
A.3
B.4
C.5
D.0
7.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。
A.const char *p=“ABCD”
B.char *const p=“ABCD”
C.char const *p=“ABCD”
D.const char * const p=“ABCD”
8.在面向对象的程序设计中,首先在问题域中识别出若干个 ( )。
A.函数
B.类
C.文件
D.过程
9.C++源程序的扩展名为( )。
A..c
B..cpp
C..c++
D..cplus
10.在while循环中使用( )语句可以立即跳出整个循环体。
A.continue
B.return
C.case
D.break
二、多选题 (共 8 道试题,共 32 分)
11.下列运算符中,优先级相同的是( )
A.~
B.%
C./
D.>
C
12.有关sizeof(double)不正确的描述是( )
A.一种函数调用
B.一个双精度型表达式
C.一个整型表达式
D.一个不合法的表达式
BD
13.以下说法中不正确的是( )
A.C++语言程序总是从第一个函数开始执行
B.C++语言程序总是从main()函数开始执行
C.C++语言程序中的main()函数必须放在程序的开始部分
D.在C++语言程序中,要调用的函数必须在main()函数中定义
CD
14.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
15.在C++语言中,不合法的字符常量是( )
A.\x43'
B.'ab'
C.'\084'
D."\0"
CD
16.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
BD
17.下面哪些是C++标准I/O操作包含的类对象( )
A.cin
B.cerr
C.clog
D.cout
BCD
18.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
三、 (共 7 道试题,共 28 分)
19.C++是一种以编译方式实现的高级语言。
20.for语句的格式为:for(表达式1;表达式2;表达式3) 语句若在for语句中省略3个表达式,则循环一定执行无数次。
21.想要在程序中正确地使用自定义的函数,则必须先声明它,然后再定义它。
22.返回值类型、参数个数和类型都相同的函数也可以重载。
23.在C++中,可以通过在当前类中将另一个类作为自己的友元类,来在另一个类中访问当前类的私有成员。
24.指针指向的内存地址可以改变,与之类似,引用指向的变量也可以改变。
25.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
20秋《C++》作业4
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 40 分)
1.在C++中,14%4的运算结果为( )
A.1
B.2
C.3
D.4
2.若有语句char a[]= "test";int b=strlen(a);则执行语句后b的值为( )。
A.3
B.4
C.5
D.0
3.下列程序段的输出结果是( )。 for(i=0,j=10,k=0;i<=j;i++,j-=3,k=i+j);cout<<k;
A.3
B.4
C.6
D.7
4.在while循环中使用( )语句可以立即跳出整个循环体。
A.continue
B.return
C.case
D.break
5.在int a=3,int *p=&a;中,*p的值是( )
A.变量a的地址值
B.变量p的地址值
C.3
D.无意义
6.函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为( )。
A.1
B.2
C.4
D.5
7.语句cout << setiosflags(ios::scientific) << setprecision(4) << a << endl; 中setprecision(4)的含义是( )
A.设置输出域宽为4
B.设置用八进制输出数据
C.设置浮点数的输出精度为4
D.设置输出数据的间距为4
8.多个具有不同类型或个数参数的函数共用一个函数标识名被称为( )函数。
A.继承
B.重载
C.递归
D.多态
9.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。
A.const char *p=“ABCD”
B.char *const p=“ABCD”
C.char const *p=“ABCD”
D.const char * const p=“ABCD”
10.C++中用于进行单行注释的符号是( )。
A.//
B./
C./**/
D.*/
二、多选题 (共 8 道试题,共 32 分)
11.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
12.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
BD
13.下列关于数组初始化的说法正确的是( )
A.若对数组a定义:"static int x[10];",则数组元素值均为0
B."int x[10]={1,2,3,4,5,6,7,8,9};"表示x[9]元素值为9
C.对于"int x[10];"它的元素初值是不确定的
D."int x[10]={1,2,3,4,5};"是不合法的,因为数组长度为10,而初始值仅有5个
C
14.设有以下定义: int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*ptr)[4]=a,*p=a[0]; 则下列表达式中,能正确表示数组元素a[2][1]的表达式有( )。
A.*(p+9)
B.*(*(a+2)+1
C.(*ptr+2)+1
D.*((*ptr+2)[1])
B
15.用编程语言编写程序的完整流程包括以下哪些步骤( )
A.定义一个程序目标
B.编译
C.测试和调试
D.程序维护
BCD
16.已知x,y,z是整型变量,则下列选项中正确的是( )
A.if (x&&y) cout<<"x&&y"
B.if (x=y) cout<<"x=y"
C.if (x#y) cout<<"x#y"
D.if(x<>y) cout<<"x<>y"
BD
17.下面哪些是C++标准I/O操作包含的类对象( )
A.cin
B.cerr
C.clog
D.cout
BCD
18.设有如下定义: int (*ptr)(); 则以下叙述中不正确的是( )
A.ptr是指向一维组数的指针变量
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
BD
三、 (共 7 道试题,共 28 分)
19.typedef是用来定义一些C++中没有的新数据类型。
20.C++中的注释可以帮助读者阅读源程序,但并不参与程序的运行。
21.一个函数中可以有多于一个return语句。
22.当一个函数体内定义的局部变量和全局变量同名时,程序会优先选择使用全局变量。
23.C++语言中不允许使用宏定义方法定义符号常量,只能用关键字const 来定义符号常量。
24.C++语言中,函数的声明和函数的定义必须在同一个源文件内。
25.C++中的函数都具有返回值。 |
|