2007C++下半年习题

  • 格式:doc
  • 大小:220.50 KB
  • 文档页数:44

一、选择题[单选题]下面的表达式中值为0的是___。

(A)、2%3(B)、2<3(C)、2>3(D)、2/3.0选:C[单选题]关于fseek函数,以下有关操作的叙述不正确的是___。

(A)、只可以顺序定位文件的位置指针(B)、可以实现文件的顺序读写(C)、可以改变文件的位置指针(D)、可以实现文件的随机读写选:D[单选题]有以下程序#include <iostream.h>void main(){int x=-1, y=3, k;k = (x++>=0) || (!(++y<=0));cout<<k<<x<<y<<endl;}程序运行后的输出结果是__。

(A)、103(B)、012(C)、104(D)、112选:C[多选题]c++的数据类型中,其所占的字节数相同的是___。

(选三)(A)、long(B)、double(C)、float(D)、unsigned选:ACD[多选题]以下运算符中优先级相同的是__。

(选二)(A)、=(B)、~(C)、!(D)、++选:BC[单选题]若有定义int *p, a[5];则下列正确的选项是__。

(A)、a=p;(B)、*p=a;(C)、p=a;(D)、p=&a;选:C[多选题]下列正确的转义字符是__。

(选三)(A)、’074’(B)、’\0’(C)、’ \’’(D)、’\\’选:BCD[多选题]若有说明”int a=3, b[3][3];”,则对b数组元素的非法引用是___。

(选二)(A)、b[1][3-a](B)、b[2][1+1](C)、b[0][a](D)、b[a][2]选:CD[单选题]C++语言中最简单的数据类型包括__。

(A)、整型、字符型、逻辑型(B)、整型、实型、逻辑型(c)、整型、实型、逻辑型、字符型(D)、整型、实型、字符型选:C[单选题]执行下面程序后,输出的结果#include <iostream.h>#define F(n) (n-1)*nvoid main( ){int x=1, y=2;cout <<F (3+x+y);}(A)、30(B)、18(C)、21(D)、6选:B[单选题]不能把字符串:"C++”赋给数组s的语句是__。

