C++试题库Word下载.docx

上传人:b****5 文档编号:17544043 上传时间:2022-12-07 格式:DOCX 页数:41 大小:28.08KB
下载 相关 举报
C++试题库Word下载.docx_第1页
第1页 / 共41页
C++试题库Word下载.docx_第2页
第2页 / 共41页
C++试题库Word下载.docx_第3页
第3页 / 共41页
C++试题库Word下载.docx_第4页
第4页 / 共41页
C++试题库Word下载.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

C++试题库Word下载.docx

《C++试题库Word下载.docx》由会员分享,可在线阅读,更多相关《C++试题库Word下载.docx(41页珍藏版)》请在冰豆网上搜索。

C++试题库Word下载.docx

(y=c!

=d)后,变量x,y的值分别是:

(A)0,0(B)0,1(C)1,0(D)1,1

14、已知intx=1,y=0;

执行下面程序段后,y的值为(C)。

if(x){if(x>

0)y=1;

}elsey=-1;

(A)-1(B)0(C)1(D)不确定

15、已知intx=1,y=0,w;

执行下面程序段后,w的值为(A)。

if(x)if(y)w=x&

y;

elsew=y;

(A)0(B)-1(C)1(D)不确定

16、语句while(w)„中的表达式w的等价表示是:

(C)

(A)w==0(B)w==1(C)w!

=0(D)w!

=117、语句while(a>

b)a--;

等价于(A)。

C

(A)if(a>

b)a--;

(B)do{a--}while(a>

b);

(C)for(a>

(D)for(;

a>

b;

a--);

18、已知inti=0,x=0;

下面while语句执行时循环次数为(C)。

while(x||i){x++;

i++;

}D

(A)3(B)2(C)1(D)0?

19、执行语句x=1;

while(++x<

7)cout<

<

’*’;

后输出结果是:

(A)

(A)*****(B)******(C)*******(D)********

20、C++中循环语句while和do„while的主要区别是(A)

(A)do„while的循环体至少无条件执行一次

(B)while的循环控制条件和do„while的循环控制条件的控制条件的控制方式是相反的(C)do„while允许从外部转到循环体内,while不允许

(D)while的循环体不能复合语句

21、若有以下程序段:

for(m=1;

m<

=100;

m++)

{

cin>

>

if(y<

0)

continue;

cout<

m;

}

则下面正确的说法是(D)

(A)当y<

0时整个循环结束(B)当y>

=0时什么也不输出(C)cout语句永远也不执行(D)最多输出100个非负整数?

22、语句“while(!

x)„”等价于(A)

(A)while(x==0)„(B)while(x!

=1)„(C)while(x!

=0)„(D)while(x==1)„?

23、一维数组a正确定义是(D)。

(A)chara(10)(B)inta[](C)intk=5,a[k](D)chara[]={„a?

?

b?

c?

}?

24、下面不能够判断字符串S是空串的是(D)

(A)if(S[0]==0)(B)if(strlen(S)==0)

)if(strcmp(S,””)==0)(D)if(S==’\0’)(C

25、charx[5]={„a?

\0?

}输出的结果是(B)

(A)?

a?

(B)ab(C)abc(D)abc

26、设有下面和程序段

chara[3],b[]="

China"

a=b;

a;

则(A)

(A)编译出错(B)运行后将输出Ch(C)运行后将输出Chi(D)运行后将输出Chian?

27、判断字符串s1是否大于字符s2是空串的是(A)

(A)if(strcmp(s1,s2)>

0)(B)if(strcmp(s1,s2))(C)if(strcmp(s2,s1)>

0)(D)if(s1>

s2)

C)。

?

