大学计算机笔试必备.docx

上传人:b****4 文档编号:4594374 上传时间:2022-12-07 格式:DOCX 页数:33 大小:50.88KB
下载 相关 举报
大学计算机笔试必备.docx_第1页
第1页 / 共33页
大学计算机笔试必备.docx_第2页
第2页 / 共33页
大学计算机笔试必备.docx_第3页
第3页 / 共33页
大学计算机笔试必备.docx_第4页
第4页 / 共33页
大学计算机笔试必备.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

大学计算机笔试必备.docx

《大学计算机笔试必备.docx》由会员分享,可在线阅读,更多相关《大学计算机笔试必备.docx(33页珍藏版)》请在冰豆网上搜索。

大学计算机笔试必备.docx

大学计算机笔试必备

2005-2006学年第一学期期末考试试题(A卷)

C语言程序设计

使用班级:

总分

05071401---403,05061401---403,

 

得分

一、填空题(共20分,每题2分)

1、每个C++程序必须包含一个____________程序,程序是从这个函数开始运行的。

2、C++提供三种逻辑运算符,这三种逻辑运算符按优先级从高到低排列如下:

_________、___________、____________。

3、有数据描述:

inta=7;floatx=2.5,y=4.7;表达式x+a%3*(int)(x+y)%2%4的值为________

4、inta=12;表达式a+==a-=a*a运行后,a的值为:

____________

5、设x=7,y=8,z=9,表达式:

x

6、设置形参的默认值时,要从参数表的_________开始。

7、面向对象程序设计的三大基本特性是:

____________、多态性、继承性。

8、定义内联函数的关键字是:

____________

9、使用关键字class定义的类中缺省的成员访问权限为:

____________

10、静态数据成员的初始化必须在____________进行。

得分

二、程序填空(共20分,每空2分)

1、编写程序,求三个整型数的最小数。

#include

intmin(inta,intb,intc)

{intt=a

a:

b;

return____________;}

voidmain()

{intx,y,z,m;

cin>>x>>y>>z;

m=min(____________);

cout<

}

2、求两个整数的最大公约数

#include"iostream.h"

voidmain()

{intm,n,t,x;

cin>>m>>n;

_______________;

for(x=t;x>=1;x--)

if(m%x==0&&n%x==0)_______________;

cout<

}

3、选择法排序。

#include"iostream.h"

voidmain()

