东大21秋学期《C++程序设计》奥鹏在线平时作业1【奥鹏作业辅导】
东北大学《C++程序设计》在线平时作业1
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是
A.A)1
B.B)2
C.C)2.0
D.D)2.5
2.设有数组定义: char array [ ]="China"; 则数组 array所占的空间为
A.A) 4个字节
B.B) 5个字节
C.C) 6个字节
D.D) 7个字节
3.(10)如下代码的运行结果为
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
class Base {
protected:
char c;
protected:
Base( ){ c='A'; }
Base(char a){ c = a;}
public:
void print(){cout<<"A";}
};
class Derived: public Base{
public:
Derived( char a ){ c = a;}
public:
void print(){cout<<"B";}
};
int main(int argc, char* argv[])
{
Derived d1('B');
Base& base = d1;
base.print();
return 0;
A.A)AB
B.B)A
C.C)B
D.D)BB
4.设有如下定义:
int a=1,b=2,c=3,d=4,m=2,n=2;
则执行表达式:(m=a>b)&&(n=c>d)后,n的值为
A.A} 1
B.B)2
C.C)3
D.D)0
5.(8) 如下代码的运行结果为
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
class Base {
protected:
Base( ){ cout<<'A'; }
Base(char c){ cout<<c;}
};
class Derived: public Base{
public:
Derived( char c ){ cout<<c;}
};
int main(int argc, char* argv[])
{
Derived d1('B');
Base &base = d1;
return 0;
}
A.A)
B.B)BA
C.C)AB
D.D)BB
6.对于重载的运算符>>,它是一个( )
A.A)用于输入的友元函数
B.B)用于输入的成员函数
C.C)用于输出的友元函数
D.D)用于输出的成员函数
7.以下程序中函数f的功能是:当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。
#include <iostream>
using namespace std;
void f(int b[],int n,int flag)
{
int i,j,t;
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if(flag?b[i]>b[j]:b[i]<b[j])
{
t=b[i];b[i]=b[j];b[j]=t;
}
}
int main(int argc, char* argv[])
{
int a[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&a[2],5,0);
f(a,5,1);
for(i=0;i<10;i++)
cout<<a[i];
return 0;
}程序运行后的输出结果是
A.A)1,2,3,4,5,6,7,8,9,10,
B.B)3,4,5,6,7,2,1,8,9,10,
C.C)5,4,3,2,1,6,7,8,9,10,
D.D)10,9,8,7,6,5,4,3,2,1,
8.)有以下程序
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
9.以下程序运行后,输出结果是
#include <iostream>
#include <cmath>
using namespace std;
int d=1;
void fun (int p)
{
int d=5;
d+=p++;
printf("%d",d);
}
int main(int argc, char* argv[])
{
int a=3;
fun(a);
d+=a++;
cout<<d;
return 0;
}
A.A)84
B.B)99
C.C)95
D.D)44
10.(32)以下叙述正确的是( )
A.A)函数可以嵌套定义但不能嵌套调用
B.B)函数既可以嵌套调用也可以嵌套定义
C.C)函数既不可以嵌套定义也不可以嵌套调用
D.D)函数可以嵌套调用但不可以嵌套定义
11.若有以下程序片段:
char str[]="ab\\n\\012\\\\\\"";
cout<<strlen(str);
上面程序片段的输出结果是
A.A)3
B.B)4
C.C)6
D.D)12
12.下列关于输入流类成员函数 getline( )的描述中,错误的是 。
A.A)该函数是用来读取键盘输入的字符串的
B.B)该函数读取的字符串长度是受限制的
C.C)该函数读取字符串时,遇到终止符便停止
D.D)该函数读取字符串时,可以包含空格
13.)在C语言中,合法的字符常量是
A.A)'\\084'
B.B)'\\x43'
C.C)'ab'
D.D)"\\0"
14.(6) 设有如下的变量定义:
int i =8,k ,a,b ;
unsigned long w=5;
double x=1.42, y=5.2;
则以下不符合C++语言语法的表达式是
A.A) a+=a-=(b=4)*(a=3)
B.B) x%(-3)
C.C) a=a*3=2
D.D) y=float(i)
15.当执行以下程序段时
x=-1 ;
do {x=x*x;} while(!x);
A.A) 循环体将执行一次
B.B) 循环体将执行两次
C.C) 循环体将执行无限次
D.D) 系统将提示有语法错误
16.有以下程序
int main(int argc, char* argv[])
{
int k=5,n=0;
while(k>0)
{
switch(k)
{
default : break;
case 1 : n+=k;
case 2 :
case 3 : n+=k;
}
k--;
}
cout<<n<<endl;
return 0;
}
程序运行后的输出结果是
A.A)0
B.B)4
C.C)6
D.D)7
17.(26)在C++语言中,不合法的实型数据的是( )
A.A)0.123
B.B)123e3
C.C)2.1e3.5
D.D)123.0
18.(2) 有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;}
MyClass(const MyClass&x){cout<<2;}
MyClass& operator=(const MyClass&x){cout<<3; return*this;}
~MyClass(){cout<<4;}
};
int main()
{
MyClass obj1(1),obj2(2),obj3(obj1);
return 0:
}
运行时的输出结果是( )。
A.A)112444
B.B)11114444
C.C)121444
D.D)11314444
19.在一个抽象类中,一定包含有( )。
A.A)虚函数
B.B)纯虚函数
C.C)模板函数
D.D)重载函数
20.(35)以下程序的输出结果是
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}
A.A) 0
B.B) 29
C.C) 31
D.D) 无定值
版权保护: 本文由 奥鹏作业答案-泽学网-专业的奥鹏作业毕业论文辅导网 原创,转载请保留链接: https://www.zexuewang.nethttps://www.zexuewang.net/zaixianzuoye/5913.html