C程序设计语言习题及答案
2013年月考试C++程序设计语言第二次作业一、单项选择题(本大题共69.99999分,共 25 小题,每小题 2.8 分)1. 下面所列语句序列中,不正确的是( )。A. char a[80]= "abcdefg";B. char a[80],*p=a; p="abcdefg";C. char *a; a="abcdefg";D. char a[80],*p; p=a="abcdefg";2. C++中内联函数(inline)告诉编译器把该函数当成一个( )来处理。A. 用#define定义的宏B. 用typedef定义的类型C. 用#ifdef定义的条件编译D. 普通函数(即inline无任何作用)3. C++的函数有函数头和函数体两部分组成,下面所列的函数头书写格式中不正确的是( )。A. main(int a,int b)B. main(int a,int b=1)C. main(int a=0,int b)D. main(int a=2,int b=3)4. 下面所列字符串的常量表示中,错误的是( )。A. "\"yes\"or\"No\"B. "\'OK!\'"C. "abcdefg\n"D. "ABCDEFG\0"5. int k=10; while (k=0) k=k-1,则while循环体执行的次数是( )。A. 0B. 1C. 4D. 36. 在重载+运算符时,为了满足其交换率,应该使用( )。A. 成员函数方式B. 友员函数方式C. 普通外部函数方式D. 静态外部函数方式7. 下面关于动态联编的描述中,错误的是( )。A. 动态联编是以虚函数为基础的B. 动态联编是在运行时确定所调用函数代码的C. 动态联编调用函数操作时使用指向对象的指针或对象的引用D. 动态联编也是在编译时确定的操作函数8. 在公有派生(public)时,若A是B的基类,B是C的基类,那么类C也会间接继承类A的共有成员,这种特性称为继承的( )A. 规律性B. 重复性C. 传递性D. 多样性9. C++ A. 函数重载B. 继承C. 封装D. 模板10.
下面两条语句定义了fun为( )。typedef double (*MYFUN)(int, float)MYFUN fun[6];
A. 包含6个双精度浮点数的数组,共占24个字节B. 包含6个双精度浮点数的数组,共占48个字节C. 包含6个指向双精度浮点变量的指针数组,共占24个字节D. 包含6个指向函数的指针的数组,共占24个字节11. C++语言规定,使用简单变量作为函数调用实际参数时,它和对应形式参数之间的数据传递方式是( )。A. 地址传递B. 单向值传递C. 双向值传递D. 由程序员在程序中指定12. 下面四个选项中,正确的字符常量是( )。A. "c"B. '\\"C. 'a'D. ''13. 下面的哪一个保留字不能作为函数的返回类型( )。A. VoidB. IntC. NewD. char14. 如果要强制对流缓冲区中的数据进行I/O操作,应选择函数( )。A. rdstateB. clearC. flushD. tie15. 设有定义int m=100;,下面表示引用的方法中正确的是( )。A. int &x=m;B. int &y=100;C. int &z;D. float &t=&m;16. 与下面代码段执行效果等价的是( )。while(i<10 && j>1){?? fun(i,j);?i++; j -= 2;}A.
if(i < 10 && j > 1)do{? ?????? fun(i,j);?????? i++;???????j -= 2}while (i < 10 && j > 1);
B.
while (1){? ?? fun(i,j);?? i++; ?? j -= 2;}do (i < 10 && j >1);
C. ? while (!( i >= 10 | j <= 1){ ???? fun(i,j);???? i++;???? j -= 2;}D.
?for ( ! (( i >= 10) && ( j <= 1));i++, j-=2;{? ?? ?fun(i,j);}
17. 在基类指针和派生类指针的使用中,正确的是( )。A. 基类指针可以指向派生类对象B. 派生类指针可以指向基类对象C. 基类指针可以直接赋值给派生类指针D. 派生类指针可以直接赋值给基类指针18. 下列函数中能够实现将一个字符写