河海大学级C语言期终考试试题机电学院文档格式.docx

上传人:b****1 文档编号:437121 上传时间:2023-04-28 格式:DOCX 页数:17 大小:24.17KB
下载 相关 举报
河海大学级C语言期终考试试题机电学院文档格式.docx_第1页
第1页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第2页
第2页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第3页
第3页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第4页
第4页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第5页
第5页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第6页
第6页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第7页
第7页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第8页
第8页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第9页
第9页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第10页
第10页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第11页
第11页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第12页
第12页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第13页
第13页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第14页
第14页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第15页
第15页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第16页
第16页 / 共17页
河海大学级C语言期终考试试题机电学院文档格式.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

河海大学级C语言期终考试试题机电学院文档格式.docx

《河海大学级C语言期终考试试题机电学院文档格式.docx》由会员分享,可在线阅读,更多相关《河海大学级C语言期终考试试题机电学院文档格式.docx(17页珍藏版)》请在冰点文库上搜索。

河海大学级C语言期终考试试题机电学院文档格式.docx

0||x>

=5)

7.下面程序段执行后

inti=10;

floatx;

x=5/i;

x的值为__C____

A.0.5B.0C.0.0D.1.0

8.设有说明“inta=3,b=5,m;

”,则执行表达式m=a<

=3&

&

a+b<

8后,m的值为_____C_。

A.trueB.falseC.0D.1

9.下面程序段执行后

intx=5,y=7,z=8;

z+=x++||y++||++z

x,y,z的值分别是__A___。

A.6、7、9B.6、8、10C.6、8、8D.6、8、1

10.若执行以下程序时从键盘上输入9,则输出结果是_B____。

A.11B.10C.9D.8

main()

{intn;

scanf("

%d"

&

n);

if(n++<

10)printf("

%d\n"

n);

elseprintf("

n--);

}

11.若a、b、c1、c2、x、y均是整型变量,正确的switch语句是_C_____

A.B.

switch(a+b);

switch(a*a+b*b) 

{case1:

y=a+b;

break;

{case3:

case0:

y=a-b;

case1:

break;

}case3:

y=b-a,break;

}

C.D.

switchaswitch(a-b)

{casec1:

break;

{default:

y=a*b;

break

casec2:

x=a*d;

case3:

case4:

x=a+b;

default:

case10:

case11:

}}

12.有以下程序段

intk=0

while(k=1)k++;

while循环执行的次数是__A___

A.无限次B.有语法错,不能执行

C.一次也不执行D.执行1次

13.以下程序执行后sum的值是__C_____

A.15B.14C.不确定D.0

{inti,sum;

for(i=1;

i<

6;

i++)sum+=i;

printf("

sum);

14.有以下程序段

intx=3

do{

x-=2);

}while(!

(--x));

其输出结果是_____C___

A.1B.30C.1–2D.死循环

15.若变量c为char类型,能正确判断出c为小写字母的表达式是D_____

A.'

a'

<

=c<

='

z'

B.(c>

)||(c<

C.('

=c)and('

>

=c)D.(c>

)&

(c<

16.以下程序的输出结果是__C_____

A.0B.29C.31D.无定值

voidfun(intx,inty,intz)

{

z=x*x+y*y;

{inta=31;

fun(5,2,a);

a);

17.下列程序段的输出结果是__A___?

?

___

A.2143B.1212C.1234D.2112

voidfun(int*x,int*y)

%d%d"

*x,*y);

*x=3;

*y=4;

{intx=1,y=2;

fun(&

y,&

x);

%d%d"

x,y);

18.下列程序的输出结果是_C______

A.非法B.a[4]的地址C.5D.3

main() 

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

*--p);

19.下列程序的运行结果是____B_____

A.63B.36C.编译出错D.00

voidfun(int*a,int*b)

{int*k;

k=a;

a=b;

b=k;

{inta=3,b=6,*x=&

a,*y=&

b;

fun(x,y);

a,b);

20.下面程序的输出结果是_____C______

A.0B.1C.10D.9

{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;

p=a;

*p+9);

21.设有以下说明语句

struct_ex{

intx;

floaty;

charz;

}example;

则下面的叙述中不正确的是____B___

A.struct结构体类型的关键字B.example是结构体类型名

C.x,y,z都是结构体成员名D.struct_ex是结构体类型

22.以下程序的输出结果是___B______

A.20B.21C.22D.23

inti,k,a[10],p[3];

k=5;

for(i=0;

10;

i++)a[i]=i;

3;

i++)p[i]=a[i*(i+1)];

i++)k+=p[i]*2;

k);

23.以下程序的输出结果是________C__

A.1,5,9B.1,4,7C.3,5,7D.3,6,9

inti,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;

i++)printf("

%d,"

x[i][2-i]);

24.以下程序的输出结果是____A______

A.18B.19C.20D.21

{inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

i++) 

for(j=0;

j<

=i;

j++)

s+=a[i][j];

s);

25.当执行下面的程序时,如果输入ABC,则输出结果是__A____

A.ABC6789B.ABC67C.12345ABC6D.ABC456789

#include"

stdio.h"

string.h"

{charss[10]="

12345"

;

gets(ss);

strcat(ss,"

6789"

);

%s\n"

ss);