28、下面关于C++字符数组的叙述中,错误的是(

(A)字符数组可以放字符串

(B)字符数组的字符可以整体输入、输出

(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

(D)可以用关系运算符对字符数组比较大小

29、以下对一维数组a的正确定义是(D)

(A)chara(10);

(B)inta[];

(C)intk=5,a[k];

(D)chara[]={‘a’,’b’,’c’};

30、若二维数组y有m列,则位于y[i][j]之前的元素个数有(B)个(A)j*m+i(B)i*m+j(C)i*m+j-1(D)i*m+j+1

31、非数组、指针或引用型变量做实参时,它和对应虚参之间的数据传递方式是(C)

3

(A)地址传递(B)单向值传递(C)双向值传递(D)由用户指定传递方式

32、若有数组名作为函数调用的实参,则传递给虚参的是(A)

(A)数组的首地址(B)数组第1个元素的值

(C)数组中全部元素的值(D)数组元素的个数

33、以下正确的函数原型声明语句是(C)

(A)intfun(inta,b);

(B)floatfun(inta;

intb);

(C)doublefun();

(D)intfun(chara[][]);

34、已有定义“inta=5,&

ra=a;

”则下叙述中,错误的说法是(C)。

(A)ra是变量a的引用(B)ra的值为5

(C)ra是a的地址值(D)执行“ra=10;

”后变量a的值也变为10?

35、若有定义“intc[5],*p=c;

”,则以下对数组c元素地址的正确引用是(D)(A)p+5(B)c++(C)&

c+1(D)&

c[0]

36、设intx=1,y=3,能正确表示代数式3x|x-y|的C++表达式是(A)。

(A)abs(x-y)*3*x(B)3x(abs(x-y))(C)3x||(x-y)(D)3*x*(x-y)||3*x*(y-x)37、有函数原型voidf(int*);

下面选项中,正确的调用是()。

(A)char*s="

ABCD"

;

f(s);

(B)inta=15;

f(a);

(C)intm=100;

f(&

m);

(D)doublepi=3.14;

f(pi);

38、下面关于new和delete运算的叙述中,错误的说法是(C)。

(A)由new分配的内存空间是连续的

(B)如果当前内存无足够的空间可分配,则new运算符返回NULL

(C)由new运算符分配的内存空间,当函数执行结束时系统会自动收回

(D)对于程序中的静态数组占用的存储空间不能使用delete来释放

39、下面判断是否构成重载函数的条件中,错误的判断条件是(D)

(A)参数类型不同(B)参数个数不同(C)参数顺序不同(D)函数返回值不同40、假设a,b是全局变量,下面设置函数参数默认值的函数原型中,错误的是(C)

)intfun(intx,inty=10);

(B)intfun(intx=5,inty=10);

(A

(C)intfun(intx=5,inty);

(D)intfun(intx,inty=a+b);

41、设有定义:

structdata

inti;

charch;

doubleq;

doublef

4

}b;

结构体变量b占用内存的字节数是(C)D

(A)18(B)19(C)20(D)21?

42、关于结构体概念的叙述中,正确的说法是(C)。

(A)相同类型数据的集合称为结构(B)不同类型数据的集合称为结构体(C)数据的集合称为结构体(D)整数的集合称为结构体?

43、设有说明语句

structabc

intm;

floatn;

}stype;

则下面错误的叙述是(B)

(A)struct是定义结构体类型的关键字

(B)stype是结构体类型名

(C)m和n都是结构体成员

(D)stype是结构体变量名

43、对枚举类型ee的定义中,正确的这定义是(A)。

(A)enumee{A,B,C,D};

(B)enumee{‘A’,’B’,’C’,’D’};

(C)enumee={A,B,C,D};

(D)enumee={‘A’,’B’,’C’,’D’};

44、关于同类型结构体与同类型联合体赋值的叙述中,正确的说法是(A)(A)联合体变量之间可以直接赋值,结构体变量之间也可以直接赋值(B)联合体变量之间可以直接赋值,结构体变量之间不可以直接赋值(C)联合体变量之间不可以直接赋值,结构体变量之间可以直接赋值(D)联合体变量之间不可以直接赋值,结构体变量之间也不可以直接赋值?

45、一个结构体变量所占用的内存字节数是(D)

(A)结构体中第一个成员所需的内存字节数

(B)结构体中最后一个成员所需的内存字节数

(C)结构体中占用内存最大的成员所需的字节数

(D)结构体中各成员所需的内存字节数和

46、当定义一个联合体变量时系统分配给它的内存字节数是(C)(A)联合体中第一个成员所需的内存字节数

(B)联合体中最后一个成员所需的内存字节数

(C)联合体中占用内存最大的成员所需的字节数

5

(D)联合体中各成员所需的内存字节数和

47、下面叙述中错误的是(C)。

(A)预处理命令都必须以“#”开始

(B)在程序中凡是以“#”开始的语句行都是预处理命令行(C)C++程序在程序执行过程中对预处理命令进行处理(D)一行只能写一条预处理命令

48、下面表达式组中不等价的一组是(C)

(A)a&

=b与a=&

a(B)a|=b与a=a|b(C)a!

=b与a=a!

b(D)a^=b与a=a^b49、设x=00110101,则下面能使x的高4位取反,低4位不变,则下面能实现此功能的2

是(C)

