C++试题1_精品文档.doc

上传人:b****1 文档编号:209392 上传时间:2022-10-06 格式:DOC 页数:138 大小:512.50KB
下载 相关 举报
C++试题1_精品文档.doc_第1页
第1页 / 共138页
C++试题1_精品文档.doc_第2页
第2页 / 共138页
C++试题1_精品文档.doc_第3页
第3页 / 共138页
C++试题1_精品文档.doc_第4页
第4页 / 共138页
C++试题1_精品文档.doc_第5页
第5页 / 共138页
点击查看更多>>
下载资源
资源描述

C++试题1_精品文档.doc

《C++试题1_精品文档.doc》由会员分享,可在线阅读,更多相关《C++试题1_精品文档.doc(138页珍藏版)》请在冰豆网上搜索。

C++试题1_精品文档.doc

所属语言:

C++ 试卷总分:

100分 共有题型:

6种

一、填空共7题(共计20分)

第1题若a为int类型的变量,表达式a=1,a+5,a++的值为【1】

第2题与!

(x>2)等价的表达式是【x<=2或(x>2)==0】

第4题x*=y+8等价于【x=x*(y+8)或x=(y+8)*x】

第5题C++语言具有面向对象方法中要求的三大特性:

【封装】性、继承性和【多态】性。

第6题C++语言的参数传值传递机制包括传数值和【传地址】两种。

第7题若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是【0】,a[2][1]得到的初值是【6】.

第1题若a为double类型的变量,表达式a=1,a+5,a++的值为【1.0或1.00或1.000或1.0000或1.00000】

第2题表达式7.5+1/2+45%10=【12.5】

第3题赋值运算符的结合性是由【右】至【左】

第4题已知:

char*s="hello";执行语句"for(inti=0;*s++;i++);"之后,变量i的结果是【5】

第5题在C++语言结构化程序中,【函数】是程序的基本组成单元;在C++语言的面向对象设计框架中,【类】是程序的基本组成单元。

第6题C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【传地址或传址】方式。

第7题字符串"ab\n\\012\\\""的长度是【9】。

第8题若有以下定义,则执行表达式y+=y-=m*=y后的y值是【-16】.intm=5,y=2;

第9题若a是int型变量,则执行a=25/3%3表达式后a的值为【2】.

第10题若有定义:

charc='\010';则变量c中包含的字符个数为【1】.

第11题已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为【f】.

第12题若有定义:

doublex[3][5];则x数组中行下标的下限为【0】,列下标的上限为【4】.

第13题表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为【整型或int】.

第14题假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即:

把b中的值给a,把c中的值给b,把a中的值的给c.例如:

交换前,a=10,b=20,c=30;交换后,a=20,b=30,c=10.请填空.

【1】;a=b;b=c;【2】;答案1t=a答案2c=t

第15题使用关键字inline说明的函数称为【内联】函数,

具有相同函数名但具有不同实现的函数称为【重载】函数。

第17题C++中任何一个数组的名字是一个【常量】指针,该指针的值是该数组第一个数组元素的地址.

第18题运行时的多态性是通过继承和【虚函数】来实现的.用【virtual】声明的函数称为虚函数.

第19题C++中使用关键字【operator】引出重载运算符函数的定义.

第20题类继承中,缺省的继承方式是【私有派生或私有或私有继承或private】.

二、判断共10题(共计10分)

第1题 字符串常量与字符常量的区别仅表现在定义形式上的不同,一个用双撇号,另一个用单撇号。

答案:

N

第2题 数组元素可以用下标表示,也可以用指针表示。

答案:

Y

第3题 在C++语言中,说明函数时要用函数原型,即定义函数时的函数头部分.答案:

Y

第4题 如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。

答案:

Y

第5题 switch语句中必须有break语句,否则无法退出switch语句。

答案:

N

第6题 while循环语句的循环体至少执行一次。

答案:

N

第7题 for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。

答案:

N

第8题 运算符的优先级和结合性可以确定表达式的计算顺序.答案:

Y

第9题 使用关键字class定义的类中默认的访问权限是私有(private)的.答案:

第10题 C语言是C++语言的一个子集。

C++语言继承了C语言。

答案:

Y

三、单项选择共10题(共计20分)

第1题若有说明:

inta[10];则对a数组元素的正确引用是__D__

A:

a[10]B:

a[3.5]C:

