哈理工C++考试题库之10(可直接的打印的)Word文档格式.doc
《哈理工C++考试题库之10(可直接的打印的)Word文档格式.doc》由会员分享,可在线阅读,更多相关《哈理工C++考试题库之10(可直接的打印的)Word文档格式.doc(6页珍藏版)》请在冰点文库上搜索。
![哈理工C++考试题库之10(可直接的打印的)Word文档格式.doc](https://file1.bingdoc.com/fileroot1/2023-5/7/969f6371-b6f3-47d8-8a25-9026b8d287dc/969f6371-b6f3-47d8-8a25-9026b8d287dc1.gif)
当a=3,b=2,c=1;
时,执行以下程序段后c=【1】.
if(a>
b)a=b;
if(b>
c)b=c;
elsec=b;
c=a;
〖第12题〗『填空』(1分)
若有说明:
int*p=newint[100],则分配了【1】个字节的内存空间.
1).400
〖第13题〗『填空』(1分)
在面向对象程序设计中,若在类外定义公有成员函数,则在函数类型前加上类名和作用域符【1】.
1).:
:
〖第14题〗『填空』(1分)
设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【1】.
for(i=0,j=10;
i<
=j;
i++,j--)
k=i+j;
1).10
〖第15题〗『填空』(1分)
以下程序段要求从键盘输入字符,当输入字母为'
Y'
时,执行循环体,则在括号内填写.
#include"
iostream.h"
main()
{charch=cin.get();
while(ch【1】'
)/*在括号中填写*/
ch=cin.get();
}
1).==
〖第16题〗『填空』(1分)
下列程序段的输出结果是【1】.
intsub(intx=100,inty=200);
voidmain()
{inta(30),b(50);
cout<
sub(a,10)<
intsub(intx,inty){returnx-y;
}
〖第17题〗『填空』(1分)
intx=2,y=3,z=4;
则表达式x+y>
z&
&
y==z的值为【1】.
〖第18题〗『填空』(1分)
在C++中,结构体类型及由结构体类型所定义的结构体变量二者中,【1】占内存空间.
1).结构体变量
〖第19题〗『填空』(1分)
设x=72,表达式x=(x>
=60)的值为【1】.
1).1
〖第20题〗『填空』(1分)
设(k=a=5,b=3,a*b),则k值为【1】.
1).5
〖第1题〗『判断』(1分)
charch[8]="
student"
cout<
strlen(ch);
结果为8.
N
〖第2题〗『判断』(1分)
一维字符数组的输入:
charstr[22];
cin>
>
str;
Y
〖第3题〗『判断』(1分)
字符数组中每一个元素可存放一个字符,而字符指针变量存放字符串首地址.
〖第4题〗『判断』(1分)
break语句只能用在循环语句中.
〖第5题〗『判断』(1分)
inta[5]={1,2,3,4,5};
初始化后a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5.
〖第6题〗『判断』(1分)
intx,a[10]={0,1,2},*p=a;
x=p[2];
此语句将a[2]赋值给变量x
〖第7题〗『判断』(1分)
转义字符'
\t'
表示换行.
〖第8题〗『判断』(1分)
数组在使用之前必须先定义.数组定义包括数组的类型、名称、维数及数组中元素的个数.
〖第9题〗『判断』(1分)
一个函数可以调用其他函数,也可以调用该函数本身,我们将后者称之为函数的递归调用.
〖第10题〗『判断』(1分)
a=(b=4)+(c=6)是一个合法的赋值表达式.
〖第11题〗『判断』(1分)
包含空格的字符数组输入时,常常使用C++的cin.getline()函数实现.
〖第12题〗『判断』(1分)
inta[10]={0,1,2,3};
int*p;
p=a;
此语句将数组a的首地址赋给指针变量p
〖第13题〗『判断』(1分)
由于函数的递归调用函数是在调用自己,因此在递归调用中必须有方法避免函数无休止运行.
〖第14题〗『判断』(1分)
表达x>
20或x<
-10的C++语言表达式是:
x>
20|x<
-10
〖第15题〗『判断』(1分)
初值个数多于定义的数组元素个数时,会产生编译错误.
〖第16题〗『判断』(1分)
关闭文件可以使用成员函数close();
〖第17题〗『判断』(1分)
int*p=null;
是正确的定义.
〖第18题〗『判断』(1分)
同一程序中局部变量和全局变量不可以同名.
〖第19题〗『判断』(1分)
数组名遵循变量的命名规则,它代表数组的首地址.
〖第20题〗『判断』(1分)
3%5的值是3
〖第1题〗『单项选择』(1分)
设有数组定义:
chararray[]="
China"
则数组array所占的
空间为().
A:
4个字节
B:
5个字节
C:
6个字节
D:
7个字节
C
〖第2题〗『单项选择』(1分)
变量的指针,其含义是指该变量的().
值
地址
名
一个标志
B
〖第3题〗『单项选择』(1分)
以下不是无限循环的语句为().
for(y=0,x=1;
++y;
x=i++)i=x;
for(;
x++=i);
while
(1){x++;
for(i=10;
i--)sum+=i;
A
〖第4题〗『单项选择』(1分)
若有inti=3,*p;
p=&
i;
下列语句中输出结果为3的是().
p;
*i;
*p;
〖第5题〗『单项选择』(1分)
inta[10];
则对a数组元素的正确引用是().
a[10]
a[3,5]
a(5)
a[10-10]
D
〖第6题〗『单项选择』(1分)
int*p1,*p2,m=5,n;
以下均是正确赋值语句的选项是().
p1=&
m;
p2=&
p1
n;
*p1=p2;
p2=p1;
*p2=*p1;
〖第7题〗『单项选择』(1分)
以下数值中,不正确的八进制数或十六进制数是().
0x16
16
098
0xaaaa
〖第8题〗『单项选择』(1分)
以下运算符中,优先级最高的运算符是().
?
++
〖第9题〗『单项选择』(1分)
在C++语言中,引用数组元素时,其数组下标的数据类型允许是().
整型常量
整型表达式
整型常量或整型表达式
任何类型的表达式
〖第10题〗『单项选择』(1分)
下列说法中错误的是().
构造函数没有类型
创建对象时构造函数自动被调用
在一个类中,只能定义一个构造函数
构造函数的函数名与类同名
〖第11题〗『单项选择』(1分)
设j和k都是int类型,则for循环语句
for(j=0,k=-1;
k=1;
j++,k++)cout<
****\n"
循环结束的条件不合法
是无限循环
循环体一次也不执行
循环体只执行一次
〖第12题〗『单项选择』(1分)
以下选项中,与k=n++完全等价的表达式是().
k=n,n=n+1
n=n+1,k=n
k=++n
k+=n+1
〖第13题〗『单项选择』(1分)
下列运算符中,不属于关系运算符的是().
=
!
〖第14题〗『单项选择』(1分)
以下叙述中不正确的是().
预处理命令行都必须以#号开始
在程序中凡是以#号开始的语句行都是预处理命令行
C++程序在执行过程中对预处理命令行进行处理
以下是正确的宏定义#defineIBM_PC
〖第15题〗『单项选择』(1分)
若给定条件表达式(M)?
(a++):
(a--),则其中表达式M().
和(M==0)等价
和(M==1)等价
和(M!
=0)等价
=1)等价
〖第16题〗『单项选择』(1分)
若有说明语句:
charc='
\72'
则变量c().
包含1个字符
包含2个字符
包含3个字符
说明不合法,c的值不确定
〖第17题〗『单项选择』(1分)
以下正确的说法是().
用户若需调用标准库函数,调用前必须重新定义
用户可以重新定义标准库函数,若如此,该函数将失去原有含义
系统根本不允许用户重新定义标准库函数
用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系..
〖第18题〗『单项选择』(1分)
若有以下的定义:
intt[3][2];
能正确表示t数组元素地址的表达式是().
t[3][2]
t[3]
t[1]
t[2]
〖第19题〗『单项选择』(1分)
若希望当A的值为奇数时,表达式的值为"
真"
A的值为偶数时,表达
式的值为"
假"
则以下不能满足要求的表达式是().
A%2==1
(A%2==0)
(A%2)
A%2
〖第20题〗『单项选择』(1分)
给数组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;
〖第21题〗『单项选择』(1分)
以下叙述中正确的是().
C++程序中注释部分可以出现在程序中任意合适的地方
花括号"
{"
和"
}"
只能作为函数体的定界符
构成C++程序的基本单位是函数,所有函数名都可以由用户命名
分号是C语句之间的分隔符,不是语句的一部分
〖第22题〗『单项选择』(1分)
以下不正确的if语句形式是().
if(x>
y&
x!
=y);
if(x==y)x+=y;
if(x!
=y)cin>
xelsecin>
y;
if(x<
y){x++;
y++;
〖第23题〗『单项选择』(1分)
下列定义数组的语句中不正确的是().
inta[2][3]={1,2,3,4,5,6};
inta[2][3]={{1},{4,5}};
inta[][3]={{1},{4}};
inta[][]={{1,2,3},{4,5,6}};
〖第24题〗『单项选择』(1分)
在C++语言中,形参的缺省存储类型是().
auto
register
static
extern
〖第25题〗『单项选择』(1分)
cin和cout是I/O流库预定义的().
类
包含文件
对象
常量
〖第26题〗『单项选择』(1分)
下列各m的值中,能使m%3==2&
m%5==3&
m%7==2为真的是().
8
23
17
6
〖第27题〗『单项选择』(1分)
C++语言中要求对变量作强制定义的主要理由是().
便于移植
便于写文件
便于编辑预处理程序的处理
便于确定类型和分配空间
〖第28题〗『单项选择』(1分)
以下数据中,不正确的数值或字符常量是().
5L
o13
9861
〖第29题〗『单项选择』(1分)
下列叙述中正确的是().
C++语言编译时不检查语法
C++语言的子程序有过程和函数两种
C++语言的函数可以嵌套定义
C++语言默认的函数都是外部函数
〖第30题〗『单项选择』(1分)
下列字符序列中,是C++语言关键字的是().
sizeof
printf
cin
sqrt
〖第1题〗『程序填空』(8分)
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
下面的程序是求1!
+3!
+5!
+……+n!
的和,程序中有4个
空,填空使程序完整。
-------------------------------------------------------*/
#include<
iostream.h>
{
longintf,s;
inti,j,n;
/***********SPACE***********/
【?
】
cin>
n;
for(i=1;
=n;
【?
】)
{
f=1;
for(j=1;
】;
j++)
【?
s=s+f;
}
cout<
"
n="
<
n<
s="
s<
endl;
1).s=0;
2).i+=2或i=i+2或i++,i++
3).j<
=i或i>
=j或j<
i+1或i+1>
j
4).f=★f★*★j★;
〖第2题〗『程序填空』(8分)
以下程序的功能是以每行5个数来输出300以内能被7或17
整除的偶数,并求出其和。
inti,n,sum;
sum=0;
】;
i++)
if(【?
】)
if(i%2==0)
{sum=sum+i;
n++;
cout<
i<
'
if(【?
】)cout<
}
\ntotal="
sum;
1).n=0;
2).i<
=300或i<
300或300>
=i或300>
i
3).★i%7★==★0★||★i%17★==★0或!
(i%7)||!
(i%17)或!
(i%17)||!
(i%7)或!
(i...
4).★n%5★==★0或!
(n%5)
〖第1题〗『程序改错』(8分)
/*------------------------------------------------------
【程序改错】
--------------------------------------------------------
函数fun的功能是:
实现交换两个整数的值。
例如给a和b
分别输入3和6,输出为a=6b=3
请改正程序中的4个错误,使它能得出正确的结果。
注意:
不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
/**********FOUND**********/
voidfun(inta,b)
{
intt;
t=a;
a=b;
b=t;
inta,b;
cout<
enterab:
cin>
a>
b;
fun(&
a,&
b);
a="
a<
b="
b<
1).voidfun(int*a,int*b)
2).t=*a;
3).*a=*b;
4).*b=t;
〖第1题〗『程序设计』(6分)
/*------------------------------------------------
【程序设计】
--------------------------------------------------
利用顺序排序法将10个数按降序排列
部分源程序给出如下。
请勿改动主函数main和其它
函数中的任何内容,仅在函数的花括号中填入所编
写的若干语句。
------------------------------------------------*/
#include<
fstream.h>
stdio.h>
voidwriteinfile(intn[])
intk;
fstreammyfile;
myfile.open("
f.txt"
ios:
out);
for(k=0;
k<
10;
k++)
myfile<
n[k]<
myfile.close();
intn[10]={5,6,4,2,3,7,8,5,6,7},i,j,k;
/**********Program**********/
/**********End**********/
writeinfile(n);
----------------------
for(i=0;
9;
for(j=i+1;
j<
if(n[i]<
n[j])
{k=n[j];
n[j]=n[i];
n[i]=k;