东大21秋学期学期《C++程序设计》在线平时作业2[答案]答案
《C++程序设计》在线平时作业2
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.(2) 若有以下定义:
char s[20]="programming",*ps=s;
则不能代表字符o的表达式是
A.A)ps+2
B.B)s[2]
C.C)ps[2]
D.D)ps+=2,*ps
正确答案:-----
2.(10) )以下程序运行后,输出结果是
main( )
{ char *s="abcde";
正确答案:-----
s+=2;
cout<
}
A.A) cde
正确答案:-----
B.B) 字符c的ASCLL码值
C.C) 字符c的地址
D.D) 出错
正确答案:-----
3.一个类的友元函数能够访问该类的( )
A.A)私有成员
B.B)保护成员
C.C)公有成员
D.D)所有成员
正确答案:-----
4.(2) 下列选项中,与实现运行时多态性无关的是( )。
A.A)重载函数
B.B)虚函数
C.C)指针
D.D)引用
正确答案:-----
5.(2) 以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为
正确答案:-----
#include
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
#include
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
using namespace std;
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
正确答案:-----
func (char str [])
{
int num =0;
while (*(str+num )!='\0')num ++;
return(num);
}
int main(int argc, char* argv[])
{
char str [10]=" ABCDE",*p=str ;
正确答案:-----
cout<< func(p);
return 0;
}
A.A) 8
B.B) 7
C.C) 6
D.D) 5
正确答案:-----
6.(10)如下函数中那个不是C++的隐式成员函数
A.A) 默认构造函数
B.B) 拷贝构造函数
C.C) 地址操作符
D.D) 加法操作符
正确答案:-----
7.设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是
A.A)k=k>=k
B.B)-k++
C.C)k%int(f)
D.D)k>=f>=m
正确答案:-----
8.)对于一个正常运行的C程序,以下叙述中正确的是
A.A)程序的执行总是从main函数开始,在main函数结束
B.B)程序的执行总是从程序的第一个函数开始,在main函数结束
C.C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
正确答案:-----
9.有以下程序
#include
#include
using namespace std;
int fa(int x)
{
return x*x;
}
int fb(int x)
{
return x*x*x;
}
int f(int (*f1)(int x),int (*f2)(int x),int x){
return f2(x)-f1(x);
}
int main(int argc, char* argv[])
{
int i;
i=f(fa,fb,2);
cout<
正确答案:-----
return 0;
}
程序运行后的输出结果是______。
A.A) -4
B.B) 1
C.C) 4
D.D) 8
正确答案:-----
10.有如下程序:
#include
正确答案:-----
using namespace std;
class Sample{
public:
Sample(){}
~Sample(){cout<<'*';}
};
int main(){
Sample temp[2], *pTemp[2];
eturn 0;
}
执行这个程序输出星号(*)的个数为( )。
A.A)1
B.B)2
C.C)3
D.D)4
正确答案:-----
11.对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明
该基类成员的访问权限是( )。
A.A)公有或私有
B.B)私有
C.C)保护或私有
D.D)公有或保护
正确答案:-----
12.下列运算符函数中,肯定不属于类 Value 的成员函数的是( )。
A.A)Value operator+(Value);
B.B)Value operator-(Value, Value);
C.C)Value operator*(int);
D.D)Value operator/(Value);
正确答案:-----
13.以下叙述中错误的是
A.A)C++程序必须由一个或一个以上的函数组成
B.B)函数调用可以作为一个独立的语句存在
C.C)若函数有返回值,必须通过return语句返回
D.D)函数形参的值不可以传回给对应的实参
正确答案:-----
14.有以下程序
#include
#include
using namespace std;
struct STU
{
char num[10];
float score[3];
};
int main(int argc, char* argv[])
{
struct STU s[3]={
{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}
},*p=s;
int i;
float sum=0;
for(i=0;i<3;i++)
sum=sum+p->score[i];
cout< 正确答案:----- return 0; } 程序运行后的输出结果是( ) A.A)260 B.B)270 C.C)280 D.D)285 正确答案:----- 15.(19)在公有继承的情况下,允许派生类直接访问的基类成员包括 A.A)公有成员 B.B)公有成员和保护成员 C.C)公有成员、保护成员和私有成员 D.D)保护成员 正确答案:----- 16.)能正确表示逻辑关系:“a≥10或a≤0”的C++语言表达式是( ) 正确答案:----- A.A)a>10 or a<=0 B.B)a>=0|a<=10 C.C)a>=10 && a<=0 D.D)a>=10‖a<=0 正确答案:----- 17.(26)有以下程序 #include #include using namespace std; void sum(int a[]) 正确答案:----- { a[0] = a[-1]+a[1]; } int main(int argc, char* argv[]) { int a[10]={1,2,3,4,5,6,7,8,9,10}; sum(&a[2]);