c++大一模拟试题带答案.docx

上传人:b****3 文档编号:10697198 上传时间:2023-05-27 格式:DOCX 页数:16 大小:19.60KB
下载 相关 举报
c++大一模拟试题带答案.docx_第1页
第1页 / 共16页
c++大一模拟试题带答案.docx_第2页
第2页 / 共16页
c++大一模拟试题带答案.docx_第3页
第3页 / 共16页
c++大一模拟试题带答案.docx_第4页
第4页 / 共16页
c++大一模拟试题带答案.docx_第5页
第5页 / 共16页
c++大一模拟试题带答案.docx_第6页
第6页 / 共16页
c++大一模拟试题带答案.docx_第7页
第7页 / 共16页
c++大一模拟试题带答案.docx_第8页
第8页 / 共16页
c++大一模拟试题带答案.docx_第9页
第9页 / 共16页
c++大一模拟试题带答案.docx_第10页
第10页 / 共16页
c++大一模拟试题带答案.docx_第11页
第11页 / 共16页
c++大一模拟试题带答案.docx_第12页
第12页 / 共16页
c++大一模拟试题带答案.docx_第13页
第13页 / 共16页
c++大一模拟试题带答案.docx_第14页
第14页 / 共16页
c++大一模拟试题带答案.docx_第15页
第15页 / 共16页
c++大一模拟试题带答案.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c++大一模拟试题带答案.docx

《c++大一模拟试题带答案.docx》由会员分享,可在线阅读,更多相关《c++大一模拟试题带答案.docx(16页珍藏版)》请在冰点文库上搜索。

c++大一模拟试题带答案.docx

c++大一模拟试题带答案

模拟试卷(A卷)

 

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。

每小题2分,共15小题,30分)

1.下列字符串中不能作为C++标识符使用的是()。

A、WHILEB、userC、_lvarD、9stars

2.C++语言规定:

在一个源程序中,main函数的位置()。

A、必须在程序的最开始B、必须在系统调用的库函数的后面

C、可以任意D、必须在程序的最后

3.假定int类型变量占用两个字节,其有定义int x[10]={0,2,4};,则数组x在内存中所占字节数是()。

 

A、3   B、6 C、10   D、20 

4.判断字符型变量ch是否为大写英文字母,应使用表达式()。

A、ch>='A'&ch<='Z'B、ch<='A'||ch>='Z'

C、'A'<=ch<='Z'D、ch>='A'&&ch<='Z'

5.已知下列语句中的x和y都是int型变量,其中错误的语句()。

A、x=y++;B、x=++y;C、(x+y)++;D、++x=y;

6.有如下程序段:

  inti=1;

  while

(1){

     i++;

     if(i==10)break;

     if(i%2==0)cout<<'*';

  }

执行这个程序段输出字符*的个数是()。

 A、10B、3  C、4D、5

7.有如下程序 

#include 

usingnamespacestd;

int func(int a,int b) 

return(a+b);

int main() 

int x=2,y=5,z=8,r; 

r=func(func(x,y),z); 

cout<

return0;

该程序的输出的结果是 ()

A、12  B、13 C、14   D、15

8.执行语句序列

intn;

cin>>n;

switch(n)

