智慧树知到《C-C++程序设计》见面课答案
见面课:深入学习继承和派生
1、问题:下列关于类的定义格式的描述中,错误的是( )
选项:
A:类中成员有3种访问权限
B:类的定义可分数据成员部分和成员函数部分
C:类中成员函数都是公有的,数据成员都是私有的
D:定义类的关键字通常用class,也可用struct
答案: 【类中成员函数都是公有的,数据成员都是私有的】
2、问题:下列关键字中,不属于定义类时使用的关键字是( )
选项:
A:class
B:protected
C:public
D:default
答案: 【default】
3、问题:下列定义对象的描述中,错误的是( )
选项:
A:定义对象时系统会自动进行初始化
B:对象成员的表示与C语言中结构变量的成员表示相同
C:属于同一类的对象占有内存字节数相同
D:一个类所能创建对象的个数是有限制的
答案: 【一个类所能创建对象的个数是有限制的】
4、问题:下列关于成员函数的描述中,错误的是( )
选项:
A:成员函数的定义必须在类体外
B:成员函数可以是公有的,也可以是私有的
C:成员函数在类体外定义时,前加inline可为内联函数
D:成员函数可以设置参数的默认值
答案: 【成员函数的定义必须在类体外 】
5、问题:使用class定义的类,其默认的访问权限是公有的,使用struct定义的类,其默认的访问权限是私有的。
选项:
A:对
B:错
答案: 【错】
6、问题:下列关于基类和派生类的描述中,错误的是( )
选项:
A:一个基类可以生成多个派生类
B:基类中所有成员都是它的派生类的成员
C:基类中成员访问权限继承到派生类中不变
D:派生类中除了继承的基类成员还有自己的成员
答案: 【基类中成员访问权限继承到派生类中不变 】
7、问题:下列关于继承的描述中,错误的是( )
选项:
A:继承是重用性的重要机制
B:C++语言只支持单重继承,不支持多重继承
C:继承关系不是可逆的
D:继承是面向对象程序设计语言的重要特性
答案: 【C++语言只支持单重继承,不支持多重继承】
8、问题:下列成员函数中,纯虚函数是( )
选项:
A:virtual void f1()=0
B:void f1()=0;
C:virtual void f1(){}
D:virtual void f1()==0
答案: 【virtual void f1()=0】
9、问题:派生类只继承基类中的公有成员和保护成员,而不继承私有成员。
选项:
A:对
B:错
答案: 【错】
10、问题:单重继承是指派生类只有一个基类的情况。
选项:
A:对
B:错
答案: 【对】
见面课:深入学习自定义函数
1、问题:以下说法正确的是( )
选项:
A:用户若需要调用标准函数,调用前必须重新定义
B:用户可以直接调用所有标准库函数
C:用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数
D:用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数
答案: 【用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数】
2、问题:如果一个函数没有返回值,定义时它的函数类型应是( )
选项:
A:任意
B:int
C:void
D:无
答案: 【void】
3、问题:关于函数返回值的描述正确的是( )
选项:
A:函数返回表达式的类型一定与函数的类型相同
B:函数返回值的类型决定了返回值表达式的类型
C:当函数类型与返回值表达式类型不同时,将对返回值表达式的值进行类型转换
D:函数返回值类型就是返回值表达式类型
答案: 【当函数类型与返回值表达式类型不同时,将对返回值表达式的值进行类型转换】
4、问题:在参数传递过程中,对形参和实参的要求是( )
选项:
A:函数定义时,形参一直占用存储空间
B:实参可以是常量、变量或表达式
C:形参可以是常量、变量或表达式
D:形参和实参类型和个数都可以不同
答案: 【实参可以是常量、变量或表达式】
5、问题:关于函数的调用,下面说法不正确的是( )
选项:
A:由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行
B:函数的调用可以在任意函数之间进行,只要有需要
C:一个函数可以自己调用自己
D:函数返回时可以不带返回值,这时函数在定义时其返回值的类型用void表示
答案: 【由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行】
见面课:深入学习选择结构
1、问题:C语言的if语句中,用作判断的条件表达式为( )
选项:
A:任意表达式
B:逻辑表达式
C:关系表达式
D:算数表达式
答案: 【任意表达式】
2、问题: 以下程序段的输出结构是( )int x,y,z;x=12,y=5;z=x>y?x++:y–;printf(%d,z);
选项:
A:14
B:15
C:13
D:4
答案: 【13】
3、问题:C语言的跳转语句中,对于break和continue说法正确的是( ).
选项:
A:continue语句只应用于循环体中
B:break语句只应用于循环体中
C:break是无条件跳转语句,continue不是
D:break和continue的跳转范围不够明确,容易产生问题
答案: 【continue语句只应用于循环体中】
4、问题:下面程序段的输出为( )int a=15, b=10, c=20, d;d = a >12 ? b : c;switch(d){ case 5:printf(%d,, a); case 10:printf(%d,, b); case 20:printf(%d,, c); default:printf(#);}
选项:
A:15,10,20,#
B:10,20,#
C:10,20
D:10
答案: 【10,20,#】
见面课:进一步学习函数参数和一维数组
1、问题:若有定义:int x,pb;则真确的赋值表达式是:( )
选项:
A:pb=&x
B: pb=x
C:pb=&x
D:pb=x
答案: 【pb=&x 】
2、问题:若有以下定义语句:int a,b,p; float c,q; 则赋值真确的是( )
选项:
A:p=&c
B:q=p
C:p=NULL
D:q=new int
答案: 【p=NULL】
3、问题:对于数组说法错误的是( )
选项:
A:必须先定义,后使用
B:定义时数组的长度可以用一个已经赋值的变量表示
C:数组元素引用时下标从0开始
D:数组中的所有元素必须是同一种数据类型。
答案: 【定义时数组的长度可以用一个已经赋值的变量表示】
4、问题:下面不可真确定义一维数组的是( )
选项:
A:int n=5;int a[n];
B:int a[5];
C:int a[]={1,2,3,4};
D:int a[23];
答案: 【int n=5;int a[n];】
5、问题:若有声明int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};则数组第一维的大小为( )
选项:
A:2
B:3
C:4
D:不能确定的值
答案: 【3】
6、问题:若有定义int a[ ]={2.\,4,6,8,10,12},p=a; 则p+1和*(p+1)的值分别是( )
选项:
A:&a[0] 2
B:&a[0] 4
C:&a[1] 2
D:&a[1] 4
答案: 【&a[1] 4】
返回栏目