(A)、char s[10]={’C’,’+’,’+’,’\0'}(B)、char s[10]; strcpy(s, "C++");(C)、char s[10]=“C++";(D)、char s[10]; s="C++";选:D[单选题]若以下变量均己定义,则下面表达式不正确的是(A)、x+y=5(B)、x/=10(C)、a=b, c(D)、x>y?y:x选:A[单选题]有以下程序段char c;int x;cin>>c;switch(c-' 2'){case 1: x=l; break;case 2: x=2; break;default: x=3;}程序运行后输入3并回车,则输出结果是(A)、1(B)、3(C)、没有输出结果(D)、2选:C[单选题]有如下程序段:void main( ){int a=1;switch(a++){case 0: a++;case 1: a++;case 2: a++;}cout <<a<<endl;}该程序的运行结果是__。

(A)、1(B)、3(C)、4(D)、2选:C[单选题]在C++中,如果一个类至少有一个纯虚函数,那么该类就可以称为(A)、抽象类(B)、虚基类(C)、纯基类(D)、派生类选:A[单选题]以下不正确的for语句是(A)、for (int x=1;;)(B)、for(;1;);(C)、for( );(D)、for(;;);选:C[单选题]设有定义”int x=1;”,则执行下面的switch语句后,y的值为2的是(A)、switch(x){case 1: y=1; case 2: y=2; default:y=3;}(B)、switch(x){case 1: y=1; break; case 2: y=2; break; default: y=3; break; }(C)、switch(x){case 1: y=1; break; case 2: y=2; default:y=3; }(D)、switch(x){case 1: y=1; case 2: y=2; break; default: y=3;}选:D[单选题]有以下程序段char c;cin>>c;switch (C-’ 2’){case 1: cout<<' 1';case 2: cout<<' 2';default: cout<<' 3';}程序运行后输入3并回车,则输出结果是(A)、3(B)、没有输出结果(C)、1(D)、123选:D[单选题]若有初始化”int art [1] [1]={ 1, 1} ;”,则以下叙述中正确的是(A)、数组中的所有元素都得到初值1(B)、只有art [0] [0]的值为1,其他元素值不确定(C)、定义非法(D)、只有art[1] [1]的值为1,其他元素值不确定选:C[单选题]若己定义:int x [10], *p=x; 并在以后的语句中未改变p的值,不能表示x[1]地址的表达式是(A)、p++(B)、x+1(C)、p+1(D)、++x选:D。

D非法,A其实也不对,表达式p++的结果是x[0]的地址,如果是++p 就正确。

[单选题]有以下函数:int *func(int *x) {return(x);}该函数的返回值是(A)、无确定值(B)、形参x自身的地址值(C)、形参x中存放的地址值(D)、一个临时存储单元的地址选:C[多选题]以下程序段执行后,a的值为1的是__。

(选二)(A)、int a=0,b=1, c; c=a; a=b; b=c;(B)、int a=0, b=1, c; b=c; b=a; c=a;(C)、int a=0, b=1, c; c=a; b=a; b=c;(D)、int a=0, b=1; a=a+b; b=a-b; a=a-b;选:AD[单选题]下列函数的声明正确的是__。

(A)、void func(x,y)(B)、void func (int x, y);(C)、void func(int x,int y)(D)、void func(int, int);选:D[多选题]下列函数中,可以作为虚函数的是__。

(选二)(A)、构造函数(B)、普通函数(C)、析构函数(D)、成员函数选:CD[单选题]己知int n[5]={1, 2, 3, 4, 5} 和*p=n,则不能表示数组n中元素的式子是(A)、n[p-n](B)、*n(C)、*p(D)、n选:D[单选题]下面选项中,___是函数的重载。

(A)、float print1(int x)与float printZ(int y)(B)、int print(float x)与int *print(float x)(C)、int print(float x)与float print(int x)(D)、int print(char *y, float x)与int print(float x, char *y)选:CD都是函数重载。

[多选题]以下定义中,不正确的是__。

(选三)(A)、int x[1+2][3];(B)、int x(3, 4)(C)、int x[3, 4];(D)、int x[ ][4];选:BCD[单选题]己知int x=3;下面的do_while语句执行时循环次数为__。

do { x--; cout<<x<<endl; } while(x!=0);(A)、2(B)、3(C)、1(D)、无限选:B[单选题]若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(A)、float(B)、double(C)、int(D)、char选:B[单选题]以下的for循环__。

for(x=0, y=0; (y!=123)&&(x<4); x++);(A)、执行3次(B)、是无限循环(C)、执行4次(D)、循环次数不定选:C[单选题]若有定义”int x[5]={l, 2, 3, 4, 5}, *p=&x[1];”,则以下表达式中值为3的是(A)、*(p+2)(B)、*(p+1)(C)、*p+2(D)、p+1选:B[单选题]关于运算符重载的说法不正确的是__。

(A)、运算符函数必须是成员函数(B)、重载运算符的优先级和原来未重载的运算符的优先级相同(C)、只能重载己有的运算符(D)、重载不能改变运算符的结合律和操作数的个数选:A[多选题]如果打开文件时,选用的文件操作方式为”wb+”,则下列说法中正确的是_(选三)。

(A)、要打开的文件是二进制文件(B)、要打开的文件必须存在(C)、打开文件后可以读取数据(D)、要打开的文件可以不存在选:ACD。

这题考C语言的文件操作函数:fopen[单选题]下列关于二维数组的初始化不正确的是__。

(A)、float b[1][2]={1.0};(B)、int d[3][2]={{1},{2},{3}};(C)、static int c[3][]={1,2,3};(D)、static float a[2][3]={1,2,3};选:C[单选题]若有以下说明:int a[12]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11, 12};char c='a', d, g;则数值为4的表达式是__。

(A)、a[’d’-’c’](B)、a[4](C)、a[’d’-c](D)、a[g-c]选:C[单选题]设有定义语句int a=3; 则执行了语句a+=a-=a*a后,变量a的值是_。

(A)、9(B)、3(C)、-12(D)、0选:C[单选题]下面函数的功能是__。

char *str(char *x,char *y){char *ps=x;while(*x!=’\0’) x++;while(*y!=’\0’) *x++=*y++;*x=’\0’;return ps;}(A)、将字符串y复制到字符串x中(B)、将字符串x复制到字符串y中(C)、求x字符串的长度(D)、将字符串y连接到字符串x后选:D[单选题]若程序中有下面的说明和定义,则会发生的情况是__。