{intx[10],i,j,k,w;

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

____________________

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

{k=____________;

for(j=i;j<10;j++)

if(x[k]

{w=x[i-1];x[i-1]=x[k];x[k]=w;}

}

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

cout<

cout<

}

4、

#include"iostream.h"

classCircle1

{private:

doublex,y,r;

public:

____________(doublex1,doubley1,doubler1)

{x=x1;y=y1;r=r1;}

Circle1(Circle1____________)

{x=p.x;y=p.y,r=p.r;}

voidprint();

};

void____________print()

{cout<<"圆心:

("<

cout<<"半径:

"<

}

voidmain()

{Circle1p1(0,0,2),p2(p1);

p1.print();

p2.print();

}

得分

三、写出下列程序的运行结果(共20分,每题4分)

1、

#include

voidmain()

{intsum=0;

for(intn=1;n<=10;n++)

{if(n%3==0)continue;

cout<

sum+=n;

}

cout<

cout<<"sum="<

}

2、

#include

#include

voidmain()

{charstr[30]="Iamastudent!

",m[30];

inti,t;

for(i=0;str[i]!

='\0’;i++)

m[i]=str[i];

m[i]=’\0’;

t=strlen(str);

cout<

cout<<"t="<

}

3、

#include

voidinv(intx[],intn)

{intt,i,j,m=(n-1)/2;

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

{j=n-1-i;

t=x[i];x[i]=x[j];x[j]=t;}

}

voidmain()

{inti,a[10]={3,7,9,11,0,6,7,5,4,2};

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

cout<

cout<

inv(a,10);

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

cout<

cout<

inv(a+2,6);

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

cout<

cout<

}

4、

#include"iostream.h"

voidfun(inta=7,intb=5,intc=3)

{cout<

}

voidmain()

{fun();

fun(8);

fun(3,9);

fun(7,8,9);

}

5、

#include

classA

{private:

inta,b;

public:

A()

{a=b=0;cout<<"con1called.\n";}

A(inti,intj)

{a=i;b=j;cout<<"con2called.\n";}

voidprint()

{cout<<"a="<

};

voidmain()

{Aa1,a2(18,26);

a1.print();

a2.print();

}

得分

四、编写程序(40分)

1、(15分)

已知下列分段函数:

编写程序输入x的值,求y的值,并画出N-S流程图。

2、(15分)

求数列

...的前20项的和。

并画出N-S流程图。

3、(10分)

编写一个函数名为count的函数,具体要求如下:

形参:

doublearr[],intn

功能:

统计并返回数组arr前n个数中大于0的数的个数。

C++程序设计基础复习题(06/07/2)

一、填空题

1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为__________。

2.对象的三大基本特性是多态性、_____________、封装性。

3.表达式-1<=3<=-5值是:

_________

4.C++中函数重载的条件是:

函数名相同,而函数参数的类型、____________、或___________三者中至少有一个不同。

5.有以下程序段:

intm=0,n=1,x;

x=(m++)&&(++n);

执行完以上语句后,n的值为___________。

6.inta=6;表达式a+==a-=a*a运行后,a的值为:

____________

7.有宏定义:

#defineX(a)a*a

执行完y=X(2+3);之后,y的值为____________。

8.二维数组a[3][3]中,第二行的指针为_______________。

9.结构化程序设计的三种基本结构为:

顺序结构、_________结构和________结构。

10.设intx[]={1,2,3,4,5},*p=x;p+=2,则*p++值为_______。

11.假定stu为一个类,则语句stu(stu&x);为该类_________函数的原型说明。

12.设a=3,b=4,c=5,表达式:

a||b+c&&b-c的值为___________________________。

13.已知:

inta=7;floatx=2.5,y=4.7,则表达式:

x+a%3*(int)(x+y)%2%4的值为_______。

14.数据在内存中以其二进制机器数____________形式存放的;若有十进制数-10存贮在两字节内存中,则其对应的十六进制机器码为____________。

15.C++语言中标识符由字母、__________和__________组成其中不能以_________开头。

16.若有定义inta=3,b=4,则表达式'a'

17.动态内存的分配和释放采用关键词_____________和______________来描述。

18.若有定义inta=3,b=4则表达式(a==b*3.3),a%8的值为_________,a的值为____________。

19.令x为任意数,则其能被3整除但不能被2整除的逻辑表达式可写成____________。

20.逻辑(bool)类型变量的值只能是____________或______________。

21.执行下列语句中,sum变量的值是:

___________

intsum=0;

for(inti=0;i<10;i++,sum+=i);

22.当调用函数时,实参是一个数组名,则向函数传送的是________。

23.若由定义inta[10],*p则欲使p指向数组a,可采用__________和___________两种方法。

24.循环结构的算法其对应的语法表述有三种:

分别是____________、____________和____________语句。

25.break语句可以用在_________________和_________________中。

二.程序填空

1.10的阶乘之和

#include"iostream.h"

_________________

voidmain()

{

doublesum=0,n;

for(n=1;n<=10;n++)

__________________

cout<<"Thesumis:

"<

}

doublefactorial(doublem)

{

if(m<=1)

return1;

else

return__________________;

}

2.求出100以内的所有素数:

#include"iostream.h"

_______________

intprime_number(intm);

voidmain()

{

intn;

for(n=3;n

if(_______________)cout<

}

intprime_number(intm)

{

inti,flag=1;

for(i=2;i

if(m%i==0)

{

_______________;

break;

}

returnflag;

}

3.冒泡法排序

#include"iostream.h"

#defineN10

voidchange(_______________)

{

intt;

t=m;m=n;n=t;

}

voidarrange(_______________)

{

inti,j;

for(j=1;j

for(i=0;i

if(*(p+i)>*(p+i+1))

_______________;

}

voidmain()

{

inta[N],i;

for(i=0;i

cin>>a[i];

_______________;

for(i=0;i

cout<

}

4.输入字串,输出其中的字母:

#include"iostream.h"

#include"stdio.h"

voidfind(char*str1,char*str2)

{

inti,j;

for(i=0,j=0;*(str1+i)!

='\0';i++)

if(*(str1+i)>='a'&&*(str1+i)<='z'||*(str1+i)>='A'&&*(str1+i)<='Z')

{

*(str2+j)=*(str1+i);

_______________;

}

_______________;

}

voidmain()

{

char*a,*b;

_______________;

_______________;

gets(a);

find(a,b);

puts(b);

}

5.输出一个点

#include"iostream.h"

classpoint

{

public:

point(intx,inty);

~point()

{

cout<

}

private:

intX;

intY;

};

point:

:

point(intx,inty)

{

__________________;

__________________;

}

voidmain()

{

pointp1(10,10);

}

6.求两个正整数的最大公约数

#include"iostream.h"

voidchange(__________________)

{

intt;

if(a>b)

{

t=a;a=b;b=t;

}

}

voidmain()

{

intm,n,i,min_common_divisor;

cin>>m>>n;

change(m,n);

for(i=n;i>=1;i--)

if__________________)

{

min_common_divisor=i;

__________________;

}

cout<

}

7.计算两门功课的平均成绩

#include"iostream.h"

classstu

{

public:

voidfun_put();

voidfun_sum();

staticfloatfun_out_sum(intn);

private:

charname[10];

floatscore[2];

staticfloatsum[2];

};

floatstu:

:

sum[2]={__________________};

voidstu:

:

fun_put()

{

cout<<"请输入该生姓名"<

cin>>name;

cout<<"请输入该生的两门功课的成绩"<

cin>>score[0]>>score[1];

}

voidstu:

:

fun_sum()

{

sum[0]+=score[0];

sum[1]+=score[1];

}

floatstu:

:

fun_out_sum(intn)

{

return__________________;

}

voidmain()

{

stust[3];

inti;

floatscore_sum[2];

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

st[i].fun_put();

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

__________________;

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

{

score_sum[i]=stu:

:

__________________;

cout<

}

}

8.友元应用

#include"iostream.h"

classstudent

{

public:

intNo;

char*Name;

student(intn,char*str);

~student();

__________________

voidf_age(intag,student__________________);

private:

intage;

};

student:

:

student(intn,char*str)

{

No=n;

Name=str;

age=18;

}

student:

:

~student()

{

cout<<"学号"<

cout<<"姓名"<

cout<<"年龄"<

}

voidf_age(intag,student__________________)

{

p.age=ag;

cout<<"友元年龄"<

}

voidmain()

{

studentwang(5074401,"wang");

f_age(30,wang);

}

9.求3个数的最大值

#include

voidmain()

{

floata,b,c,t;

_______________;

if(a

if(a

cout<<”max=”<<________;

}

10.将10个数逆序存放

#include"iostream.h"

__________________

voidmain()

{inta[N],*p1,*p2;

for(p1=a;p1

cin<<*p;

p1=a;p2=a+N-1;

for(;p1

{t=*p1;

*p1=*p2;

*p2=t;

}

for(p1=a;p1

cout<<””<<*p;

cout<

}

11.求最高分且指出学号

#include"iostream.h"

classstudent

{

public:

intscore;

_______________;

voidput_number();

private:

charm_number[20];

};

voidstudent:

:

get_number(charnumber[])

{

inti;

for(i=0;number[i]!

='\0';i++)

m_number[i]=number[i];

_______________;

}

voidstudent:

:

put_number()

{

cout<

}

voidmain()

{

studentst[3];

inti,p;

char*number=_______________;

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

{

cout<<"请输入第"<

"<

cin>>number;

st[i].get_number(number);

cin>>st[i].score;

}

for(i=0,p=0;i<3;i++)

if(st[p].score<=st[i].score)

_______________;

cout<<"最高成绩为"<

st[p].put_number();

cout<<"同学的:

"<

}

三、阅读程序写出运行结果

1.

#include

classA

{public:

A(inth,intw):

he(h),we(w){}

~A(){cout<

private:

inthe,we;

};

classB:

publicA

{public:

B(inth,intw,inth1,intw1,intl):

A(h,w),obj1(h1,w1){len=l;}

~B(){cout<

private:

Aobj1;

intlen;

};

voidmain()

{

Bobj(1,2,3,4,5);

}

2.#include"iostream.h"

#include"stdio.h"

voidfind(charstr1[],charstr2[])

{

inti,j;

for(i=0,j=0;str1[i]!

='\0';i++)

if(str1[i]>='a'&&str1[i]<='z'||str1[i]>='A'&&str1[i]<='Z')

{

str2[j]=str1[i];

j++;

}

str2[j]=’\0’;

}

voidmain()

{

char*a,*b;

a=newchar[];

b=newchar[];

gets(a);

find(a,b);

puts(b);

}

输入字串如下:

aAtg234Hj\n

3.

main()

{

inti,j;

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

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

{

printf("%d*%d=%d",i,j,i*j);

if(i==j)printf("\n");

}

}

4.

#include

main()

{ intc;

  while((c=getchar())!

='\n')

  { switch(c-'2')

{  case0:

         case1

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1