资源描述
南开大学21秋C语言程序设计平时作业二参考答案1. 如果(SP)=30H,执行PUSH BX指令后,(SP)=( )。A.28HB.2EHC.32HD.31H参考答案:B2. 下面不能作为函数的返回类型的是( )。A.newB.intC.longD.void参考答案:A3. 下面关于运算符重载的描述错误的是( )。A.重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字operatorD.在C+语言中不可通过运算符重载创造出新的运算符参考答案:C4. 如果一个类至少有一个纯虚函数,那么该类就被称为( )。A.抽象类B.纯基类C.基类D.虚基类参考答案:A5. 下面对类的构造函数的定义是( ) 。A.void XX(参数)B.XX(参数)C.int XX(参数)D.float XX(参数)参考答案:B6. 按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )A.错误B.正确参考答案:B7. 在下面有关对构造函数的描述中,正确的是( )。A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数D.构造函数必须定义,不能缺省参考答案:B8. 以下语句中无限循环语句是( )A.for(;2&5;)B.while(1,2,3)C.while(0)D.for(;0;)参考答案:B9. 假设定义了一个具有构造函数的book类,构造函数只有一个非默认的整型参数,则下列的类型转换错误的是( )。A.book(12)B.(book20)C.book x=2D.book x=book(2)参考答案:B10. 在“while(!a)”中,其中“!a”与表达式( )等价。A.a=0B.a=1C.a!=1D.a!=0参考答案:D11. 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象成员的值在程序运行期间是不可改变的。( )A.错误B.正确参考答案:B12. 在变址寄存器寻址方式中,若变址寄存器的内容是4E3C(16进制),给出的偏移量是62(16进制),则它对应的有效地址是( )(16进制)。A.63B.4D9FC.4E3CD.4E9E参考答案:D13. 对于同一个运算符来说,重载的运算符的优先级比未重载的运算符的优先级高。( )A.错误B.正确参考答案:A14. break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )A.错误B.正确参考答案:B15. 拷贝构造函数是在用一个对象初始化另一个对象时被调用的。( )A.错误B.正确参考答案:B16. 不能作为重载函数的调用依据的是( )。A.参数个数B.参数类型C.返回值类型D.函数名称参考答案:C17. 下面叙述不正确的是( )。A.基类的保护成员在保护派生类中仍然是保护的B.基类的保护成员在公有派生类中仍然是保护的C.基类的保护成员在私有派生类中仍然是保护的D.对基类成员的访问必须是无二义性的参考答案:C18. 在执行int a 3=1,2,3,4; 语句后a12的值是( )A.3B.4C.0D.2参考答案:C19. get( )和put( )函数的功能是一次读写一个字符,而read( )和write( )函数是一次读写一个数据块。( )A.错误B.正确参考答案:B20. 虚析构函数的工作过程与普通虚函数不同,普通虚函数只是调用相应层上的函数,而虚析构函数是先调用相应层上的析构函数,然后逐层向上调用基类的析构函数。( )A.错误B.正确参考答案:B21. 说明一个成员为静态成员的关键字为( )。A.staticB.externC.inlineD.friend参考答案:A22. 不能把字符串:Hello! 赋给数组b的语句是( )。A.char b10=H,e,l,l,o,!B.char b10; b=“Hello!”C.char b10; strcpy(b,“Hello!”)D.char b10=“Hello!”参考答案:B23. 述语句中,( )中的if语法有错误。A.if(xy)B.if(x=y)x+yC.if(x!=y)scanf(“%d”,x) else scanf(“%d”,y)D.if(xy)x+; y+;参考答案:C24. 逻辑运算符的优先级为&|!。( )A.错误B.正确参考答案:A25. 下面程序的运行结果为( )。include class Apublic:A( )coutA.1234B.1324C.1342D.3142参考答案:C26. 已知int a=1,2,3,4,y,*p=&a1; 则执行语句y(*-p)+; 变量y的值是3。( )A.正确B.错误参考答案:B27. do.while结构中的语句至少执行一次。( )A.正确B.错误参考答案:A28. 已知各变量的类型说明如下:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是( )。A.a+=a-=(b=4)*(a=3)B.a=a*3=2C.x%(-3)D.y=f1oat(i)参考答案:A29. 下面对静态数据成员的描述中,正确的是( )。A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用参考答案:D30. 以下选项中,与k=+n完全等价的表达式是( )A.k=n,n=n+1B.n=n+1,k=nC.k=+nD.k+=n+1参考答案:B31. 在关键字public后面定义的成员为类的( )成员。A.公有B.保护C.私有D.任何参考答案:A32. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。( )A.正确B.错误参考答案:B33. 下面对类的析构函数的定义是( ) 。A.XX(参数)B.void XX(参数)C.void XX( )D.XX( )参考答案:A34. 静态的成员函数没有隐含的this指针,所以它们只能访问静态的数据成员。( )A.错误B.正确参考答案:B35. 在C+中,构造派生类对象时,总是先从基类的初始化开始的。( )A.错误B.正确参考答案:B36. 若有变量说明:inta=0,b=0,c=0; 以下符合C语言语法的赋值表达式是( )。A.a=9+b+c=a+9B.a=9+b; c=a+9C.a=(9+b,b+)D.a=9+b+=a+7参考答案:C37. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。A.const char *p=”ABCD”;B.char const *p=”ABCD”;C.char *const p=”ABCD”;D.const char *const p=”ABCD”;参考答案:D38. 若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串是“ab+”。( )A.正确B.错误参考答案:B39. 若AX=349DH,CX=000FH。则执行指令AND AX,CX后,AX的值是000DH。( )A.正确B.错误参考答案:A40. C+利用( )实现面向对象程序设计的继承性。A.构造数据类型类B.类的派生机制C.构造数据类型枚举D.函数重载与运算符重载参考答案:B41. 合法的C语言标识符是( )。A.abcB.2abC._a1D./n参考答案:C42. 重载函数至少在参数个数、参数类型或参数顺序上要有所不同。( )A.错误B.正确参考答案:B43. 下列对模板的声明错误的是( )。A.template class T1,typename T2B.template class T1,T2C.template typename TD.template class T1,class T2,class T3参考答案:B44. 在汇编语言中,宏是源程序中的一段有独立功能的程序代码,只需要在源程序中定义一次就可以多次调用。( )A.正确B.错误参考答案:A45. 在x值处于-2到2,4到8时值为“真”,否则为“假”的表达式是( )。A.(2x-2)|(4x8)B.(x=2)|(x4)|(x=8)C.(x=-2)(x4)(xD.(x-2)(x4)|(x8)(x2)参考答案:D46. 数组的大小是固定的,所有数组元素的类型必须相同。( )A.正确B.错误参考答案:A47. 下列输出字符A的方法中,错误的是( )。A.coutput(A)B.coutAC.cout.put(A)D.char a=A; couta参考答案:A48. C语言规定数组元素的下标从0开始。( )A.错误B.正确参考答案:B49. 编译时的多态是通过动态联编来实现的,运行时的多态是通过静态联编实现的。( )A.错误B.正确参考答案:A50. 汇编语言的三种指令系统:基本指令、伪指令、宏指令。( )A.正确B.错误参考答案:A51. 进行文件操作需包含头文件( )。A.fstream.hB.ostream.hC.stdio.hD.stdlib.h参考答案:A52. 下列各种高级语言中,不是面向对象的程序设计语言的是( )。A.C+B.JavaC.VBD.C参考答案:A53. 若x为float型变量,则以列程序段结果是( )。x=1234.6789; printf(“%-2.1f”,x)A.输出格式描述符的域宽度不够,不能输出B.输出为1234.7C.输出为1234.6D.输出为-1234.6参考答案:B54. int i=20; switch(i/10) case 2:printf(“A”); case 1:printf(“B”); 的输出结果为A。( )A.错误B.正确参考答案:A55. 当将一个函数f( )说明为另一个类B的友元后,函数f( )能够直接访问类B的( )。A.只能是公有成员B.只能是保护成员C.只能是除私有成员之外的任何成员D.具有任何权限的成员参考答案:D56. 关于函数模板,描述错误的是( )。A.函数模板必须由程序员实例化B.函数模板的实例化由编译器实现C.一个类定义中,只要有一个函数模板,则这个类是类模板D.若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化参考答案:A57. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( )A.1B.2C.3D.4参考答案:B58. 以下串操作指令中,哪一条指令会影响标志位?( )A.LODSB.STOSC.CMPSD.MOVS参考答案:C59. 下列格式控制符中不是定义于iostream.h中的是( )。A.endlB.hexC.flushD.setw参考答案:D60. C+对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。( )A.错误B.正确参考答案:B
展开阅读全文