当前位置:文档之家› 期末考试答案

期末考试答案

2015学堂在线C++程序设计基础期中考试答案:1-10 ADBBC DCBCD11-20 DDCBD BCBCC21-30 BDCCB ADADA31-40 AACCD ABBCB41-50 AADCB ADDCC1. 编译源文件后产生的文件是()A. 目标文件B. 可执行文件C. 源文件D. 头文件2. 每个C++程序只能有一个的是()A. 全局变量B. 函数C. 头文件D. 主函数3. 下列可作为C++语言程序自定义标识符是()A. caseB. numC. returnD. continue4. 将十进制整数10转化成八进制结果表示为()A. 0x12B. 012C. 12D. 12u5. 若有代数式(3ae)/(bc), 则下列表达式中,错误的是()A. a/b/c*e*3B. 3*a*e/b/cC. 3*a*e/b*cD. a*e/c/b*36. 下列各种运算符中,优先级最高的是( )A. =B. ||C. ? :D. ++7. 关于下面代码中, 编译运行的情况是()A. 编译通过,运行结果为输出5B. 编译通过,运行结果为输出0C. 编译通过,无运行结果D. 编译错误8. 以下程序输入2时,程序运行的结果是():A. 6B. 程序产生未定义行为C. 7D.以上均不对9. 以下程序输入5430,结果为().A. 543B. 345C. 12D. 010. 以下程序的运行结果是():A. 程序共有10行输出B. 程序输出10,0C. 程序输出10,10D. 程序输出10,111. 有如下程序:程序运行的结果为()A. 0 2B. 0 3C. 10 2D. 10 1012. 以下程序输出结果为()A. 1B. 5C. 6D. 213. 以下程序的编译运行情况是()A. 编译通过,300B. 编译通过,0C. 编译出错D. 编译通过,无输出14. 使用内联函数的好处是().A. 增加函数调用次数B. 提高代码执行效率C. 减少代码量,增强代码可读性D. 隐藏内部实现15. 有如下程序:func(1,4) 的结果为()A. 1B. 3C. 4D. 516. 以下为fib函数的定义,则fib(4)的返回值为()A. 5B. 3C. 2D. 417. 有如下程序:fac(5) 执行完毕后,程序的返回结果为( )A. 24B. 16C. 120D. 118.下列不是函数重载所要求的条件是:( )A. 函数名相同B. 函数返回值类型不同C. 参数类型不同D. 参数个数不同19. 下列哪两个函数为重载函数()A. void a1(), void a2()B. int b(int x), float b(int x)C. char c(double y), char c(int y, double z)D. bool d(double y), bool d(double y, int x = 0)20. 以下函数调用calc(4)的输出结果为()A. 1B. 2C. 3D. 421. 有如下函数调用语句 func(rec1,rec2+rec3,rec4, rec5); 该函数调用语句中,含有的实参个数是().A. 3B. 4C. 5D. 有语法错误22. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型23. 以下程序的运行结果为()A. 5 10 5 10B. 10 5 5 10C. 10 5 10 5D. 5 10 10 524. 计算斐波那契数列第 n 项(0 开始计数)的函数定义如下:若执行调用表达式 fib(4),则函数 fib 被调用的次数是()(包含第一次调用fib(4))A. 7B. 8C. 9D. 1025. 有两个类X,Y,且Y有一个构造函数Y::Y(X x); 那么以下语句:X a;Y b(a);不会调用下面的哪个函数( )A. Y的构造函数Y(X x)B. Y的复制构造函数C. X的默认构造函数D. X的复制构造函数26. 结构体中定义的成员默认的访问属性为( )A. publicB. privateC. friendD. protected27. 已知类A的定义.假设x为A的对象,则在类外访问x对象中数据成员a, b分别应采用( )A. x::getValue(), x::bB. x.a, x.bC. x.a(), x.b()D. x.getValue(), x.b28. 下列关于析构函数的描述中,错误的是()A.析构函数可以重载B.析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数29. 有关构造函数的叙述不正确的是()A.构造函数名必须和类名一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个30. 假设程序中先前已经定义了A,B,C三个类,他们的构造函数分别会输出A constructed,B constructed和C constructed,那么又定义了类D, 并在main函数中定义了一个D类的对象,部分代码如下,程序的输出结果为( )A. A constructed B constructed C constructedB. C constructed B constructed A constructedC. 编译错误D. 编译器决定31. 在面对对象方法中,实现信息隐蔽是依靠( )A. 对象的封装B. 对象的继承C. 对象的多态D. 对象的分类32. 下列关于类定义的说法中,正确的是( )A. 在类里定义的函数为内联函数B. 类成员的默认访问权限是保护的C. 数据成员必须被声明为私有的D. 成员函数只能在类体外进行定义33. 关于类和对象不正确的说法是:( )A. 类是一种类型,它封装了数据和操作B. 对象是类的实例C. 一个类的对象只有一个D. 一个对象必属于某个类34. 通常拷贝构造函数的参数是:()A. 对象名B. 对象的成员名C.对象的引用名D.对象的指针名35. 在类外定义成员函数时,需要在函数名前加上( )A.类名B.对象名C.作用域运算符D.类名和作用域运算符36. 在类定义中,为说明成员的访问权限,private, protected,public 可以出现次数( )A. 次数没有具体限制B.每种至多一次C.public 至少一次D.每种至少一次37. 关于静态数据成员的描述中错误的是( )A. 类的静态数据成员是该类所有对象所共享的B. 类的静态数据成员在在该类每个对象中都保留一个备份C. 类的静态数据成员必须进行初始化D. 类的静态数据成员可以不通过对象来访问38. 若一个类的数据成员用const关键字修饰,则该数据成员( )A. 静态函数中可以对该成员赋值B. 构造函数只能通过初始化列表对该成员初始化C. 任何函数都不能使用该成员D. 外部函数可以对该成员赋值39. 如果类A是类B的友元,则( )A. 类A的成员是类B的成员B. 类B的成员是类A的成员C. 类A的成员函数可以访问类B的私有成员D. 类B是类A的友元40. 以下程序输出结果为( )A. 1 1B. 1 2C. 2 1D. 2 241. 静态变量的默认初始值为( )A. 0B. nullC. 随机值D. 依赖于编译器42. 关于友元函数的描述中,错误的是( )A. 友元函数是成员函数B. 友元函数能访问类中私有成员C. 友元函数破坏封装性D. 友元函数声明在类体内43. 已知类A是类B的友元类,类B是类C的友元类,则( )A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员44. 在设计一个类的时候,如果希望允许一个不属于该类的函数访问该类的私有成员,应该使用哪个关键字( )A. publicB. privateC. friendD. protected45.类中定义的成员默认的访问属性为( )A. publicB. privateC. friendD. protected46. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块47. 已知类CA 中的某个成员是类CB的对象,若要把这两个类定义在同一个文件中,则( )A. CA 必须定义在CB 之前B. CB 必须定义在CA 之前C. 若CA 定义在CB 之后,则CA 的声明必须出现在CB 的定义之前D. 若CB 定义在CA 之后,则CB 的声明必须出现在CA 的定义之前48. 关于下面代码中, 编译运行的情况是( )A. 编译通过,无运行结果B. 编译通过,运行结果为输出0C. 编译通过,运行结果为输出6D. 编译错误49. 以下程序的运行结果是( ):A. 程序陷入死循环B. 10行输出,每行两个*C. 输出一行20个*D. 循环能结束,但输出*的个数无法确定50. 常量30、3.0、30L的数据类型分别是 ( )A. long、double、intB. long、float、intC. int、double、longD. int、float、long。

相关主题