资源描述
南开大学2022年3月C语言程序设计期末考核试题库及答案参考1. 虚基类中的成员函数都是虚函数。( )A.错误B.正确参考答案:A2. 将客观实体的特征与行为作为不可分割的整体进行程序设计的方法称为( )程序设计。A.面向应用B.面向过程C.面向对象D.面向系统参考答案:C3. C+中的函数调用就是面向对象理论中的方法。( )A.错误B.正确参考答案:A4. 撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。( )A.错误B.正确参考答案:B5. 对计算机的软件、硬件进行管理的是( )的功能。A.操作系统B.数据库管理系统C.编译器D.用户程序参考答案:A6. 重载函数至少在参数个数、参数类型或参数顺序上要有所不同。( )A.错误B.正确参考答案:B7. 以下能正确定义数组并正确赋初值的语句是( )A.int N=5,bNN;B.int a12=1,3;C.int c2=1,2,3,4;D.int d32=1,2,34;参考答案:D8. 若有说明:char s1=&39;067&39;, s2=&39;1&39; 则变量s1,s2在内存中各占的字节数是( )A.1,1B.4,1C.3,1D.1,2参考答案:A9. 述语句中,( )中的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+;参考答案:C10. 下面对类的构造函数的定义是( ) 。A.void XX(参数)B.XX(参数)C.int XX(参数)D.float XX(参数)参考答案:B11. 假定classA为一个类,f( )为该类公有的数据成员,x为该类的一个对象,则访问x对象中成员函数f( )的格式为( )。A.x.fB.x.f( )C.x-fD.x-f( )参考答案:B12. 已知:int a 3=1,2,3,4,5,6,7,8,9,0; 则数组a的第一维的大小是( )A.2B.3C.4D.无法确定参考答案:C13. 类中含有指针数据成员时,若不定义拷贝构造函数则会产生指针悬挂问题。( )A.错误B.正确参考答案:B14. 下面程序:main( ) char ch7=“65ab21”; int i,s=0; for(i=0; chi=0 & chi=9; i+=2) s=10*s+chi-0; printf(“%dn”,s); 运行的结果是( )。A.2ba56B.6521C.6D.62参考答案:C15. 假定classA为一个类,如果用户未定义析构函数,则系统为该类定义的默认析构函数为( )。A.classAclassA( )B.classAclassA( )C.classAclassA(int=0)D.void classAclassA( )参考答案:A16. 以下选项中不能正确赋值的是( )A.char b=H,e,l,l,o,!;B.char b10;b=Hello!;C.char b10= Hello!;D.char *str=Hello!;参考答案:B17. 如果一个类至少有一个纯虚函数,那么该类就被称为( )。A.抽象类B.纯基类C.基类D.虚基类参考答案:A18. 下面对静态数据成员的描述中,正确的是( )。A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用参考答案:D19. 下面有关for循环的正确描述是( )A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D20. 在变址寄存器寻址方式中,操作数的有效地址等于( )。A.基值寄存器内容加上位移量B.堆栈指示器内容加上位移量C.变址寄存器内容加上位移量D.程序记数器内容加上位移量参考答案:C21. 使用setw( )函数时需包含iomanip.h头文件,而使用width( )函数时需包含iostream.h头文件。( )A.错误B.正确参考答案:B22. 一个C程序可以包含多个函数,但只能有一个main( )函数。( )A.错误B.正确参考答案:B23. 在“while(!a)”中,其中“!a”与表达式( )等价。A.a=0B.a=1C.a!=1D.a!=0参考答案:D24. 不能把字符串: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!”参考答案:B25. PI可作为标识符使用。( )A.错误B.正确参考答案:B26. 指针是个变量,占有单独的内存空间,而引用本身不是变量,不单独占用内存空间。( )A.错误B.正确参考答案:B27. 使用LINK连接命令,执行后可生成文件的扩展名为EXE。( )A.正确B.错误参考答案:A28. C语言中,合法的字符型常数是( )。A.AB.“A”C.65D.A参考答案:A29. 已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是3412H。( )A.正确B.错误参考答案:A30. 设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是( )。A.0255B.065535C.-32768+32767D.-256+255参考答案:B31. 类模板的模板参数( )。A.只可作为数据成员的类型B.只可作用成员函数的返回类型C.只可作为成员函数的参数类型D.以上三者皆可参考答案:D32. 若有以下定义:intm=7,n=12; 则能得到值为3的表达式是( )。A.n%=(m%=5)B.n%=(m-m%5)C.n%=m-m%5D.(n%=m)-(m%=5)参考答案:D33. 执行int j, i=1; j=-i; 后j的值是( )A.-1B.-2C.1D.2参考答案:A34. 在C程序中,逗号运算符的优先级最低。( )A.正确B.错误参考答案:A35. 在C+中,函数原型不能标识( )。A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能参考答案:D36. 显示I/O对应10H号中断。( )A.正确B.错误参考答案:A37. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( )。A.const char *p=”ABCD”;B.char const *p=”ABCD”;C.char *const p=”ABCD”;D.const char *const p=”ABCD”;参考答案:D38. 决定C+语言中函数的返回值类型的是( )。A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型参考答案:D39. 在文件操作结束时,可以用close( )成员函数关闭该文件。( )A.错误B.正确参考答案:B40. 以下有关继承的叙述正确的是( )。A.构造函数和析构函数都能被继承B.派生类是基类的组合C.派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员D.基类的公有成员一定能被派生类的对象访问参考答案:B41. C+标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。( )A.错误B.正确参考答案:A42. 当将一个函数f( )说明为另一个类B的友元后,函数f( )能够直接访问类B的( )。A.只能是公有成员B.只能是保护成员C.只能是除私有成员之外的任何成员D.具有任何权限的成员参考答案:D43. 对C语言中用到的任何一个变量都要规定其类型。( )A.错误B.正确参考答案:B44. 声明语句int a3=1,0,1,1,1; 能对二维数组a进行正确初始化。( )A.正确B.错误参考答案:B45. 假定指针变量p定义“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( )。A.delete *pB.delete &pC.delete pD.delete p参考答案:C46. 类模板的使用实际上是将类模板实例化成一个具体的( )。A.类B.对象C.模板函数D.模板类参考答案:D47. 已知int a=1,2,3,4,y,*p=&a1; 则执行语句y(*-p)+; 变量y的值是3。( )A.正确B.错误参考答案:B48. 下列语句中错误的是( )。A.int *p=new int (10)B.int *p=new int10C.int *p=new intD.int *p=new int40(0)参考答案:D49. 在所有的进位计数制中,整数部分最低位的权都是1。( )A.正确B.错误参考答案:A50. 下列格式控制符中不是定义于iostream.h中的是( )。A.endlB.hexC.flushD.setw参考答案:D51. fscanf函数的正确调用形式是( )。A.fscanf(文件指针,格式字符串,输出表列)B.fscanf(格式字符串,输出表列,fp)C.fscanf(格式字符串,文件指针,输出表列)D.fscanf(文件指针,格式字符串,输入表列)参考答案:D52. IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。( )A.错误B.正确参考答案:A53. C+允许通过重载的方式改变运算符的优先级和结合性。( )A.错误B.正确参考答案:A54. 下列程序的输出结果是( )。main( )intb=4; b*=b+=b+b; printf(“%dn”,a);A.16B.32C.96D.144参考答案:D55. 以下程序段( )。intx=1,y=4; printf(xA.输出控制格式错误B.输出:x=1C.输出:y=1D.输出:y=4参考答案:C56. 说明一个成员为静态成员的关键字为( )。A.staticB.externC.inlineD.friend参考答案:A57. 若有说明:inta10; 则对数组元素的正确引用是( )。A.a10B.a3,5C.a(5)D.a10-10参考答案:D58. 如果要在程序中使用IO流库,应包含头文件iostream.h。( )A.错误B.正确参考答案:B59. 在关键字public后面定义的成员为类的( )成员。A.公有B.保护C.私有D.任何参考答案:A60. 要对文件进行读写操作,必须在文件开头包含头文件fstream.h。( )A.错误B.正确参考答案:B
展开阅读全文