北理工《面向对象程序设计》在线作业答案

设有定义语句 int(*f)(int);, 则以下叙述正确的是

A)f 是基类型为 int 的指针变量

B)f 是指向函数的指针变量,该函数具有一个 int 类型的形参

C)f 是指向 int 类型一维数组的指针变量

D)f 是函数名,该函数的返回值是基类型为 int 类型的地址


正确答案:B


对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。

A、语句(1)的含义是指针变量x不能更改

B、语句(2)的含义是指针变量x所指向的值不能更改

C、语句(2)的含义是指针变量x不能更改

D、语句(1)和(2)是相同含义的不同定义方式


参考答案:C


下列关于类型转换的描述中,正确的是()。

A、由不同类型操作数组成的表达式的类型一定是最高类型double类型

B、强制类型转换都是非保值映射

C、赋值表达式的类型是左值的类型

D、类型转换是永久性的


参考答案:C


下列关于指针定义的描述中错误的是()。

A.指针是一种变量,用于存放变量的地址。

B.指针变量的类型与它所指向的变量类型一致。

C.指针变量的命名规则与标识符相同。

D.定义指针时,标识符前的“*”号表示指针所指向的内容。


参考答案:D


设有定义语句int (*f)(int);,则以下叙述正确的是

A.f是基类型为int的指针变量

B.f是指向函数的指针变量,该函数具有一个int类型的形参

C.f是指向int类型一维数组的指针变量

D.f是函数名,该函数的返回值是基类型为int类型的地址


正确答案:B
解析: 本题考查的是指向函数的指针。语句int(*f)(int);是对一个函数的声明,其中f是指向该函数的指针,该函数有一个整型的参数,函数返回值类型为整型。


北理工面向对象程序设计在线作业-0005试卷总分:100 得分:0一、 单选题 (共 38 道试题,共 76 分)1.下列情况中,不会调用复制构造函数的是()。A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数用形参初始化实参时D.函数的返回值是类的对象,函数执行返回调用时正确答案:B2.对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。A.语句(1)的含义是指针变量x不能更改B.语句(2)的含义是指针变量x所指向的值不能更改C.语句(2)的含义是指针变量x不能更改D.语句(1)和(2)是相同含义的不同定义方式正确答案:C3.下列关于类型转换的描述中,正确的是()。A.由不同类型操作数组成的表达式的类型一定是最高类型double类型B.强制类型转换都是非保值映射C.赋值表达式的类型是左值的类型D.类型转换是永久性的正确答案:C4.整型变量中,八进制数的数字前面需要加数字()A.8B.0XC.不需要D.0正确答案:D5.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。A.重载函数B.内联函数C.递归函数D.友元函数正确答案:B6.对虚函数的调用()A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编正确答案:D7.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。A.int*p=newint30B.int*p=newint(30)C.int*p=new30int*p=new30D.*p=newint30正确答案:A8.下列函数参数默认值定义错误的是()。A.Fun(int x=0,int y=0)B.Fun(int x,int y)C.Fun(int x,int y=0)D.Fun(int x=0,int y)正确答案:D9.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。A.参数个数B.参数类型C.函数名称D.函数体正确答案:D10.下列不是C+基本数据类型的是_。A.intB.stringC.charD.void正确答案:B11.关于运行时多态的下列描述中,_是错误的。A.运行时多态是以虚函数为基础的;B.运行时多态是在运行时确定所调用的函数代码的;C.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;D.运行时多态是在编译时确定操作函数的正确答案:C12.在下列的各类函数中,_不是类的成员函数。A.构造函数B.析构函数C.友元函数D.拷贝构造函数正确答案:D13.友元运算符obj1obj2被C+编译器解释为()。A.operator (obj1,obj2)B.(obj1,obj2)C.obj2.operator (obj1)D.obj1.operator (obj2)正确答案:A14.下列关于C+函数的描述中,正确的是()。A.每个函数至少要有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先进行声明或定义D.函数不能自己调用自己正确答案:C15.下列关于静态数据成员特性的描述中,错误的是()。A.说明静态数据成员时前边要加修饰符staticB.静态数据成员要在类体外进行初始化C.静态数据成员不是所有对象所共有的D.引用静态数据成员时,要在其名称前加和作用域运算符正确答案:C16.下列类说明中,错误的是()。classSamplepublic:Sample(intval);/ASample();/Bprivate:inta=2.5;/CSample();/D;A./AB./BC./CD./D正确答案:C17.多继承时对象的构造顺序中包含如下4步:所有非虚基类的构造函数按照它们被继承的顺序构造;所有虚基类的构造函数按照它们被继承的顺序构造;所有子对象的构造函数按照它们声明的顺序构造;派生类自己的构造函数体;这4个步骤的正确顺序是()。A.B.C.D.正确答案:C18.复制构造函数的参数通常为()A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名正确答案:C19.设置虚基类的目的是()。A.简化程序B.消除二义性C.提高运行效率D.减少目标代码正确答案:B20.列符号中能够作为C+标识符的是()。A.constB.2aC._shapeD._count正确答案:C21.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。A.char*p=sB.char*p=&sC.char*p;p=*sD.char*p;p=&s正确答案:A22.有如下头文件:intf1();staticintf2();classMypublic:intf3();staticintf4();在上述4个函数中,具有隐含的this指针的是()。A.f1B.f2C.f3D.f4正确答案:C23.下列关键字中不能用来声明类成员访问权限的是()。A.publicB.staticC.protectedD.private正确答案:B24.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。A.public和publicB.public和protectedC.protected和publicD.protected和publicE.protected和protected正确答案:D25.不可以成为类的数据成员的是_A.自身类的对象B.另一个类的对象C.自身类的指针或引用D.其他基本数据类型正确答案:A26.print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。A.void print() constB.const void print()C.void const print()D.void print(const)正确答案:A27.C+中用于实现运行时多态性的是()。A.内联函数B.重载函数C.静态函数D.虚函数正确答案:D28.下列关于this指针的描述中,正确的是()。A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数都有this指针正确答案:D29.下列关于友元的描述中,错误的是()。A.友元破坏了类的封装性B.友元提高了程序的运行效率C.友元可以在类外声明和定义D.友元能够访问类中的私有成员正确答案:C30.下列输出字符A的方法中,()是错误的。A.coutput(A);B.coutA;C.cout.put(A);D.char A=A;coutA;正确答案:A31.下列关于运算符重载的描述中,_是正确的。A.运算符重载可以改变运算数的个数;B.运算符重载可以改变优先级;C.运算符重载可以改变结合性;D.运算符重载不可以改变语法结构