a(5)D:

a[10-10]

第2题若整型变量a、b、c、d中的值依次为:

1、4、3、2.则条件表达式a

a:

c

c:

d的值为(A)

A:

1B:

2C:

3D:

4

第3题执行语句:

for(i=1;i++<4;)后;变量i的值是(C)

A:

3B:

4C:

5D:

不定

第4题字符型数据在内存中的存储形式是:

【D】

A:

原码B:

补码C:

反码D:

ASCII码

第5题已知a,b均被定义为double型,则表达式:

b=1,a=b+5/2的值为:

【C】

A:

1B:

3C:

3.0D:

3.5

第6题如有inta=11;则表达式(a++*1/3)的值是【B】

A:

0B:

3C:

4D:

12

第7题表达式9!

=10的值为:

【D】

A:

非零值B:

trueC:

0D:

1

第8题已知:

inta[]={1,2,3,4,5,6},*p=a;下面表达式中其值为5的是【D】

A:

p+=3;*(p++);B:

p+=5;*p++;C:

p+=4;*++p;D:

p+=4;*p++;

第9题C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符__C__.

A:

必须为字母B:

必须为下划线C:

必须为字母或下划线

D:

可以是字母、数字和下划线中任一种字符

第10题如果变量x,y已经正确定义,下列语句(D)不能正确将x,y的值进行交换:

A:

x=x+y;y=x-y;x=x-yB:

t=x;x=y;y=tC:

t=y;y=x;x=tD:

x=t;t=y;y=x

四、程序填空共3题(共计30分)

第1题功能:

在一维数组中统计正数和负数的个数,正数的个数存入

变量C1中,负数的个数存入变量C2中。

-------------------------------------------------------*/

#include

voidmain()

{

inta[10]={1,-2,3,4,-5,6,7,8,-9,10};

/***********SPACE***********/

【?

/***********SPACE***********/

for(inti=0;【?

】;i++)

/***********SPACE***********/

if(【?

】>0)

c1++;

else

/***********SPACE***********/

【?

cout<

}

(答案1)intc1=0,c2=0;或intc1=c2=0; (答案2)i<10或i<=9

(答案3)a[i] (答案4)c2++;或c2=c2+1;或++c2;或c2+=1;

第2题功能:

打印图形

*****

****

***

**

*

-------------------------------------------------------*/

#include

voidmain()

{

charc[6];inti,j;

for(i=0;i<5;i++)

{

/***********SPACE***********/

【?

】;

/***********SPACE***********/

for(【?

】)

/***********SPACE***********/

c【?

】='*';

/***********SPACE***********/

cout<<【?

】;}}

(答案1)c[5-i]='\0'或c[5-i]=0(答案2)j=0;j<5-i;j++

(答案3)[j](答案4)c<<'\n'或c<

第3题功能:

求1-10之间所有奇数的和。

-------------------------------------------------------*/

#include

voidmain()

{

/***********SPACE***********/

【?

k=i=0;

/***********SPACE***********/

while(【?

】)

/***********SPACE***********/

{if(【?

】)

k+=i;

/***********SPACE***********/

【?

}

/***********SPACE***********/

cout<<【?

】;

}

(答案1)intk,i;或inti,k; (答案2)i<10或i<=9或i<=10或i<11

(答案3)i%2==1或i%2!

=0 (答案4)i++;或i=i+1;或++i; (答案5)k

五、程序改错共1题(共计10分)

第1题题目:

在[100,5000]之间打印出各位数字和为5的所有整数的个数.

--------------------------------------------------------

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include

voidmain()

{

inta,b,c,d,k,i;

k=0;

for(i=104;i<=500;i++)

{

/***********FOUND***********/

a=i%100;

b=(i-a*100)/10;

c=i-a*100-b*10;

}

/***********FOUND***********/

if(a+b+c<>5)k++;

for(i=1000;i<=5000;i++)

{a=i/1000;

b=(i-a*1000)/100;

/***********FOUND***********/

c=(i-A*1000-b*100)/100;

d=i-a*1000-b*100-c*10;

/***********FOUND***********/

if(a+b+c==5)k++;

}

cout<

}

(答案1)a=i/100; (答案2)if(a+b+c==5)k++;

(答案3)c=(i-a*1000-b*100)/10; (答案4)if(a+b+c+d==5)k++;

六、程序设计共1

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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