c++大一模拟试题带答案Word格式文档下载.docx
- 文档编号:22579100
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:16
- 大小:19.66KB
c++大一模拟试题带答案Word格式文档下载.docx
《c++大一模拟试题带答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++大一模拟试题带答案Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
if(i%2==0)cout<
'
*'
;
}
执行这个程序段输出字符*的个数是()。
A、10B、3 C、4D、5
7.有如下程序
#include<
iostream>
usingnamespacestd;
int
func(int
a,int
b)
{
return(a+b);
}
main()
int
x=2,y=5,z=8,r;
r=func(func(x,y),z);
cout<
r;
return0;
该程序的输出的结果是
()
A、12
B、13
C、14
D、15
8.执行语句序列
intn;
cin>
>
n;
switch(n)
{case1:
case2:
cout<
1'
case3:
case4:
2'
break;
default:
3'
}
时,若键盘输入1,则屏幕显示()。
A、1B、2C、3D、12
9.若二维数组a有m列,则在a[i][j]之前的元素个数为()。
A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+1
10.语句的int*p=&
k定义于指针P,于这个语句等效的语句序列是()。
A、int*p;
p=&
k;
B、int*p;
p=k;
C、int*p;
*p=&
D、int*p;
*p=k;
11.已知:
intm=10;
在下列定义引用的语句中,正确的是()。
A、int&
x=m;
B、inty=&
m;
C、int&
z;
D、int&
t=&
12、有如下程序段
inti=0,j=1;
int&r=i;
//①
r=j;
//②
int*p=&i;
//③
*p=&r;
//④
其中会产生编译错误的语句是()。
A、④B、③C、②D、①
13.在函数中,可以用auto,extem,register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。
A、autoB、extemC、registerD、static
14.已知数组arr的定义如下:
()。
intarr[5]={1,2,3,4,5};
下列语句中输出结果不是2的是
A、cout<
*arr+1<
endl;
B、cout<
*(arr+1)<
C、cout<
arr[1]<
D、cout<
*arr<
15.在类声明中,紧跟在“public:
”后声明的成员的访问权限是()。
A、私有B、公有C、保护D、默认
二、改错题(每题有几处错误,在错误处画线,并写出正确语句。
每找对1个错误,加1分,每修改正确1个错误,再加1分。
共3小题,共16分)
1.#include<
constfloatpi=3.1416;
constfloatr=3.2;
intmain(){
floats1;
r=2.8;
c1=pi*r*r;
s1=2*pi*r;
c1<
s1<
}
2.下列程序功能是求x的y次方(缺省是x的2次方)
double
fun(double
x,double
y)
{int
i;
double
s=1;
for(i=0//i=1;
i<
y;
i++)
s=s*x;
return
s;
main()
{
x=2.5,y=3;
cout<
"
pow(2.5,2):
fun(x,2)<
pow(2.5,3):
fun(x,y)<
return0;
3.将一维数组按升序排列。
#include
iostream>
void
sort
(
*p,int
n)
i,j,temp;
for
(i=0;
n-1;
(j=i+1;
j<
n;
j++)
if
(p[i]<
p[j])
temp=p[i];
p[i]=p[j];
p[j]=temp;
main(
void)
{
a1[6]={1,3,2,5,4,6},*pi,i;
pi=a1//pi=a1[0];
sort
(pi,6);
for
6;
a1[i]<
'
\t'
三、程序理解分析题(分析下列程序代码,并写出程序的输出结果,共4小题,每题4分,共16分)
1.#include<
intmain()
{
intsum;
for(inti=0;
i<
i+=3)
{
sum=i;
for(intj=i;
j<
j++)
sum+=j;
}
sum<
end1;
2.#include<
inti=5;
int&
r=i;
r=7;
i<
endl;
3.#include<
chara[]="
abcdabcabfgacd"
inti1=0,i2=0,i=0;
while(a[i]!
\0'
)
{if(a[i]=='
a'
i1++;
if(a[i]=='
b'
i2++;
i1="
i1<
i2="
i2<
4.#include<
inta=200;
voids()
{staticinta=20;
a++;
a<
"
{inti;
for(i=1;
=2;
i++)
{a++;
s();
四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能。
每空3分,共6个空,总共18分)
1、求三个数中的最大值和最小值。
#include<
voidmaxmin(inta,intb,intc,int&
m,int&
n)
{intt;
if(a<
b){t=a;
a=b;
b=t;
c){t=a;
a=c;
c=t;
if(b<
c){t=b;
b=c;
_______m_____=a;
/*第一空*/
_____n______=c;
/*第二空*/
}
intmain()
{inta,b,c,max,min;
Pleaseinputabc:
cin>
a>
b>
c;
maxmin(a,b,c,max,_______min______);
/*第三空*/
a="
b="
b<
c="
c<
max="
max<
min="
min<
2.以下程序的功能是输出二维数组中最大值所在行内最小元素的值。
intfun(inta[4][5])
{inti,j,m=0,n=0,min;
for(i=0;
4;
i++)
for(j=0;
5;
j++)
if(a[m][n]<
a[i][j])
{________m=i_________/*第一空*/
n=j;
}
_____min=a[m][0]____________/*第二空*/
for(j=1;
if(min>
a[m][j])
_____min=a[m][j]____________/*第三空*/
returnmin;
{inti,j,min;
inta[4][5]={{2,3,6,4,1},{25,54,23,28,26},
{7,9,15,20,35},{67,18,30,88,38}};
for(i=0;
{for(j=0;
cout<
a[i][j]<
"
min=fun(a);
min;
五、程序设计题(根据功能要求,编写程序,实现其功能,2题,每题10分,共20分)
1.请编写一个函数longsum(intn),用递归函数完成运算:
sum(n)=1*1+2*2+…+n*n,递归表达式为sum(n)=sum(n-1)+n2。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
longsum(intn)
intsum=0;
while(n>
0)
{sum+=n*n;
n--;
returnsum;
intmain()
intn;
输入n:
结果为:
sum(n)<
2.请编写函数fun(),该函数的功能是判断字符串是否为回文,若是则函数返回1,主函数中输出YES;
否则返回0,主函数中输出NO。
回文是指顺读和倒读都一样的字符串。
例如:
字符串LEVEL是回文,而字符串123312就不是回文。
请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。
usingnamespacestd;
#defineN80
intfun(char*str)
}
chars[N];
Enterastring:
gets(s);
\n\n"
puts(s);
if(fun(s))
YES\n"
else
NO\n"
参考答案及评分标准
1.D2.C3.D4.D5.C6.C7、D8.D9.B10.A
11.A12、A13.A14.D15.B
1.答案:
#include<
floats1,c1;
//r=2.8;
2.答案:
doublefun(doublex,doubley)
doubles=1;
=y;
i++)
returns;
intmain()
{doublex=2.5,y=3;
3.答案:
voidsort(intp[],intn)
{inti,j,temp;
for(j=i;
j++)
if(p[i]>
p[j])
{temp=p[i];
intmain(void)
{inta1[6]={1,3,2,5,4,6},*pi,i;
pi=a1;
sort(pi,6);
i++)cout<
三、程序理解分析题(分析下列程序代码,并在程序右侧写出程序的输出结果,共4小题,每题4分,共16分)
1.运行时的输出结果是15
2.运行时的输出结果是7
3.运行时的输出结果是i1=4,i2=3
4.运行时的输出结果是201,21,202,22
1、m/*第一空*/
n/*第二空*/
min/*第三空*/
2.m=i;
/*第一空*/
min=a[m][0];
min=a[m][j];
/*第三空*/
1.【参考答案】
longsum(int
broadcast播放broadcastbroadcast
if(n==1)
1;
mistake误认mistookmistakenelse
understand了解understoodunderstood
return
n*n+sum(n-1);
misunderstand误会misunderstoodmisunderstood
2.【参考答案】
sow种植sowedsown/sowed
fun(char
*str)
spend花费spentspent{
i,n=0,fg=1;
char
*p=str;
while(*p)
dive跳水,俯冲dived/dovedived{
n++;
p++;
bring拿来broughtbroughtfor(i=0;
n/2;
feed喂fedfedif(str[i]==str[n-1-i])
fg=0;
break;
fg;
wake醒着woke/wakedwoke/waked/woken}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 大一 模拟 试题 答案