C++习题文档格式.docx
《C++习题文档格式.docx》由会员分享,可在线阅读,更多相关《C++习题文档格式.docx(24页珍藏版)》请在冰点文库上搜索。
该数组可用的最大下标值是【1】.
1).9
〖第13题〗『填空』(1分)
为了避免嵌套条件语句的二义性,C++语言规定else与其前面最近的【1】语句配对.
1).if
〖第14题〗『填空』(1分)
若所用变量都已正确定义,请填写以下程序段的输出结果【1】.
for(i=1;
i<
=5;
i++);
"
OK"
1).OK
〖第15题〗『填空』(1分)
C++中,定义的重载函数必须具有不同参数个数,或不同的参数【1】.
1).类型
〖第16题〗『填空』(1分)
在面向对象程序设计中,将类所说明的变量称为【1】.
1).对象
〖第17题〗『填空』(1分)
在面向对象程序设计中,与构造函数相对应的函数称为【1】函数.
1).析构
〖第18题〗『填空』(1分)
若有说明:
int*p=newint[100],则分配了【1】个字节的内存空间.
1).400
〖第19题〗『填空』(1分)
在C++中,结构体类型及由结构体类型所定义的结构体变量二者中,【1】占内存空间.
1).结构体变量
〖第20题〗『填空』(1分)
已知i=5,写出语句a=(i>
5)?
0:
1;
执行后整型变量a的值是【1】.
〖第1题〗『判断』(1分)
intx,a[10]={0,1,2},*p=a;
x=p[2];
此语句将a[2]赋值给变量x
Y
〖第2题〗『判断』(1分)
关系运算符<
=与==的优先级相同.
N
〖第3题〗『判断』(1分)
continue语句用于while、do-while、for构成的循环中,常与if条件语句一起使用,用来加速循环.
〖第4题〗『判断』(1分)
3%5的值是3
〖第5题〗『判断』(1分)
charch1[]="
student"
ch2[10];
ch2=ch1;
是错误的
〖第6题〗『判断』(1分)
若有inti,*p=&
i;
则语句*p=1000;
是合法的.
〖第7题〗『判断』(1分)
在C++环境下,可以使用Ctrl+F5键运行程序.
〖第8题〗『判断』(1分)
x=5>
2是错误的写法
〖第9题〗『判断』(1分)
若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是2.5.
〖第10题〗『判断』(1分)
else总是与离它最近的if匹配,可以通过使用大括号{}来改变匹配关系.
〖第11题〗『判断』(1分)
用于字符串复制的函数是strcat()
〖第12题〗『判断』(1分)
inta[5]={1,2,3,4,5};
初始化后a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5.
〖第13题〗『判断』(1分)
任何对象都可以使用delete运算符来释放.
〖第14题〗『判断』(1分)
对于函数原型:
intfun(inta,intb=300,intc=200,intd=100);
可以使用如下方式调用:
fun();
〖第15题〗『判断』(1分)
break语句只能出现在switch中.
〖第16题〗『判断』(1分)
C++中,变量使用时遵循"
先定义,后使用"
的原则.
〖第17题〗『判断』(1分)
fun(...
〖第18题〗『判断』(1分)
有定义inta[5]={0,1,2,3,4},*p,i=2;
若执行语句:
p=a;
cout<
*(p+i);
后的输出结果是1.
〖第19题〗『判断』(1分)
成员函数与一般的函数一样可以重载.内联和设置参数的默认值.
〖第20题〗『判断』(1分)
关于函数体:
包括局部变量的声明和可执行代码.
〖第1题〗『单项选择』(1分)
如果a=1,b=2,c=3,d=4,执行表达式a>
b?
a:
c<
d?
c:
d后的结果是().
A:
1
B:
2
C:
3
D:
4
C
〖第2题〗『单项选择』(1分)
下列程序段的输出结果为().
#include<
iostream.h>
voidmain(){floatx=213.82631f;
(int)x;
}
213.82
213.83
213
214
〖第3题〗『单项选择』(1分)
一个C++程序的执行是从().
本程序的main函数开始,到main函数结束
本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
本程序的main函数开始,到本程序文件的最后一个函数结束
本程序文件的第一个函数开始,到本程序main函数结束
A
〖第4题〗『单项选择』(1分)
inta=1,b=2,c=3;
if(a>
b)a=b;
c)a=c;
则a的值为().
不一定
〖第5题〗『单项选择』(1分)
设有定义intn;
执行n='
f'
-'
a'
后,n的值是().
f
a
5
6
〖第6题〗『单项选择』(1分)
C++语言结构体类型变量在程序执行期间().
所有成员一直驻留在内存中
只有一个成员驻留在内存中
部分成员驻留在内存中
没有成员驻留在内存中
〖第7题〗『单项选择』(1分)
设有定义:
intn=0,*p=&
n,**q=&
p;
则以下选项中,正确的赋值语句是().
p=1;
*q=2;
q=p;
*p=5;
D
〖第8题〗『单项选择』(1分)
以下程序的输出结果是().
voidmain(){chars[]="
123"
*p;
p=s;
*p++<
123
321
B
〖第9题〗『单项选择』(1分)
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是().
函数调用可以作为独立的语句存在
函数调用可以作为一个函数的实参
函数调用可以出现在表达式中
函数调用可以作为一个函数的形参
〖第10题〗『单项选择』(1分)
下列的调用方式()是引用调用.
形参和对应的实参都是变量名
形参是指针,对应的实参是地址值
形参是引用,对应的实参是变量名
形参是变量名,对应的实参是地址值
〖第11题〗『单项选择』(1分)
设intx=1,y=1;
表达式(!
x||y--)的值是().
-1
〖第12题〗『单项选择』(1分)
相同结构体类型的变量之间,可以().
相加
赋值
比较大小
地址相同
〖第13题〗『单项选择』(1分)
先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是().
c='
;
c="
a"
97"
C='
97'
〖第14题〗『单项选择』(1分)
charch;
在函数体内出现,在为ch赋值之前,ch的值是().
\0'
不确定
\n'
〖第15题〗『单项选择』(1分)
下列程序运行结果为:
#defineP3#defineS(a)P*a*avoidmain(){intar;
ar=S...
192
29
27
25
〖第16题〗『单项选择』(1分)
以下叙述中不正确的是().
预处理命令行都必须以#号开始
在程序中凡是以#号开始的语句行都是预处理命令行
C++程序在执行过程中对预处理命令行进行处理
以下是正确的宏定义#defineIBM_PC
〖第17题〗『单项选择』(1分)
设C++语言中,int类型数据占4个字节,则long类型数据占().
1个字节
2个字节
4个字节
8个字节
〖第18题〗『单项选择』(1分)
C++语言中,double类型数据占().
〖第19题〗『单项选择』(1分)
求平方根函数的函数名为().
cos
abs
pow
sqrt
〖第20题〗『单项选择』(1分)
下列程序的输出为().
voidmain(){inty=10;
while(y--);
y="
y<
\n"
y=0
while构成无限循环
y=1
y=-1
〖第21题〗『单项选择』(1分)
char*s1="
hello"
*s2;
s2=s1;
则().
s2指向不确定的内存单元
不能访问"
s1;
与cout<
s2;
结果相同
s1不能再指向其它单元
〖第22题〗『单项选择』(1分)
若变量a,i已正确定义,且i已正确赋值,非法的语句是().
a==1
++i;
a=(int)i;
a=int(i);
〖第23题〗『单项选择』(1分)
charstr[10]="
China"
数组元素个数为().
9
10
〖第24题〗『单项选择』(1分)
下面说明不正确的是().
chara[10]="
china"
chara[10],*p=a;
p="
char*a;
a="
chara[10],*p;
p=a="
〖第25题〗『单项选择』(1分)
以下程序段的输出结果为().
charc[]="
abc"
inti=0;
do;
while(c[i++]!
='
);
i-1;
abc
ab
〖第26题〗『单项选择』(1分)
下列对析构函数的描述中,正确的是().
一个类中只能定义一个析构函数
析构函数名与类名不同
析构函数的定义只能在类体内
析构函数可以有一个或多个参数
〖第27题〗『单项选择』(1分)
inta[10];
给数组a的所有元素分别赋值为1、2、3、……的语句是().
for(i=1;
11;
i++)a[i]=i;
i++)a[i-1]=i;
i++)a[i+1]=i;
i++)a[0]=1;
〖第28题〗『单项选择』(1分)
设有说明:
charw;
intx;
floaty;
doublez;
则表达式w*x+z-y
值的数据类型为().
float
char
int
double
〖第29题〗『单项选择』(1分)
下列关于C++语言数据文件的叙述中正确的是().
文件由ASCII码字符序列组成,C++语言只能读写文本文件
文件由二进制数据序列组成,C++语言只能读写二进制文件
文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
〖第30题〗『单项选择』(1分)
以下正确的说法是:
在C++语言中进行值传递时().
实参和与其对应的形参各占用独立的存储单元
实参和与其对应的形参共占用一个存储单元
只有当实参和与其对应的形参同名时才共占用存储单元
形参是虚拟的,不占用存储单元
〖第1题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
输入一个学生的生日(年:
y0、月:
m0、日:
d0),并输
入当前日期(年:
y1、月:
m1、日:
d1)。
求出该学生的
年龄(实足年龄)。
-------------------------------------------------------*/
#include<
{intage,y0,y1,m0,m1,d0,d1;
输入生日日期(年、月、日)"
/***********SPACE***********/
【?
】>
>
y0>
m0>
d0;
输入当前日期(年、月、日)"
cin>
y1>
m1>
d1;
age=y1-y0;
if(m0【?
】m1)age--;
if((m0【?
】m1)&
&
(d0>
d1))age--;
age="
age;
1).cin
2).>
3).==
〖第2题〗『程序填空』(8分)
以下程序的功能是对任一整数N(N≠0),它都可以分解成1
(或-1)和一些质数(素数)因子的形式。
如N=150时,可分
解成1×
2×
3×
5×
5;
N=-150时,可分解为-1×
5。
下边程序能实现这种分解过程。
当N=150,输出以下分解结
果:
N=1*2*3*5*5
intmain()
{
intn,i,r;
cin>
n;
if(n==0)
cout<
"
dataerror"
<
endl;
return-1;
elseif(【?
】)
n=1"
else
n=-1"
n=-n;
for(【?
】;
=n;
i++)
】;
while(r==0)
*"
i;
r=n%i;
return0;
1).n>
0或0<
n
2).i=2
3).r=n%i
4).n=n/i或n/=i
〖第1题〗『程序改错』(8分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
请编写一个函数intfun(intx),它的功能
是:
判断整数x是否是同构数。
若是同购数,
函数返回1;
否则返回0。
所谓“同构数”是指这个数出现在它的平方数
的右边。
例如:
输入整数25,25的平方数是
625,25是625中右侧的数,所以25是同构数。
x的值由主函数从键盘读入,要求不大于1000。
注意:
不可以增加或删除程序行,也不可以更改程序
的结构。
------------------------------------------------------*/
intfun(intx)
/**********FOUND**********/
intk
k=x;
if((k%10==x)&
(k%100==x)&
(k%1000==x))
return1;
intx,y;
\nPleaseenteraintegernumbers:
x;
if(x>
100){cout<
dataerror!
return-1;
y=fun(x);
if(y)cout<
x<
YES\n"
elsecout<
NO\n"
1).intk;
2).k=x*x;
3).if((k%10==x)||(k%100==x)||(k%1000==x))
〖第1题〗『程序设计』(6分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
已知10个数求最大值及最小值以及它们的差.例如
输入8,92,7,8,1,56,37,23,25,26
则输出max=92,min=1,ca=91
部分源程序给出如下。
请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句。
------------------------------------------------*/
fstream.h>
stdio.h>
voidwriteinfile(intmax,intmin,intca)
fstreammyfile;
myfile.open("
f.txt"
ios:
:
out);
myfile<
max<
"
min<
ca<
myfile.close();
inta[]={8,92,7,8,1,56,37,23,25,26},max,min,ca,i;
/**********Program**********/
/**********End**********/
writeinfile(max,min,ca);
----------------------
max=min=a[0];
for(i=0;
10;
{if(a[i]>
max)max=a[i];
if(a[i]<
min)min=a[i];
ca=max-min;
-------