{case1:

case2:

cout<<'1';

case3:

case4:

cout<<'2';break;

default:

cout<<'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=&k;D、int*p;*p=k;

11.已知:

intm=10;在下列定义引用的语句中,正确的是()。

A、int&x=m;B、inty=&m;C、int&z;D、int&t=&m;

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<

C、cout<

15.在类声明中,紧跟在“public:

”后声明的成员的访问权限是()。

A、私有B、公有C、保护D、默认

二、改错题(每题有几处错误,在错误处画线,并写出正确语句。

每找对1个错误,加1分,每修改正确1个错误,再加1分。

共3小题,共16分)

1.#include

usingnamespacestd;

constfloatpi=3.1416;

constfloatr=3.2;

intmain(){

floats1;

r=2.8;

c1=pi*r*r;

s1=2*pi*r;

cout<

return0;

}

2.下列程序功能是求x的y次方(缺省是x的2次方)  

#include 

usingnamespacestd; 

double fun(double x,double y)    

{int i; 

double s=1; 

for(i=0//i=1;i

s=s*x; 

return  s; 

int main() 

{ double x=2.5,y=3; 

 cout<<"pow(2.5,2):

"<

cout<<"pow(2.5,3):

"<

return0;

 } 

3.将一维数组按升序排列。

 

#include 

usingnamespacestd; 

void sort ( int *p,int n)      

 {  int i,j,temp; 

   for (i=0;i

for (j=i+1;j

if  (p[i]

       { temp=p[i];

p[i]=p[j];

p[j]=temp; }

 } 

int main( void) 

{  int a1[6]={1,3,2,5,4,6},*pi,i;    

pi=a1//pi=a1[0]; 

sort (pi,6);                                

 for (i=0;i<6;i++) cout<

cout<

return0;

}

三、程序理解分析题(分析下列程序代码,并写出程序的输出结果,共4小题,每题4分,共16分)

1.#include 

usingnamespacestd;

intmain()

{

intsum;

for(inti=0;i<6;i+=3)

{

sum=i;

for(intj=i;j<6;j++)

sum+=j;

}

cout<

return0;

}

2.#include

usingnamespacestd;

intmain()

{

inti=5;

int&r=i;r=7;

cout<

return0;

}

3.#include

usingnamespacestd;

intmain()

{

chara[]="abcdabcabfgacd";

inti1=0,i2=0,i=0;

while(a[i]!

='\0')

{if(a[i]=='a')

i1++;

if(a[i]=='b')

i2++;

i++;

}

cout<<"i1="<

return0;

}

4.#include

usingnamespacestd;

inta=200;

voids()

{staticinta=20;

a++;

cout<

}

intmain()

{inti;

for(i=1;i<=2;i++)

{a++;

cout<

s();

}

return0;

}

四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能。

每空3分,共6个空,总共18分)

1、求三个数中的最大值和最小值。

#include

usingnamespacestd;

voidmaxmin(inta,intb,intc,int&m,int&n)

{intt;

if(a

if(a

if(b

_______m_____=a;/*第一空*/

_____n______=c;/*第二空*/

}

intmain()

{inta,b,c,max,min;

cout<<"Pleaseinputabc:

";

cin>>a>>b>>c;

maxmin(a,b,c,max,_______min______);/*第三空*/

cout<<"a="<

cout<<"max="<

return0;

}

2.以下程序的功能是输出二维数组中最大值所在行内最小元素的值。

#include

usingnamespacestd;

intfun(inta[4][5])

{inti,j,m=0,n=0,min;

for(i=0;i<4;i++)

for(j=0;j<5;j++)

if(a[m][n]

{________m=i_________/*第一空*/

n=j;

}

_____min=a[m][0]____________/*第二空*/

for(j=1;j<5;j++)

if(min>a[m][j])

_____min=a[m][j]____________/*第三空*/

returnmin;

}

intmain()

{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;i<4;i++)

{for(j=0;j<5;j++)

cout<

cout<

}

min=fun(a);

cout<

return0;

}

五、程序设计题(根据功能要求,编写程序,实现其功能,2题,每题10分,共20分)

1.请编写一个函数longsum(intn),用递归函数完成运算:

sum(n)=1*1+2*2+…+n*n,递归表达式为sum(n)=sum(n-1)+n2。

 

请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。

#include 

usingnamespacestd;

longsum(intn)   

{

  intsum=0;

while(n>0)

{sum+=n*n;

n--;}

returnsum;

intmain()   

{ intn; 

cout<<"输入n:

";     

cin>>n; 

 cout<<"结果为:

"<

return0;

}   

2.请编写函数fun(),该函数的功能是判断字符串是否为回文,若是则函数返回1,主函数中输出YES;否则返回0,主函数中输出NO。

回文是指顺读和倒读都一样的字符串。

   

例如:

字符串LEVEL是回文,而字符串123312就不是回文。

请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。

 

  #include

usingnamespacestd;  

#defineN80   

intfun(char*str)  

 {   

  intmain()   

chars[N]; 

    cout<<"Enterastring:

"<

gets(s); 

    cout<<"\n\n";     

puts(s);     

if(fun(s)) 

    cout<<"YES\n";     

else 

    cout<<"NO\n"; 

return0;

}   

模拟试卷(A卷)

参考答案及评分标准

一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在括号内。

每小题2分,共15小题,30分)

1.D2.C3.D4.D5.C6.C7、D8.D9.B10.A

11.A12、A13.A14.D15.B

二、改错题(每题有几处错误,在错误处画线,并写出正确语句。

每找对1个错误,加1分,每修改正确1个错误,再加1分。

共3小题,共16分)

1.答案:

#include

usingnamespacestd;

constfloatpi=3.1416;

constfloatr=3.2;

intmain(){

floats1,c1;

//r=2.8;

c1=pi*r*r;

s1=2*pi*r;

cout<

return0;

}

2.答案:

#include

usingnamespacestd;

doublefun(doublex,doubley)

{inti;

doubles=1;

for(i=1;i<=y;i++)

s=s*x;

returns;

}

intmain()

{doublex=2.5,y=3;

cout<<"pow(2.5,2):

"<

cout<<"pow(2.5,3):

"<

return0;

}

3.答案:

#include

usingnamespacestd;

voidsort(intp[],intn)

{inti,j,temp;

for(i=0;i

for(j=i;j

if(p[i]>p[j])

{temp=p[i];

p[i]=p[j];

p[j]=temp;}

}

intmain(void)

{inta1[6]={1,3,2,5,4,6},*pi,i;

pi=a1;

sort(pi,6);

for(i=0;i<6;i++)cout<

cout<

return0;

}

三、程序理解分析题(分析下列程序代码,并在程序右侧写出程序的输出结果,共4小题,每题4分,共16分)

1.运行时的输出结果是15

2.运行时的输出结果是7

3.运行时的输出结果是i1=4,i2=3

4.运行时的输出结果是201,21,202,22

四、程序填空题(在横线处填上一个语句,使程序实现其相应的功能。

每空3分,共6个空,总共18分)

1、m/*第一空*/

n/*第二空*/

min/*第三空*/

2.m=i;/*第一空*/

min=a[m][0];/*第二空*/

min=a[m][j];/*第三空*/

五、程序设计题(根据功能要求,编写程序,实现其功能,2题,每题10分,共20分)

1.【参考答案】 

 longsum(int n)

 { 

if(n==1)     

return 1;     

else   

    return n*n+sum(n-1); 

}

2.【参考答案】

   int fun(char *str)   

{    

int i,n=0,fg=1;    

char *p=str;    

while(*p)    

n++; 

p++; 

}    

for(i=0;i

if(str[i]==str[n-1-i]) ;    

else 

   { 

fg=0; break; 

}    

return fg;    

(注:

专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。

可复制、编制,期待你的好评与关注)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2