(A)x=x&

0x0f(B)x=x|0x0f(C)x=x^0360(D)x=x^033

50、设x=00110110,则若想通过x&

y运算使x中的低4位不变,高4位清零,则下面能实2

现此功能的是(B)

(A)x=x|0x0f(B)x=x&

0x0f(C)x=x|0xf0(D)x=x&

0xf0

51、设a和b是两个结构体变量,下面正确的表达式是(A)(A)a=b(B)a=b+1(C)a>

b(D)a==b

52、关于结构体变量运算重载中,正确的单目运算符重载语法格式(B)

(A)函数类型名单目运算符operator(虚参){函数体}(B)函数类型名operator单目运算符(虚参){函数体}(C)函数类型名单目运算符operator(){函数体}(D)函数类型名operator单目运算符(){函数体}53、后缀—运算符的重载函数语法格式如下:

函数类型operator--(虚参,int){函数体}则下面关于第2个虚参的叙述中,正确的说法是(C)(A)第2个参数必须给出参数名称

(B)第2个参数不能给出参数名称

(C)第2个参数必须是int型参数,其参数名可有可无(D)第2个参数也可以是long型参数

54、设分数的结构体定义如下:

structFraction

intnume;

intdeno;

6

};

则下面关于取自身的单目运算符“+”的运算符重载函数中,最合适是(A)。

(A)Fractionoperator+(Fractionx)

{returnx;

(B)Fractionoperator+(Fraction&

x)

(C)voidoperator+(Fractionx)

(D)voidoperator+(Fraction&

55、派生类对象只能访问基类中的(A)

(A)公有继承的公有的成员(B)公有继承的私有成员

(C)公有继承的保护成员(D)私有继承的公有成员56、关于派生类叙述中,错误的说法是(B)

(A)派生类中从基类公有继承过来的分有成员的访问权限不变(B)任何类都有基类

(C)派生类还可作为另一类的基类

(D)基类中的构造函数和析构函数是不可继承的

57、设有类的定义如下:

classAAA

intx;

chars[12];

}ob;

则在VC++环境下,变量ob所占内存空间字节数是(C)字节(A)14(B)15(C)16(D)1758、关于构造函数的叙述中,错误的说法是(B)

(A)构造函数的名称必须为类名

(D)构造函数最多只能有一个

(C)创建对象时自动执行构造函数

(D)构造函数无任何函数类型

59、(A)只能访问静态成员变量

(A)静态成员函数(B)虚函数(C)构造函数(D)析构函数60、C++中类有两种用法,一种是类的实例化,即生成类对象,另一种是通过(B)派生

7

出新的类

(A)复用(B)继承(C)重载(D)封装

二、判断题

1、!

比&

的优先级最低(×

)2、字符型变量不能赋予整数(×

)3、设inta=1,b=2,c=3,d=4;

则条件表达式a<

a:

c<

d?

c:

d的值为3(×

)4、用C++语言编制的源程序要变为目标程序必须要经过编译(?

)5、表达式x=i++和x=++i执行结果x获得不同的结果。

(?

)6、关于switch语句中必须要使用break。

(×

7、设有“intx,a,b,c”,则if(a==b)x++;

是不合法的。

(?

8、用x>

a&

x<

=b描述区间[a,b]的表达式是正确的。

(×

)9、下面程序

m=-1

do

m=m*n;

while(!

m)

是死循环(×

10、for(;

)写法是错误。

)11、在循环语句体中,continue的作用是结束本次循环,回到循环头。

)12、设intx=6;

while(x){循环体},将不执行循环体中语句。

)13、#definen10inta[n],b[n+1]定义数组是合法的。

)14、相同类型的数据的集合称为数组。

15、设有两个数组a[]={‘a‘,’b’,’c’}和b=“abc”相同的。

)16、设有两个数组a[]={‘a‘,’b’,’c’}和b=“abc”用函数strlen()得到的值是相等

8

的(?

)。

