C++试题1_精品文档Word下载.doc
《C++试题1_精品文档Word下载.doc》由会员分享,可在线阅读,更多相关《C++试题1_精品文档Word下载.doc(138页珍藏版)》请在冰豆网上搜索。
"
之后,变量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++语言中,说明函数时要用函数原型,即定义函数时的函数头部分.答案:
第4题 如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。
第5题 switch语句中必须有break语句,否则无法退出switch语句。
第6题 while循环语句的循环体至少执行一次。
第7题 for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。
第8题 运算符的优先级和结合性可以确定表达式的计算顺序.答案:
第9题 使用关键字class定义的类中默认的访问权限是私有(private)的.答案:
第10题 C语言是C++语言的一个子集。
C++语言继承了C语言。
三、单项选择共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<
b?
a:
c<
d?
c:
d的值为(A)
1B:
2C:
3D:
4
第3题执行语句:
for(i=1;
i++<
4;
)后;
变量i的值是(C)
3B:
4C:
5D:
不定
第4题字符型数据在内存中的存储形式是:
【D】
原码B:
补码C:
反码D:
ASCII码
第5题已知a,b均被定义为double型,则表达式:
b=1,a=b+5/2的值为:
【C】
1B:
3C:
3.0D:
3.5
第6题如有inta=11;
则表达式(a++*1/3)的值是【B】
0B:
4D:
12
第7题表达式9!
=10的值为:
非零值B:
trueC:
0D:
1
第8题已知:
inta[]={1,2,3,4,5,6},*p=a;
下面表达式中其值为5的是【D】
p+=3;
*(p++);
B:
p+=5;
*p++;
C:
p+=4;
*++p;
D:
*p++;
第9题C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符__C__.
必须为字母B:
必须为下划线C:
必须为字母或下划线
D:
可以是字母、数字和下划线中任一种字符
第10题如果变量x,y已经正确定义,下列语句(D)不能正确将x,y的值进行交换:
x=x+y;
y=x-y;
x=x-yB:
t=x;
x=y;
y=tC:
t=y;
y=x;
x=tD:
x=t;
y=x
四、程序填空共3题(共计30分)
第1题功能:
在一维数组中统计正数和负数的个数,正数的个数存入
变量C1中,负数的个数存入变量C2中。
-------------------------------------------------------*/
#include<
iostream.h>
voidmain()
{
inta[10]={1,-2,3,4,-5,6,7,8,-9,10};
/***********SPACE***********/
【?
】
for(inti=0;
【?
】;
i++)
if(【?
】>
0)
c1++;
else
【?
cout<
<
c1<
"
<
c2;
}
(答案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题功能:
打印图形
*****
****
***
**
*
charc[6];
inti,j;
for(i=0;
i<
5;
for(【?
】)
c【?
】='
*'
cout<
}}
(答案1)c[5-i]='
\0'
或c[5-i]=0(答案2)j=0;
j<
5-i;
j++
(答案3)[j](答案4)c<
'
\n'
或c<
endl
第3题功能:
求1-10之间所有奇数的和。
【?
k=i=0;
while(【?
{if(【?
k+=i;
【?
}
cout<
(答案1)intk,i;
或inti,k;
=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的所有整数的个数.
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
inta,b,c,d,k,i;
k=0;
for(i=104;
=500;
{
/***********FOUND***********/
a=i%100;
b=(i-a*100)/10;
c=i-a*100-b*10;
}
if(a+b+c<
>
5)k++;
for(i=1000;
=5000;
{a=i/1000;
b=(i-a*1000)/100;
c=(i-A*1000-b*100)/100;
d=i-a*1000-b*100-c*10;
if(a+b+c==5)k++;
k;
(答案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