东大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<<s;
}
A.A) cde
B.B) 字符c的ASCLL码值
C.C) 字符c的地址
D.D) 出错
泽学网(www.zexuewang.net)更多答案请添加:zexue66
3.一个类的友元函数能够访问该类的( )
A.A)私有成员
B.B)保护成员
C.C)公有成员
D.D)所有成员
4.(2) 下列选项中,与实现运行时多态性无关的是( )。
A.A)重载函数
B.B)虚函数
C.C)指针
D.D)引用
5.(2) 以下程序运行后,如果从键盘上输入ABCDE<回车>,则输出结果为
#include <iostream>
#include <cmath>
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 <iostream>
#include <cmath>
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<<i<<endl;
return 0;
}
程序运行后的输出结果是______。
A.A) -4
B.B) 1
C.C) 4
D.D) 8
10.有如下程序:
#include<iostream>
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 <iostream>
#include <cmath>
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<<sum<<endl;
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 <iostream>
#include <cmath>
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]);
cout<<a[2];
return 0;
}
程序运行后的输出结果是
A.A)6
B.B)7
C.C)5
D.D)8
18.(6) 以下程序运行后,输出结果是
#include <iostream>
#include <cmath>
using namespace std;
void fun (char *w ,int n)
{
char t,*s1,*s2;
s1=w; s2=w+n-1;
while(s1<s2)
{
t=*s1++;
*s1=*s2--;
*s2=t;
}
}
int main(int argc, char* argv[])
{
char p[]="1234567";
fun(p,strlen(p));
cout<<p;
return 0;
}
A.A)1234567
B.B)7654321
C.C)1711717
D.D)7177171
19.)有以下程序
void swap1(int c0[], int c1[])
{ int t ;
t=c0[0]; c0[0]=c1[0]; c1[0]=t;
}
void swap2(int *c0,int *c1)
{ int t;
t=*c0; *c0=*c1; *c1=t;
}
main()
{ int a[2]={3,5}, b[2]={3,5};
swap1(a,a+1); swap2(&b[0],&b[1]);
printf("%d %d %d %d\\n",a[0],a[1],b[0],b[1]);
}
程序运行后的输出结果是
A.A)3 5 5 3
B.B)5 3 3 5
C.C)3 5 3 5
D.D)5 3 5 3
20.若t为double类型,表达式t=1,t+5,t++的值是
A.A)1
B.B)6.0
C.C)2.0
D.D)1.0
版权保护: 本文由 奥鹏作业答案-泽学网-专业的奥鹏作业毕业论文辅导网 原创,转载请保留链接: https://www.zexuewang.nethttps://www.zexuewang.net/zaixianzuoye/5914.html