若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是______。

A.pb=&x;

B.pb=x;

C.*pb=&x;

D.*pb=*x


正确答案:A
选项A将变量x的地址赋给指针变量pb,使pb指向x选项B是将x的值当作地址赋绐指针pb,pb指向—个地址等于x值的内存单元:选项C将x的地址赋给指针pb指向的地址等于x的内存单元。


下面对于指针的描述不正确的是:()。

A.指针是地址变量

B.指针不能用除0以外的常量赋值

C.两个指针变量的加法无意义

D.指针指向不同基类型的变量长度不同


正确答案:D


若x是整型变量,pb是基本类型为整型的指针变量,则正确的赋值语句是 ( )

A.pb=&x;

B.pb=x;

C.* pb=& x;

D.* pb=* x;


正确答案:A


若已定义x为int类型变量,说明指针变量p的正确语句是______。

A.int p=&x;

B.int*p=x;

C.int *p=&x;

D.*p=*x;


正确答案:C


对下列语句正确的描述是( )。 const int *x; int *const x;

A.语句1的含义是指针变量x不能更改

B.语句2的含义是指针变量x所指向的值不能更改

C.语句2的含义是指针变量x不能更改

D.语句1和语句2含义是相同的


正确答案:C
解析:语句1的含义是指针变量x所指向的地址的值不能更改。但是指针变量x的值可以进行修改。

更多 “北理工《面向对象程序设计》在线作业答案” 相关考题
考题 若有以下定义和语句: double r=23,*p=&r; *p=r;则以下正确的叙述是______。A.两处的*p含义相同,都说明给指针变量p赋值B.在“double r=23,*p=&r;”中,把r的地址赋值给了p所指的存储单元C.语句“*p=r;”把变量r的值赋给指针变量pD.语句“*p=r;”取变量r的值放回r中正确答案:D解析:*p=&r使p指向变量r的地址,*p=r是再取变量r的值,并放回r中。

考题 以下叙述中错误的是A.只要类型相同,结构体变量之间可以整体赋值B.函数的返回值类型不能是结构体类型,只能是简单类型C.可以通过指针变量来访问结构体变量的任何成员D.函数可以返回指向结构体变量的指针正确答案:B暂无解析,请参考用户分享笔记

考题 关于赋值语句的作用,正确的描述是()A.变量和对象必须类型相同B.每个赋值语句只能给一个变量赋值C.将变量改写为新的值D.将变量绑定到对象正确答案:D

考题 定义“double *p[6];”的含义是()。A、p是一个指向double类型变量的指针B、p是double类型数组C、p是指针数组D、p是数组指针正确答案:C

考题 若已定义:int x=12;对①int *p=&x;和②*p=x;这两条语句的正确理解是()A、语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量p所指向的变量B、语句①和②中的*p含义相同,都表示给指针变量赋值C、语句①是在对指针变量p定义时初始化,使p指向x;而语句②是将变量x的值赋给指针变量pD、语句①和②的执行结果都是把变量x的地址赋给指针变量p正确答案:A

考题 若有以下定义和语句:“double r=99,*p=&r;*P =r;”,则以下正确的叙述是( )。A.两个*p含义相同,都说明给指针变量p赋值B.在“double r=99,*p=&r;”中,把r的地址赋值给了P所指的存储单元C.语句“*p=r;”把变量r的值赋给指针变量PD.语句“*p=r;”取变量r的值放回r中正确答案:B在定义*p=&r时,是表示r的地址赋给了p所指的存储单元,因此选项B正确。

考题 关于指针概念,下列说法中,不正确的是______。A.一个指针变量只能指向同一类型的变量B.一个变量的地址称为该变量的指针C.只有同一类型变量的地址才能放到指向该类型变量的指针变量之中D.指针变量可以由整数赋值,不能用浮点数赋值正确答案:D

考题 关于指针概念不正确的说法是()。A、一个指针变量只能指向同一个类型的变量B、一个变量的地址称为该变量的指针C、只有同一类型变量的地址才能放到指向该类型变量的指针变量之中D、指针变量可以由整数赋值,不能用浮点数赋值正确答案:C

考题 对下列语句正确的描述是( )。 const int*x; //(1) int*const X; //(2)A.语句(1)的含义是指针变量x不能更改B.语句(2)的含义是指针变量x所指向的不能更改C.语句(2)的含义是指针变量x不能更改D.语句(1)和(2)是相同含义的不同定义方式正确答案:C

考题 若已定义inta=5;下面对(1)int*p=&a;(2)*p=a;两个语句的正确解释是()A、语句(1)和(2)中的*P含义相同,都表示给指针变量p赋值B、语句(1)和语句(2)的执行结果,都是把变量a的地址值赋给指针变量pC、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋给指针变量pD、语句(1)在对p进行说明的同时进行初始化,使p指向a,语句(2)将变量a的值赋于*p正确答案:D