c++5文档.docx
《c++5文档.docx》由会员分享,可在线阅读,更多相关《c++5文档.docx(22页珍藏版)》请在冰豆网上搜索。
c++5文档
〖第1题〗『填空』(1分)
已知i=5;写出语句a=--i;执行后整型变量a的值是【1】.
答案:
1).4
〖第2题〗『填空』(1分)
为了避免嵌套条件语句的二义性,C++语言规定else与其前面最近的【1】语句配对.
答案:
1).if
〖第3题〗『填空』(1分)
?
?
?
?
若所用变量都已正确定义,请填写以下程序段的输出结果【1】.
?
?
?
?
for(i=1;i<=5;i++);
cout<<"OK"<答案:
1).OK
〖第4题〗『填空』(1分)
有下列程序段,执行后的输出结果是【1】.
inta=3,b=5;
intmax(inta,intb)
{intc;
c=a>b?
a:
b;
returnc;
}
voidmain()
{inta=8;
cout<}
答案:
1).8
〖第5题〗『填空』(1分)
intx=2,y=3,z=4;则表达式x+y>z的值为【1】.
答案:
1).1
〖第6题〗『填空』(1分)
intx=2;z=++x+1;则z的值为【1】.
答案:
1).4
〖第7题〗『填空』(1分)
intx=2,y=3,z=4;则表达式x+(y>!
z)的值为【1】.
答案:
1).3
〖第8题〗『填空』(1分)
表达式18&&53的值是【1】.
答案:
1).1
〖第9题〗『填空』(1分)
在C++程序中使用文件结束后要关闭文件,关闭文件的函数名是【1】.
答案:
1).close
〖第10题〗『填空』(1分)
当一个函数无返回值时,函数的类型应定义为【1】
答案:
1).void
〖第11题〗『填空』(1分)
在C++程序中使用文件前打开文件,打开文件的函数名是【1】.
答案:
1).open
〖第12题〗『填空』(1分)
设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【1】.
答案:
1).2.5
〖第13题〗『填空』(1分)
?
?
?
执行语句charstr[81]="abcdef";后,字符串str结束标志存储在str[【1】]
(在括号内填写下标值)中.
答案:
1).6
〖第14题〗『填空』(1分)
?
?
?
?
执行下列语句后,b的十进制值是【1】.
?
?
?
?
intx=240,y=15,b;
?
?
?
?
charz='A';
b=((x&&y)&&(z<'a'));
答案:
1).1
〖第15题〗『填空』(1分)
cin.get()函数只能接收一个【1】.
答案:
1).字符
〖第16题〗『填空』(1分)
intx=2,y=3,z=4;则表达式x+y>!
z的值为【1】.
答案:
1).1
〖第17题〗『填空』(1分)
intx=y=z=2;x=y==z;则x的值为【1】.
答案:
1).1
〖第18题〗『填空』(1分)
C++语言程序的三种基本结构是:
顺序结构,选择结构,【1】结构.
答案:
1).循环
〖第19题〗『填空』(1分)
设x=2,表达式x>=60==1的值为【1】.
答案:
1).0
〖第20题〗『填空』(1分)
#defineA(n)2*n+1,则表达式A(2+3)的值是【1】
答案:
1).8
〖第1题〗『判断』(1分)
a=(b=4)+(c=6)是一个合法的赋值表达式.
答案:
Y
〖第2题〗『判断』(1分)
数组在使用之前必须先定义.数组定义包括数组的类型、名称、维数及数组中元素的个数.
答案:
Y
〖第3题〗『判断』(1分)
对于函数原型:
intfun(inta,intb=300,intc=200,intd=100);可以使用如下方式调用:
fun(1...
答案:
N
〖第4题〗『判断』(1分)
对象成员的表示方法与结构体变量成员的表示方法相同.
答案:
Y
〖第5题〗『判断』(1分)
一次性输入、输出字符数组时,只写字符数组名.
答案:
Y
〖第6题〗『判断』(1分)
对于函数原型:
intfun(inta,intb=300,intc=200,intd=100);可以使用如下方式调用:
fun(4...
答案:
Y
〖第7题〗『判断』(1分)
类的作用域范围指的是类体内.
答案:
N
〖第8题〗『判断』(1分)
数组只有一个下标,称为一维数组.
答案:
Y
〖第9题〗『判断』(1分)
在c++中实参和形参有3种结合方式,分别为:
值传递、引用传递和地址传递
答案:
Y
〖第10题〗『判断』(1分)
定义输入文件流对象fin方法是:
ofstreamfin;
答案:
N
〖第11题〗『判断』(1分)
inta(5),b(3);a||b结果为1.
答案:
Y
〖第12题〗『判断』(1分)
定义一个输出文件流对象,并打开d盘du文件夹下的abc.dat文件方法是:
ofstreamfout;fout.open...
答案:
Y
〖第13题〗『判断』(1分)
若有#defineS(a,b)a*b则语句area=S(3,2);area的值为6.
答案:
Y
〖第14题〗『判断』(1分)
else语句可以单独作为语句使用,它不一定要if配对使用.
答案:
N
〖第15题〗『判断』(1分)
若i=3,则cout<<-i++;输出的值为-4.
答案:
N
〖第16题〗『判断』(1分)
若有宏定义:
#defineS(a,b)a+b此宏定义是错误的.
答案:
N
〖第17题〗『判断』(1分)
C++中,变量使用时遵循"先定义,后使用"的原则.
答案:
Y
〖第18题〗『判断』(1分)
若函数fc定义如下:
voidfc(char*a,char*b){while(*a++=*b++);}函数fc的功能是串复制.
答案:
Y
〖第19题〗『判断』(1分)
在程序中,常量是可以不经说明而直接引用,而变量则必须先定义后使用.
答案:
Y
〖第20题〗『判断』(1分)
auto是C++语言中的关键字.
答案:
Y
〖第1题〗『单项选择』(1分)
函数重载是指().
A:
两个以上的函数取相同的函数名,但形参的个数或类型不同
B:
两个以上的函数取相同的名字和相同的参数个数,但形参的类型可以不同
C:
两个以上的函数名字不同,但形参的个数或类型相同
D:
两个以上的函数名字、参数的个数和类型都相同
答案:
A
〖第2题〗『单项选择』(1分)
能将高级语言编写的源程序转换为目标程序的是().
A:
链接程序
B:
解释程序
C:
编译程序
D:
编辑程序
答案:
C
〖第3题〗『单项选择』(1分)
编译预处理工作是在()完成的.
A:
编译前
B:
编译时
C:
编译后
D:
连接时
答案:
A
〖第4题〗『单项选择』(1分)
执行下列语句后的结果为().
intx=3,y;
int*px=&x;
y=*px++;
A:
x=3,y=4
B:
x=3,y=3
C:
x=4,y=4
D:
x=3,y不知
答案:
B
〖第5题〗『单项选择』(1分)
假定所有变量均已正确定义,下列程序段运行后x的值是().
k1=1;
k2=2;
k3=3;
x=15;
if(!
k1)x--;
elseif(k2)x=4;
elsex=3;
A:
14
B:
4
C:
15
D:
3
答案:
B
〖第6题〗『单项选择』(1分)
不仅可将C++源程序存在磁盘上,还可将数据按数据类型以什么的
形式存在磁盘上().
A:
内存
B:
缓冲区
C:
文件
D:
寄存器
答案:
C
〖第7题〗『单项选择』(1分)
在C++语言中,要求运算数必须是整型的运算符是().
A:
&&
B:
%
C:
!
D:
>
答案:
B
〖第8题〗『单项选择』(1分)
语句cout<<"a\bre\'hi\'y\\\bou\n";的输出结果是
(说明:
'\b'是退格符)().
A:
a\bre\'hi\'y\\\bou
B:
a\bre\'hi\'y\bou
C:
re'hi'you
D:
abre'hi'y\bou
答案:
C
〖第9题〗『单项选择』(1分)
设j和k都是int类型,则for循环语句
for(j=0,k=0;j<=9&&k!
=876;j++)cin>>k;
A:
最多执行10次
B:
最多执行9次
C:
是无限循环
D:
循环体一次也不执行
答案:
A
〖第10题〗『单项选择』(1分)
以下能正确定义数组并正确赋初值的语句是().
A:
intN=5,b[N][N];
B:
inta[1][2]={{1},{3}};
C:
intc[2][]={{1,2},{3,4}};
D:
intd[3][2]={{1,2},{3,4}};
答案:
D
〖第11题〗『单项选择』(1分)
若有说明:
inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是().
A:
i=*p;
B:
*p=*&j;
C:
i=&j;
D:
i=**p;
答案:
B
〖第12题〗『单项选择』(1分)
判断char型变量cl是否为小写字母的正确表达式是().
A:
a'<=cl<='z'
B:
(cl>=a)&&(cl<=z)
C:
('a'>=cl)||('z'<=cl)
D:
(cl>='a')&&(cl<='z')
答案:
D
〖第13题〗『单项选择』(1分)
以下能对一维数组a进行正确初始化的语句是().
A:
inta[10]=(0,0,0,0,0)
B:
inta[10]={};
C:
inta[]={0};
D:
inta[10]={10*1};
答案:
C
〖第14题〗『单项选择』(1分)
设有说明:
ofstreamoutfile;则执行语句:
outfile.open("data1.txt");后,文件:
data1.txt是一个...
A:
用于输入的文本文件
B:
用于输出的文本文件
C:
用于输入的二进制文件
D:
用于输出的二进制文件
答案:
B
〖第15题〗『单项选择』(1分)
以下运算符中,优先级最高的运算符是().
A:
=
B:
!
=
C:
*(乘号)
D:
()
答案:
D
〖第16题〗『单项选择』(1分)
以下对一维整型数组a的正确说明是().
A:
inta(10);
B:
intn=10,a[n];
C:
intn;cin>>n;inta[n];
D:
#defineSIZE10(换行)inta[SIZE];
答案:
D
〖第17题〗『单项选择』(1分)
若i为整型变量,则以下循环执行次数是().
for(i=2;i==0;)cout<A:
无限次
B:
0次
C:
1次
D:
2次
答案:
B
〖第18题〗『单项选择』(1分)
已定义ch为字符型变量,以下赋值语句中错误的是().
A:
ch='\';
B:
ch=62+3;
C:
ch=NULL;
D:
ch='\xaa';
答案:
A
〖第19题〗『单项选择』(1分)
下列定义不正确的是().
A:
#definePI3.141592
B:
#defineS345
C:
intmax(x,y);intx,y;{}
D:
staticcharc;
答案:
C
〖第20题〗『单项选择』(1分)
如果某类是从另一个类继承来的,对象释放时析构函数的调用顺序是().
A:
不调用基类的析构函数
B:
先调用基类的析构函数,再调用派生类的析构函数
C:
先调用派生类的析构函数,再调用基类的析构函数
D:
不调用派生类的析构函数
答案:
C
〖第21题〗『单项选择』(1分)
设有intx=11;则表达式(x++*1/3)的值是().
A:
3
B:
4
C:
11
D:
12
答案:
A
〖第22题〗『单项选择』(1分)
下列选项中正确的语句组是().
A:
chars[8];s={"Beijing"};
B:
char*s;s={"Beijing"};
C:
chars[8];s="Beijing";
D:
char*s;s="Beijing";
答案:
D
〖第23题〗『单项选择』(1分)
下列字符序列中,可用作C标识符的一组字符序列是().
A:
S.b,sum,average,_above
B:
class,day,lotus_1,2day
C:
#md,&12x,month,student_n!
D:
D56,r_1_2,name,_st_1
答案:
D
〖第24题〗『单项选择』(1分)
下面判断正确的是().
A:
char*a="china";等价于char*a;*a="china";
B:
charstr[10]={"china"};等价于charstr[10];str[]={"china"};
C:
char*s="china";等价于char*s;s="china";
D:
charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]="abc";
答案:
C
〖第25题〗『单项选择』(1分)
以下叙述中不正确的是().
A:
预处理命令行都必须以#号开始
B:
在程序中凡是以#号开始的语句行都是预处理命令行
C:
C++程序在执行过程中对预处理命令行进行处理
D:
以下是正确的宏定义#defineIBM_PC
答案:
C
〖第26题〗『单项选择』(1分)
下列程序的输出结果是().
#includevoidmain(){inta=7,b=5;cout<A:
0
B:
5
C:
1
D:
不确定值
答案:
A
〖第27题〗『单项选择』(1分)
以下不正确的if语句形式是().
A:
if(x>y&&x!
=y);
B:
if(x==y)x+=y;
C:
if(x!
=y)cin>>xelsecin>>y;
D:
if(x答案:
C
〖第28题〗『单项选择』(1分)
以下叙述中不正确的是().
A:
一个好的程序应该有详尽的注释
B:
在C++程序中,赋值运算符的优先级最低
C:
在C++程序中,j++;是一条赋值语句
D:
C++程序中的#include和#define均不是C语句
答案:
B
〖第29题〗『单项选择』(1分)
结构体类型的定义允许嵌套是指().
A:
成员是已经或正在定义的结构体型
B:
成员可以重名
C:
结构体型可以派生
D:
定义多个结构体型
答案:
A
〖第30题〗『单项选择』(1分)
全局变量的定义不可能在().
A:
函数内部
B:
函数外面
C:
文件外面
D:
最后一行
答案:
A
〖第1题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
以下程序的功能:
将s所指字符串的正序和反序进行连接,
形成一个新串放在t所指的数组中。
例如:
当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。
-------------------------------------------------------*/
#include
#include
voidfun(char*s,char*t)
{
inti,d;
/***********SPACE***********/
d=【?
】;
/***********SPACE***********/
for(i=0;i】)t[i]=s[i];
/***********SPACE***********/
for(i=0;i】]=s[d-1-i];
/***********SPACE***********/
t[【?
】]='\0';
}
voidmain()
{
chars[100],t[100];
cout<<"\nPleaseenterstringS:
";
cin.getline(s,sizeofs);
fun(s,t);
cout<<"\nTheresultis:
"<}
答案:
1).strlen(s)
2).i++或i=i+1或i+=1或++i
3).d+i或i+d
4).2*d或d*2或i+d或d+i
〖第2题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
要求输出结果为:
A,B
-------------------------------------------------------*/
#include
voidmain()
/***********SPACE***********/
{chara,【?
】
/***********SPACE***********/
a=【?
】;
b='b';
a=a-32;
/***********SPACE***********/
b=b-【?
】;
cout<}
答案:
1).b;
2).'a'或97
?
3).32
〖第1题〗『程序改错』(8分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
题目:
编写程序,求矩阵(3行3列)与5的乘积
例如,输入下面的矩阵:
100200300
400500600
700800900
程序输出:
50010001500
200025003000
350040004500
--------------------------------------------------------
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
voidfun(intarray[3][3])
{
/**********FOUND**********/
inti;j;
/**********FOUND**********/
for(i=1;i<3;i++)
for(j=0;j<3;j++)
/**********FOUND**********/
array[i][j]=array[i][j]/5;
}
voidmain()
{
inti,j;
intarray[3][3]={{100,200,300},{400,500,600},{700,800,900}};
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
cout<cout<}
fun(array);
cout<<"Convertedarray:
\n";
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
cout<cout<}
}
答案:
1).inti,j;
2).for(i=0;i<3;i++)
3).array[i][j]=array[i][j]*5;
〖第1题〗『程序设计』(6分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
求1至200之间的所有质数,将质数和存入变量sum中。
质数的说明:
“质数是只能被1和其本身整除的数”。
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句。
------------------------------------------------*/
#include
#include
#include
voidwwjt(into);
voidmain()
{
intN,m,sum=0;
N=200;
cout<<"1至200之间的所有质数是:
"</**********Program**********/
/**********End**********/
wwjt(sum);
}
voidwwjt(into)
{
intk;
fstreammyfile;
myfile.open("out.txt",ios:
:
out);
myfile<myfile.close();
}
答案:
----------------------
for(m=2;m<=N;m++)
{
inti,tmp=(int)sqrt(m);
for(i=2;i<=tmp;i++)
if(m%i==0)break;
if(i>tmp)
{
cout<<""<sum+=m;
}
}
------------------