东北大学《C++程序设计》在线平时作业123
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.(2) 在 C++中,编译系统自动为一个类生成缺省构造函数的条件是( )。
A.A)该类没有定义任何有参构造函数
B.B)该类没有定义任何无参构造函数
C.C)该类没有定义任何构造函数
D.D)该类没有定义任何成员函数
答案:C
2.(18)有以下程序
int fun1(double a){return a*=a;}
int fun2(double x,double y)
{ double a=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{ double w; w=fun2(1.1,2.0);……}
程序执行后变量w中的值是
A.A)5.21
B.B)5
C.C)5.0
D.D)0.0
答案:B
3.当冲突规范所援引的外国法的内容依照法律规定的方法仍不能查明时,我国 法院通常的做法是什么?( )
A.驳回起诉
B.适用我国法律
C.适用同本应适用的外国法相近似或类似的其他国家的法律
D.适用一般法理
答案:B
4.1804年《法国民法典》第3条规定:“不动产,即使属于外国人所有,仍然适用法国法。”这是一条( )。
A.单边冲突规范
B.双边冲突规范
C.重叠适用的冲突规范
D.选择适用的冲突规范
答案:A
5.中国的区际法律冲突,在世界上独一无二的特点是( )
A.存在多元法系之间的冲突
B.存在不同社会制度的冲突
C.存在横向法律冲突
D.各个法域的法律规定完全不同
答案:B
6.(18) 有如下程序
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
cout<<y;
return 0;
}
该程序的输出结果是( )
A.A)0
B.B)0.25
C.C)0.5
D.D)1.0
答案:C
7.)下列程序执行后的c结果是
main()
{ int x='f'; char c ='A'+(x-'a'+1); }
A.A) G
B.B) H
C.C) I
D.D) J
8.中国《涉外民事关系法律适用法》第14条规定,法人及其分支机构的民事权利能力、民事行为能力、组织机构、股东权利义务等事项,适用( )
A.登记地法律
B.主营业地法律
C.经常居所地法律
D.住所地法律
9.(8) 在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )
A.A)一元成员运算符
B.B)二元成员运算符
C.C)一元友元运算符
D.D)选项B和选项C都可能
10.(10)派生类对象对其基类中的什么成员是可访问的?( )
A.A) 公有继承的私有成员
B.B) 私有继承的公有成员
C.C) 私有继承的保护成员
D.D) 保护继承的保护成员
11.根据中国有关规定,外国法人的国籍的确定标准是( )
A.住所地说
B.资本实际控制说
C.登记地说D.准据法说
12.下列程序执行后的输出结果是
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
char arr[2][4];
strcpy(arr[0],"you");
strcpy(arr[1],"me");
arr[0][3]='&';
cout<<arr[0];
return 0;
}
A.A) you&me
B.B) you
C.C) me
D.D) err
13.(10)如下函数中那个不是C++的隐式成员函数
A.A) 默认构造函数
B.B) 拷贝构造函数
C.C) 地址操作符
D.D) 加法操作符
14.(38) 有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是
A.A)*p+9
B.B)*(p+8)
C.C)*p+=9
D.D)p+8
15.综合各国的立法及司法实践,解决动产与不动产的区分、物权客体的范围、物权的种类和内容以及物权取得、转移、变更、消灭的条件和物权的保护方面的问题,通常适用( )
A.物之所在地法律
B.物权人住所地法律
C.物权人国籍国法律
D.法院所在地法律
16.以下关于函数的叙述中正确的是
A.A)每个函数都可以被其它函数调用(不包括main函数)
B.B)每个函数都可以被单独编译
C.C)每个函数都可以单独运行
D.D)在一个函数内部可以定义另一个函数
17.设有定义: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
18.有以下程序
int main(int argc, char* argv[])
{
int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)
s+=*(t+i);
cout<<s<<endl;;
return 0;
}
程序执行后的输出结果是
A.A)45
B.B)20
C.C)25
D.D)36
19.)在C语言中,合法的字符常量是
A.A)'\084'
B.B)'\x43'
C.C)'ab'
D.D)"\0"
20.下列关于虚基类的描述,错误的是( )
A.A)设置虚基类的目的是为了消除二义性
B.B)虚基类的构造函数在非虚基类之后调用
C.C)若同一层中包含多个虚基类,这些基类的构造函数按它们说明的次序调用
D.D)若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
《C++程序设计》在线平时作业2-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.据中国《涉外民事关系法律适用法》第12条规定,自然人的民事行为能力,适用( )。
A.国籍国法律
B.住所地法律
C.经常居所地法律
D.法院地法律
答案:C
2.(14)设 int b=2;表达式(b>>2)/(b>>1)的值是
A.A) 0
B.B) 2
C.C) 4
D.D) 8
答案:A
3.函数int test(int a,int b=1,int c=0),下列调用不合法的个数是( )
test(0); test(0,0); test(); test(0,0,0);
A.0
B.1
C.2
D.3
答案:C
4.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,且( )
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,找开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,找开失败;若文件不存在,建立一个新文件
答案:A
5.)以下叙述中错误的是
A.A)C++语句必须以分号结束
B.B)复合语句在语法上被看作一条语句
C.C)空语句出现在任何位置都不会影响程序运行
D.D)赋值表达式末尾加分号就构成赋值语句
答案:C
6.在国际私法的国内立法方式上,我国主要采取了下列哪一种做法?( )
A.冲突规范分散规定在民法典的有关章节中
B.制定单行冲突法典
C.民法典或单行法规中以专编或专章,比较系统地规定冲突规范
D.在民法典的前加篇中加以规定
7.(28)下列符号中,正确的C++用户定义标识符是
A.A)enum
B.B)2b
C.C)foo-9
D.D)_32
8.在西方,有的学者甚至把( )的理论喻为国际私法中的“哥白尼革命”,认为他是现代国际私法的奠基者。
A.胡伯
B.萨维尼
C.孟西尼
D.斯托里
9.(6) 下列关于运算符重载不正确的是( )
A.A)运算符重载不能改变运算符的操作数个数
B.B)运算符重载不能改变运算符的优先级
C.C)运算符重载不能改变运算符的结合性
D.D)运算符重载能改变对预定义类型数据的操作方式
10.)设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是
A.A)*p=*q;
B.B)p=q;
C.C)*p=&n1;
D.D)p=*q;
11.(2) 要利用 C++流进行文件操作,必须在程序中包含的头文件是( )。
A.A)iostream
B.B)fstream
C.C)strstream
D.D)iomanip
12.有以下程序
#include <iostream>
#include <cmath>
using namespace std;
void sort(int a[], int n)
{
int i, j ,t;
for (i=0; i<n-1;i++)
for (j=i+1; j<n;j++)
if (a[i]< a[j]){ t= a[i]; a[i]= a[j]; a[j]=t;}
}
int main(int argc, char* argv[])
{
int aa[10]={1,2,3,4,5,6,7,8,9,10}, i;
sort(aa+2, 5);
for (i=0; i<10; i++) cout<<aa[i] <<",";
return 0;
}
程序运行后的输出结果是
A.A)1,2,3,4,5,6,7,8,9,10,
B.B)1,2,7,6,3,4,5,8,9,10,
C.C)1,2,7,6,5,4,3,8,9,10,
D.D)1,2,9,8,7,6,5,4,3,10,
13.关于无体动产所在地的确定,总的原则应是( )
A.法院所在地
B.所有人的住所地
C.当事人合意选择的地方
D.该项财产能被追索或被执行的地方
14.下列情况中,不会调用拷贝构造函数的是
A.A)用一个对象去初始化同一类的另一个新对象时
B.B)将类的一个对象赋值给该类的另一个对象时
C.C)函数的形参是类的对象,调用函数进行形参和实参结合时
D.D)函数的返回值是类的对象,函数执行返回调用时
15.(40)设有以下函数:
f ( int a)
{ int b=0;
static int c = 3;
b++; c++;
return(a+b+c);
}
如果在下面的程序中调用该函数,则输出结果是
main()
{ int a = 2, i;
for(i=0;i<3;i++)cout<<f(a);
}
A.A) 789
B.B) 7 9 11
C.C) 7 10 13
D.D) 7 7 7
16.)以下不合法的用户标识符是
A.A)j2_KEY
B.B)Double
C.C)4d
D.D)_8_
17.(36) 下列程序的输出结果为( )
#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
char *a[]={"hello","the","world"};
char **pa=a;
pa++;
cout<<*pa<<endl;
return 0;
}
A.A)hello
B.B)the
C.C)world
D.D)hellotheworld
18.执行语句: for (i=1;i++<4;);后,变量i的值是
A.A) 3
B.B) 4
C.C) 5
D.D) 不定
19.以下非法的赋值语句是______。
A.A) n=(i=2,++i);
B.B) j++;
C.C) ++(i+1);
D.D) x=j>0;
20.)对于一个正常运行的C程序,以下叙述中正确的是
A.A)程序的执行总是从main函数开始,在main函数结束
B.B)程序的执行总是从程序的第一个函数开始,在main函数结束
C.C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D.D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
《C++程序设计》在线平时作业3-00001
试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 100 分)
1.对于因航空器碰撞或航空器与其他物体碰撞所发生的侵权行为,一般主张适用( )
A.法院地法
B.航空器共同登记地国法
C.加害一方航空器登记地法
D.被碰撞或受害一方航空器登记地法
答案:D
2.对于重载的运算符>>,它是一个( )
A.A)用于输入的友元函数
B.B)用于输入的成员函数
C.C)用于输出的友元函数
D.D)用于输出的成员函数
答案:A
3.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )
A.A)没有返回值
B.B)返回若干个系统默认值
C. C)有返回值,但返回一个不确定的值
D.D)能返回一个用户所希望的函数值
答案:A
4.(8) 设有如下定义:
struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是
A.A)(*p).data.a
B.B)(*p).a
C.C)p-data.a
D.D)p.data.a
答案:B
5.若i、j已定义为int类型,则以下程序段中内循环体的总的执行次数是
for (i=5;i;i--)
for(j=0;j<4;j++){……}
A.A)20
B.B)25
C.C)24
D.D)30
答案:A
6.以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错。
main()
/* Beginning */
{ int r; float s;
cin>>r;
s=*π*r*r;
cout<<"s="<<s<<endl;
}
出错的原因是
A.A)注释语句书写位置错误
B.B)存放圆半径的变量r不应该定义为整型
C.C)输出语句中格式描述符非法
D.D)计算圆面积的赋值语句中使用了非法变量
答案:D
7.(8) 有如下程序
#include
#include
using namespace std;
class MyClass{
public:
MyClass( ){ cout<<'A'; }
MyClass(char c){ cout< ~MyClass( ){ cout<<'B'; }
};
int main( ){
MyClass p1,*p2;
p2=new MyClass('X');
delete p2 ;
return 0;
}
执行这个程序屏幕上将显示输出
A.A)ABX
B.B)ABXB
C.C)AXB
D.D)AXBB
8.C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言( )
A.A)ASP
B.B)C
C.C)VB
D.D)Java
9.(4) 在以下一组运算符中,优先级最高的运算符是
A.A)<=
B.B)=
C.C)%
D.D)&&
10.(18) 有如下程序
#include <iostream>
#include <cmath>
using namespace std;
int main(int argc, char* argv[])
{
float x=2.0,y;
if(x<0.0) y=0.0;
else if(x<10.0) y=1.0/x;
else y=1.0;
cout<<y;
return 0;
}
该程序的输出结果是( )
A.A)0
B.B)0.25
C.C)0.5
D.D)1.0
11.(6) 在C++语言中,打开一个文件就是将这个文件与一个什么建立关联( )
A.流
B.类
C.结构
D.对象
12.(20)填空题下列程序执行后的输出结果是
int main(int argc, char* argv[])
{
int a[3][3], *p,i;
p=&a[0][0];
for(i=0; i<9; i++) p[i]=i+1;
cout<<a[1][2];
return 0;
}
A.A)3
B.B) 6
C.C) 9
D.D) 随机数
13.若有说明语句
char a[]=″It is mine″;
char *p=″It is mine″;
则以下不正确的叙述是( )
A.A)a+1表示的是字符t的地址
B.B)p指向另外的字符串时,字符串长度不受限制
C.C)p变量中存放的地址值可以改变
D.D)a中只能存放10个字符
14.(22)有如下程序段
#include <iostream>
#include <cstring>
using namespace std;
int main(int argc, char* argv[])
{
int a=4,b=5,x;
char c='A';
x=(a&&b)&&(c<'B');
cout<<x;
return 0;
}
执行该程序段后,x的值为( )
A.A)ture
B.B)false
C.C)0
D.D)1
15.下列情况中,不会调用拷贝构造函数的是 。
A.A)用一个对象去初始化同一类的另一个新对象时
B.B)将类的一个对象赋予该类的另一个对象时
C.C)函数的形参是类的对象,调用函数进行形参和实参结合时
D.D)函数的返回值是类的对象,函数执行返回调用时
16.语句ofstream f(″SALARY.DAT″,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,且( )
A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B.若文件存在,将其置为空文件;若文件不存在,找开失败
C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D.若文件存在,找开失败;若文件不存在,建立一个新文件
17.(40)有以下程序
#include <iostream>
#include <cmath>
using namespace std;
int a=3;
int main(int argc, char* argv[])
{
int s=0;
{int a=5; s+=a++; }
s+=a++;
cout<<s;
return 0;
}程序运行后的输出结果是_______。
A.A) 8
B.B) 10
C.C) 7
D.D) 11
18.(8) 设x和y均为int 型变量,则以下语句:x+ =y; y=x-y; x-=y;的功能是
A.A) 把x 和y按从大到小排列
B.B) 把x和y按从小到大排列
C.C) 无确定结果
D.D) 交换x和y中的值
19.中国《涉外民事关系法律适用法》第15条规定,人格权的内容,适用( )
A.权利人经常居所地法律
B.权利人住所地法律
C.权利人国籍所属国法律
D.权利人选择的法律
20.设有以下定义和语句
char str[20]="Program",*p;
p=str;
则以下叙述中正确的是
A.A)*p与str[0]的值相等
B.B)str与p的类型完全相同
C.C)str数组长度和p所指向的字符串长度相等
D.D)数组str中存放的内容和指针变量p中存放的内容相同