26.以下程序的输出结果是__A____

A.1B.2C.3D.4

longfun(intn)

{longs;

if(n==1||n==2)

s=2;

else

s=n-fun(n-1);

returns;

fun(3));

27.以下程序的输出结果是_B_____

A.16B.2C.9D.1

#defineSQR(X)X*X

inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("

d\n"

28.若定义了以下函数:

voidf(......)

{......

*p=(double*)malloc(10*sizeof(double));

......

p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是__C____

A.double*pB.float**pC.double**pD.float*p

29.以下程序的输出是(C)

A.10B.11C.51D.60

struct_st{

intx;

int*y;

}*p;

intdt[4]={10,20,30,40};

struct_staa[4]={50,&

dt[0],60,&

dt[0],};

{p=aa;

++(p->

x));

30.while(!

x)中的(!

x)与下面条件__A_________等价

A.x==0B.x!

=1C.x==1D.x!

=0

二、读程序,写结果(20分,每题2分)

1.下面程序的输出结果是___fisNOT1.0__________

voidmain()

{

floatf=0.0;

inti;

for(i=0;

i++)

f+=0.1;

if(f==1.0)

fis1.0\n"

else

fisNOT1.0\n"

2.下列程序的输出结果是___*#*#*#$_________________

voidmain(void)

{inti;

for(i=1;

i<

=5;

i++)

{if(i%2)printf(“*”);

elsecontinue;

printf(“#”);

$\n"

3.下列程序段的输出结果是__5359求质数________________________

voidmain()

for(t=50,k=0;

t<

=60;

t++)

{

for(i=2;

t;

i++)

if(t%i==0)break;

if(i==t)

printf("

%5d"

t);

}

4.下列程序的输出是____123______?

_________

voidincrement(void)

{staticintx=0;

x++;

%d\t"

x);

{increment();

increment();

5.下列程序的输出结果是_____24最大公约数______________

intxy(inta,intb)

{intr,t;

if(a<

b){

t=a;

b=t;

r=a%b;

while(r!

=0)

a=b;

b=r;

returnb;

inta=72,b=96;

xy(a,b));

6.下列程序的输出结果是43535______倒续__

#include<

stdio.h>

intx=53534,r;

while(x!

r=x%10;

x=x/10;

printf(“%d”,r);

7.写出下面程序的运行结果____75求最大________

voidmain()

intm,a[]={25,64,38,40,75,66,38,54};

m=a[0];

for(inti=1;

8;

i++)

if(a[i]>

m)

m=a[i];

m);

8.写出下面程序的运行结果________1,1,20____行列值_____

inta[3][4]={{7,5,14,3},{6,20,7,8},{14,6,9,18}};

inti,j,r,c,m;

m=a[0][0];

for(i=0;

i++)

for(j=0;

j++)

if(a[i][j]>

m)

m=a[i][j];

r=i;

c=j;

}

printf("

%d,%d,%d\n"

r,c,m);

9.写出下列程序的运行结果____123456789排序____________

voidxyz(inta[],intn)

{inti,j,key;

=n-1;

{key=a[i];

for(j=i-1;

j>

=0;

j--)

if(key<

a[j])

a[j+1]=a[j];

//将a[j]向后移动一个位置

else

break;

}

a[j+1]=key;

inta[]={5,2,9,1,3,4,6,8,7};

inti,n=9;

xyz(a,n);

n;

%4d"

a[i]);

\n"

10.下面程序的输出结果是___65423__________

voidfun(intn)

{

if(n==0)return;

else{

%d"

n%10);

fun(n/10);

inta=32456;

fun(a);

三、完善程序(10分,每空2分)

1.下列程序的功能是用牛顿迭代法求实数a的平方根,迭代公式是

.

doublemysqrt(doublea)

{doublex1,x2,eps=1e-5;

x2=a/2;

do{

x1=x2;

x2=0.5*(x1+a/x1);

}while(___[1]x1>

eps________);

returnx2;

2.链表算法

typedefstruct_lnode

intdata;

//数据元素,可以是任何类型,这里我们使用整型数据元素

struct_lnode*next;

//指向后继节点的指针

}Lnode;

/*用头插法创建链表.用值e构造节点s,始终将节点s插入到首节点前面,并且将first指针指向新的首节点*/

Lnode*list_create(Lnode*first,inte)

Lnode*q,*s;

s=(Lnode*)malloc(sizeof(Lnode));

//给新结点分配空间,构造新节点

s->

data=e;

next=0;

if(first==NULL)//空链表

first=s;

else

{

__[2]___s->

next=first____________;

__[3]____first=s,p++___________;

returnfirst;

/*在first所表示的链表中查找值为e的节点,如果找到,返回该节点,否则,返回空指针*/

Lnode*list_find(Lnode*first,inte)

Lnode*p;

p=first;

while(p)

if(p->

data==e)

returnp;

_[4]___________;

returnNULL;

3.下面的程序实现字符串拷贝,即将字符串src中的内容拷贝到字符串desc中,返回字符串desc。

要求desc必须已经分配空间,并且空间足够大以便容纳src的内容。

char*StrCopy(char*desc,constchar*src)

{char*p;

p=desc;

while(_[5]___________);

returnp;

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

当前位置:首页 > 高等教育 > 经济学

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

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