作 业
一、单项选择题
1、下面字符串中,合法的标识符是B
A. b-b
B. CCP
C. switch
D. *jer
2、当程序执行到一个for循环体内的break语句时,接下来的操作是B
A.结束循环体的一次重复,若条件成立,接着进行下一次循环体的执行过程 B.跳转至循环体的出口,结束循环 C.出现运行错误 D.结束程序的运行
3、 说明公有成员的关键字是A
A. public B. private C. inline D. virtual 4、下列的变量名中,非法的是D
A. my_car B. x25 C. MyCar D. my-car
5、下列的变量名中,合法的是B
A. 56A B. _abc C. P-int D. int
6、设有说明int a[][3]={1,2,3,4,5,6,7,8,9 },则a[1][1]的值是C
A. 1
B. 2
C.5
D. 6
D.不确定
7、设有说明char str[80]=”china”;则str[5]的值是B A. ’a’
B.’\\0’
C.’ ’(空字符)
8、在C++中,下列设置函数参数默认值的方式中,正确的是D
A.void fun(int a=1,int b=2,int c) B.void fun(int a,int b,int c) C.void fun(int a=1,int c,int b=2) D.void fun(int c,int a=1,int b=2)
9、下列给字符数组的初始化中,错误的是D
A. char s1[3]={'a','b','c'}; B. char s2[5]=\
C. char s3[]={'m','n','s','r'}; D. char s4[4]=\
10、已知:int a[3];下列给数组元素赋值的表达中,错误的是B
A. a[0]=44; B. a[3]=33; C. a[1]=11; D. a[2]=22;
11、下列关于条件语句的描述中,错误的是B
A. if语句只能有一个else子句 B. if语句内部不能包含有开关语句 C. if语句中可以有多个else if子句 D. if语句内部可以包含有循环语句
12、下列有关析构函数的说法中不正确的是A
A.在某个类的定义中,必须显式的给出一个析构函数 B. 析构函数在对象的生存期结束时自动执行 C. 析构函数有且只有一个 D.析构函数无任何返回值类型
13、下面关于类概念的描述中,错误的是B
A. 类是数据和方法的封装体
B.类是对象的实例
C.类是一组对象的模板 D.类是抽象数据类型的实现 14、下列关于循环语句的描述中,错误的是D
A. 循环体内可以含有循环语句 B. 循环体可以是一条空语句 C. 循环体内可以出现条件语句
D. 循环体内必须出现break语句或continue语句
15、已知:int i=5;则循环语句do{ cout< A. 0 B. 1 C. 5 D. 无限 16、循环语句whlie(k=0)k++;的循环次数是A A. 0 B. 1 C. 5 D. 无限 17、在函数的定义格式中,下列可以省略的部分是D A. 函数名 B. 函数体 C. 函数类型 D. 函数参数 18、下列关于封装的描述中,错误的是C A. 封装体内的成员有不同的访问权限 B. 封装性是面向对象方法的重要特性 C. 封装体内的成员外界都不可访问 D. 类是一个数据和操作的封装体 19、下列while循环语句的循环次数是A while(i=1) i++; A.0 B.1 C.5 D. 无限 20、表达式:10!=9的值是( D )。 A. 9 B. 非零的任一值 C. 0 D. 1 21、在函数引用调用时,函数的实参和形参应该使用A A.变量与引用 B.地址值与指针 C.变量与指针 D.地址值与引用 22、一个函数无返回值时,应选择下列的说明符是C A.Public B.extern C.void D. private 23、下列关于函数的定义中,错误的是A A.函数的定义可以嵌套 B.函数定义时必须给出函数值的类型 C.函数定义时可以省略存储类型 D. 函数可定义为内联函数 24、下列关于函数的参数的描述中,错误的是D A.函数的参数可以是0或多个 B.函数参数可以设置默认值 C.函数的形参可以是引用 D.函数的形参与实参要求个数必须相同 25、能正确表示“a≥10或a≤0”的关系表达式是(C )。 A.a>=10 or a<=0 B.a>=10|a<=0 C.a>=10||a<=0 D. a>=10&&a<=0 26、下列不是构造函数的特征的是D A.构造函数的函数名与类名相同 B. 构造函数必须指定类型说明 C.构造函数可以设置默认参数 D. 构造函数可以重载 27、.在函数引用调用时,函数的实参和形参应该分别使用A A.变量、引用 B.变量、变量 C.地址值、指针 D.地址值、引用 28、定义内部函数时,应在函数名前加关键字B A.extern B. static C. inside D. inline 29、对重载函数参数的描述中,错误的是D A.参数的个数可能不同 B.参数的类型可能不同 C.参数的顺序可能不同 D.参数的个数、类型、顺序都相同,只是函数的返回值类型不同 30、函数: int fun( float x ){ float y; y=3*x-4;return y;} 的值的类型是D A. int B. 不确定 C. void D. float 31、若a为int类型,且其值为3,则执行完表达式语句a*=a+3;后,a的值是B A. 18 B. 12 C. 9 D. 3 32、下列字符中不能构成标识符的是D A. 下划线 B. 大写字母 C. 小写字母 D. 减号 33、下列常量中,以十六进制表示的常量是A A. 0X9a B. 2.5 C. 056 D. 97 34、已知:int i=5,j=6;将i*j的结果输出显示在屏幕上,下列各语句中正确的是C A. cout< D. cout<<'i'<<'*'<<'j'<<'\\n'; 35、已知:int a,&ra=a;关于ra的描述中正确的是C A. ra是int型变量a的地址值 B. a是int型变量ra的地址值 C. ra是int型变量a的引用 D. ra是int型变量a的指针 36、一个函数无返回值时,应选择下列的说明符是B A. int B.void C.const D.extern 37、设有数组定义: char str[]=\则数组array所占的空间为A A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节 38、程序段: int k=0; while(k=1)k++;中的while 循环A A.是死循环 B.有语法错误,不能执行 C.一次也不执行 D.执行1次 39、程序段: int i,sum=0;for(i=1;i<5;i++) sum*=i; 执行后sum的值是D A.120 B.24 C.不确定 D.0 40、对于C++语言的函数,下列叙述中正确的是A A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套 41、C++语言中while和 do-while循环的主要区别是A A. do-while的循环体至少执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 42、关于类中成员函数的描述中,错误的是A A.类中的成员函数只能定义在类体外 B. 类中可以说明一个或多个成员函数 C. 在类体外定义成员函数时,需用类名和作用域运算符加以限定 D. 定义在类体外的成员函数前加inline可成为内联函数 43、关于构造函数特点的描述中,错误的是A A. 定义构造函数必须指出返回值类型 B. 构造函数的名字与该类的类名相同 C. 一个类中可以定义多个构造函数 D. 构造函数是类的成员函数 44、设C++语言中,unsigned char型数据的取值范围为A A. 0--255 B. 0--32767 C. 0--65535 D. 0—2147483647 45、下列描述中不正确的是B A. 字符型数组中可以存放字符串 B. 可以对字符型数组进行整体输入、输出 C. 可以对整型数组进行整体输入、输出 D. 不能在赋值语句中通过赋值运算符\对字符型数组进行整体赋值 46、表示关系“x≤y≤z”的C++语言表达式为A A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z) C. (x<=y<=z) D. (x<=y)&(y<=z) 47、下列运算符中优先级最高的是B A. >= B. + C. || D. == 48、判断char型变量k是否为小写字母的正确表达式为B A. (k>=’a’)||(k<=’z’) B. (k>=’a’)&&(k<=’z’) C. ’a’<=k<=’z’ D. (k>=a)AND(k<=z) 49、执行语句for (i=1;i++<4;);后变量i的值是B A. 3 B. 4 C. 5 D. 不定 50、若用数组名作为函数调用的实参,传递给形参的是D A. 数组第一个元素的值 B. 数组最后一个元素的值 C. 数组中元素的个数 D. 数组的首地址 51、一个C++语言程序是由C A. 若干过程组成 B. 若干子程序组成 C.一个主程序和若干子程序组成 D. 若干函数组成 52、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 x=(i=2,j=8,k=12) A. 2 B. 8 C. 12 D. 22 53、下面是对s的初始化,其中不正确的是B A. char s[5]=”” B. char s[5]=”abcdef”; C. char s[5]={”abc”}; D. char s[5]={’a’,’b’,’c’}; 54、以下对二维数组a的正确说明是A A. int a[2][]; B. float a(2,3); C. double a[2][3]; D. float a(2)(3); 55、定义: char x[]=\则正确的叙述为C A. 数组x和数组y等价 B. 数组x和数组y的长度相同 C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度 56、若有说明:int a[3][4];则对a数组元素的正确引用是A A. a[1][4] B. a[1,2] C. a[1+1][0] D. a(2)(0) 57、说明类中受保护的函数的关键字是 D A. public B. private C. inline D. protected 58、下述不是C++提供的合法的关键字的是B A. swicth B. cher C. case D. default 59、关于类的定义的描述中错误的是 D A. 类中成员有3种访问权限 B. 类中一般包含有成员函数和数据成员 C.类的定义格式分为说明部分和实现部分 D. 成员函数都是公有的,数据成员都是私有的 60、已定义c为字符型变量,则下列语句中正确的是A A. c='97'; B. c=\C. c=97; D. c=\ 61、已知:int a[3];下列给数组元素赋值的表达中,错误的是(B )A. a[0]=44; B. a[3]=33; C. a[1]=11; D. a[2]=22; 62、关于构造函数特点的描述中,错误的是A A.定义构造函数必须指出类型 B.构造函数的名字与该类的类名相同 C.一个类中可以定义0至多个构造函数 D.构造函数是一种成员函数 63、下列运算符中优先级最低的是D A. > B. + C. && D. != 。 64、循环语句for(int i=0,j=10;i=j=10;i++,j--);的循环次数是(C )。 A.0 B.1 C.无限 D.10 65、定义重载函数的条件中,错误的是C A. 参数个数不同 B. 参数类型不同 C. 函数类型不同 D. 参数顺序不同 66、下列各种函数中,不能重载的是D A. 成员函数 B. 非成员函数 C. 构造函数 D. 析构函数 67、以下能对一维数组a进行正确初始化的语句是 C A. int a[10]=(0,0,0,0,0); B. int a[10]={}; C. int a[]={0}; D. int a[10]={10*1}; 68、若有说明语句:char c=’\\72’;则变量c(D) A. 包含一个字符 B. 包含2个字符 C. 包含三个字符 D. 说明不合法,c的值不确定 69、putchar函数可以向终端输出一个C A.单精度值 B.双精度值 C.字符或字符型变量值 D. 结构体 70、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是(C) if (x {z=x;x=y;y=z;} A. x=10,y=20,z=30 B. x=20,y=30,z=30 C. x=20,y=10,z=10; D. x=20,y=30,z=20 71、设有程序段 int k; while (k=0) k=k-1; 则下面描述中正确的是B A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 72、若有说明:int c[5];则对a数组元素的正确引用是C A. c[5] B. c[1.2] C. c[0] D. c(0) 73、C++语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B A. 地址传递 B. 单向值传递 C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式 74、语句while (!E);中的表达式!E等价于 A A. E==0 B. E!=1 C. E!=0 D. E==1 75、一个C++程序的执行是从B A.本程序文件的第一个函数开始,到本程序main函数结束 B. 本程序的main函数开始,到本程序文件的最后一个函数结束 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D. 本程序的main函数开始,到main函数结束 76、下面是对s的初始化,其中不正确的是D A. char s[5]={\B. char s[5]={'a','b','c'}; C. char s[5]=\D. char s[5]=\ 77、在一个C++程序中B A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置 78、C++语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符B A. 必须为下划线 B.必须为字母或下划线 C. 必须为字母 D. 必须为数字 79、以下程序段B x=-1; do { x=x*x;} while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 80、判断char型变量k是否为大写字母的正确表达式是A A. (k>=’A’)&&(k<=’Z’) B. (’A’<=k)||(’Z’>=k) C. ’A’<=k<=’Z’ D. (k>=’A’)&(k<=’Z’) 二、填空题 1、设有说明int a=32,b=1,c=3;则表达式a&&b&&c-3的值为 0 。 2、设有说明int a[3][4];则数组a的行下标的上界是 2 ,数组a总共有 12 个元素。 3、实现函数重载必须满足三个条件之一,它们是参数表中 参数个数 、 参数类型 和不同类型参数的次序不同。 4、内联函数的函数体一般不超过5行,若函数体中出现循环语句和开关语句,则系统将内联函数作为 一般函数 来处理。 5、在对类的对象进行初始化时,系统自动调用的函数是 构造函数 。 6、变量的3个要素是 变量名 、 变量值 和 存储单元 。 7、 C++语言使用定义常变量的修饰符是____const__________。 8、 类型为逻辑型的表达式有关系表达式、_条件表达式___________。 9、 已知:int m=5,&rm=m;则rm的值是:___5______。 10、 在一个函数体内调用另一个函数,称为__外部函数____;函数调用自身,称为 _内部函数_______。 11、 一个C++程序主要由若干个函数组成,其中必不可少的是____主函数___________。 12、若a是int型变量,且a的初值为6,则计算表达式后a的值为__-30_________。 a-=a*a 13、当a=3,b=2,c=1时,表达式f=a>b>c的值是 ____1______。 14、执行下面程序段后,k值是 ___36_________。 k=1;n=263; do {k*=n;n/=10;} while (n);