智慧树知到《C-C++程序设计》2023见面课答案
智慧树知到《C-C++程序设计》2023见面课答案
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.错误
正确答案: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.错误
正确答案:B
10、单重继承是指派生类只有一个基类的情况。
A.正确
B.错误
正确答案:A
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