17、对二维数组inta[][3]={1,32,45,17,-23,87,36}第一维的值是3(×

)18、数组作为函数的实参传递是单向值传递(×

19、按C++标识符的语法规定,new是合法的标识符(×

)20、int*buffer=newint[256]是分配256个字节。

)21、函数模板参数的类型是通用类型(×

22、构成重载函数的参数类型是不同。

23、设float*p,则p+1是当前地址加float类型的长度(?

24、对结构体中的成员不能用“->

”访问成员。

25、在x构造体中含有y构造体在访问y中的成员的格式是x?

y?

成员名(?

)26、结构体类型定义中可以出现联合体类型的成员,联合体类型中也可以出现结构体类型的成员(?

27、对数据类型int的别名的定义可以是typedefInteger=int;

)28、enumweek{“MON”,“TUE”,“WED”}是错误写法。

)29、文件包含命令不能装入“*cpp”类型的文件。

30、设包含文件在D盘的“ABC”目录中,则指定路径的语法格式是“#include”D:

\ABC\头文件名.h””(?

31、条件编译的作用是根据不同条件进行编译不同程序段,以提高程序的兼容性(×

)32、设x是8位字节的数据,x&

0xf0可对低4位进行清零(?

)33、设对变量intx进行“<

”运算,结果等价x/2。

34、运算符重载函数作用的提高运算符的处理速度。

35、双目运算符重载语法格式是函数类型名operator双目运算符(虚参1,虚参2){函数体}(?

36、可以对类成员变量直接赋值。

)37、设成员函数定义p&

Set(pa)函数返回值是类p的对象的引用。

)38、构造函数释放指针成员占据的内存空间,析构函数给数据成员赋初值。

)39、设AB为一个类,则AB(AB&

x)拷贝构造函数的函数原型。

)40、一个类只能拥有一个对象。

9

三、程序设计

xx,5

2y,3x,2x,15,x,201、求下列分段函数,

xx/5,20,

2、输入1,7之间的数字,输出对应的星期几,要求当用户输入不在1,7的范围要有出错处理的功能。

23、求一元二次方程ax+bx+c=0的两个实根。

4、求s=1,3,5,„,99的和。

5、输出32,126的ASICII码,每个字符与它的编码值相对应。

6、编一程序,显示所有的水仙花数。

所谓水仙花数,是指一个3位数,其各位数字立方和

333等于该数字本身。

例如153是水仙花数,因为153,1+5+3。

1111111,4s,1,,,,,,,,?

7、计算当第i项的值,10时结束。

(提示:

24711162229

找出表达式的通项公式,是解此题的关键。

8、设有数组a中有10个有序的整型元素,写出折半查找算法函数,查找到返加1,否则返回-1。

不用写主函数。

9、设有整型数组a有10个无序的元素,写选择排序算法程序函数,不用写主函数10、在已有序的数组中插入数x。

11、在已有序的数组中删除数x。

12、求两个矩阵的和C,A,B。

13、求两个矩阵乘积C,A×

B,C,B×

A。

14、将矩阵转置。

15、输出输入一个小于10的正整数n显示具有n行的杨辉三角形

提示:

定义二维数组a[i][j],杨辉三角形的形成特点是第1例(下标为0)和主角对角线均为1,其余为1,关系式:

a[i][j]=a[i-1][j-1]+a[i-1][j]i=2,3,4„,n-1j=1,2,3„,j-116、编一函数,将字符串s中的字符c1用字符c2替换,并加以调用。

函数形式:

voidreplace(chars[],charc1,charc2);

17、编写一函数,由实参传来一个字符串,统计此字符串字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出结果。

18、有10个学生成绩,求平均分、最低分、最高分并排序,要求写四个函数并由主函数调用。

19、编写函数求三个数最大和最小值,函数的参数分别为整数、双精度

(1)用函数重载

(2)用模板函数。

20、设有字符串s1,s2编写函数求

(1)比较两个字符串的大小

(2)将s1中第一个与s2不相同字符的地址

10

(3)将s2连接到s1的后面。

21、编写一个对具有n个元素的数组x[]求最大值的程序,要求将求最大值的函数设计成函

数模板。

22、设计一个点类(Point),具有数据成员x、y(点的坐标),以及设置、输出数据成员及

求两点之间距离的功能。

23、设计一个楼房类(building),包含楼的长、宽、层数及每平方法单价等数据成员,并具

有求楼房的面积及总价等功能。

24、设计一个字符类要求:

(1)输入输出字符串的功能

(2)计算字符串长度

(3)连接两字符串。

C++阅读分析题

1.#include<

iostream.h>

voidmain()

charc=?

m?

intd=5;

"

d="

d<

"

cout<

c="

c;

请写出输出结果。

答案:

d=5,c=m

2.#include"

iostream.h"

intx,y,z;

x=2/4*7;

y=2/4*7.0;

z=int(2/4.0*7);

x="

y="

y<

z="

z<

endl;

11

x=0y=0z=3

3.#include"

x=3;

y=++x;

z=x;

x=4y

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1