上海海事大学C语言期末上机题库 8.docx

上传人:b****4 文档编号:5415000 上传时间:2022-12-16 格式:DOCX 页数:17 大小:19.47KB
下载 相关 举报
上海海事大学C语言期末上机题库 8.docx_第1页
第1页 / 共17页
上海海事大学C语言期末上机题库 8.docx_第2页
第2页 / 共17页
上海海事大学C语言期末上机题库 8.docx_第3页
第3页 / 共17页
上海海事大学C语言期末上机题库 8.docx_第4页
第4页 / 共17页
上海海事大学C语言期末上机题库 8.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

上海海事大学C语言期末上机题库 8.docx

《上海海事大学C语言期末上机题库 8.docx》由会员分享,可在线阅读,更多相关《上海海事大学C语言期末上机题库 8.docx(17页珍藏版)》请在冰豆网上搜索。

上海海事大学C语言期末上机题库 8.docx

上海海事大学C语言期末上机题库8

试卷编号:

9660

所属语言:

C语言

试卷方案:

练习1

试卷总分:

100分

共有题型:

5种

 

一、填空共8题(共计8分)

第1题(1.0分)题号:

388

设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为【1】.

答案:

=======(答案1)=======

1.0

=========或=========

1

 

第2题(1.0分)题号:

516

若s是int型变量,且s=6,则下面表达式的值是【1】.

s%2+(s+1)%2

 

答案:

=======(答案1)=======

1

 

第3题(1.0分)题号:

436

下列程序的输出是【1】,

main(){inta=011;printf("%d\n",++a);}

答案:

=======(答案1)=======

10

 

第4题(1.0分)题号:

431

执行下面两个语句,输出的结果是【1】,charc1=97,c2=98;printf("%d%c",c1,c2);

答案:

=======(答案1)=======

97b

 

第5题(1.0分)题号:

440

设a=3,b=4,c=5,则表达式!

(a+b)+c-1&&b+c/2的值为【1】.

答案:

=======(答案1)=======

1

 

第6题(1.0分)题号:

35

C语言表达式!

(3<6)||(4<9)的值是【1】.

答案:

=======(答案1)=======

1

 

第7题(1.0分)题号:

532

以下do-while语句中循环体的执行次数是【1】.

 

a=10;

 

b=0;

 

do{b+=2;a-=2+b;}while(a>=0);

 

答案:

=======(答案1)=======

3

 

第8题(1.0分)题号:

438

以下程序的输出结果为【1】,

#include"stdio.h"main(){inta;for(a=0;a<10;a++);printf("%d",a);}

答案:

=======(答案1)=======

10

 

二、判断共15题(共计15分)

第1题(1.0分)题号:

928

C程序中的关键字必须小写.

答案:

Y

第2题(1.0分)题号:

717

x*=y+8等价于x=x*(y+8).

答案:

Y

第3题(1.0分)题号:

937

在C程序中,每行中只能写一条语句

答案:

N

第4题(1.0分)题号:

715

整数-32100可以赋值给int型和longint型变量.

答案:

Y

第5题(1.0分)题号:

720

语句printf("%f%%",1.0/3);输出为0.333333.

答案:

N

第6题(1.0分)题号:

944

C语言中,赋值表达式加上分号就构成了赋值语句.

答案:

Y

第7题(1.0分)题号:

719

C语言本身不提供输入输出语句,输入和输出操作是由函数来

实现的.

答案:

Y

第8题(1.0分)题号:

947

printf函数中,%c和%s都可以输出字符串.

答案:

N

第9题(1.0分)题号:

930

关于if语句中,条件表达式只能是关系表达式或逻辑表达式

答案:

N

第10题(1.0分)题号:

936

在C语言中,逻辑"真"等价于不等于0的数

答案:

Y

第11题(1.0分)题号:

956

在switch-case语句中,必须使用default语句.

答案:

N

第12题(1.0分)题号:

950

逻辑运算符中的"&&"和"||"低于关系运算符,"!

"高于算术运算符.

答案:

Y

第13题(1.0分)题号:

953

C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.

答案:

N

第14题(1.0分)题号:

952

do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.

答案:

N

第15题(1.0分)题号:

954

continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.

答案:

Y

三、单项选择共20题(共计40分)

第1题(2.0分)题号:

2231

下面四个选项中,均是不合法的用户标识符的选项是().

A:

AP_0do

B:

floatla0_A

C:

b-agotoint

D:

_123tempint

 

答案:

C

第2题(2.0分)题号:

2022

下列数据中,为字符串常量的是().

A:

A

B:

"house"

C:

Howdoyoudo.

D:

$abc

 

答案:

B

第3题(2.0分)题号:

2214

在C语言中,char型数据在内存中的存储形式是().

A:

补码

B:

反码

C:

原码

D:

ASCII码

 

答案:

D

第4题(2.0分)题号:

2013

以下运算符中,优先级最高的运算符是().

A:

=

B:

!

=

C:

*(乘号)

D:

()

 

答案:

D

第5题(2.0分)题号:

2024

下列语句的结果是().

main()

{intj;

j=3;

printf("%d,",++j);

printf("%d",j++);

}

A:

3,3

B:

3,4

C:

4,3

D:

4,4

 

答案:

D

第6题(2.0分)题号:

2042

若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().

A:

scanf("%6.2f%d",&a,&b);

B:

scanf("%f%n",&a,&b);

C:

scanf("%f%3o",&a,&b);

D:

scanf("%f%f",&a,&b);

 

答案:

C

第7题(2.0分)题号:

2049

以下程序的输出结果为().

main()

{inti=010,j=10;

printf("%d,%d\n",++i,j--);

}

A:

11,10

B:

9,10

C:

010,9

D:

10,9

 

答案:

B

第8题(2.0分)题号:

2127

下列程序段的输出结果为().

floatk=0.8567;

printf("%4.1f%%",k*100);

A:

0085.6%%

B:

85.7%

C:

0085.6%

D:

.857

 

答案:

B

第9题(2.0分)题号:

2189

从键盘上输入某字符串时,不可使用的函数是().

A:

getchar()

B:

gets()

C:

scanf()

D:

fread()

 

答案:

A

第10题(2.0分)题号:

2040

若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),

则以下程序段的执行结果是().

ch='a';k=12;printf("%x,%o,",ch,ch);printf("k=%%%d\n",k);

A:

因变量类型与格式描述符的类型不匹配,输出无定值

B:

输出项与格式描述符个数不符,输出为零值或不定值

C:

61,141,k=%12

D:

61,141,k=%d

 

答案:

C

第11题(2.0分)题号:

2046

以下程序的输出结果是().

main()

{inti,j,k,a=3,b=2;

i=(--a==b++)?

--a:

++b;

j=a++;k=b;

printf("i=%d,j=%d,k=%d\n",i,j,k);

}

A:

i=2,j=1,k=3

B:

i=1,j=1,k=2

C:

i=4,j=2,k=4

D:

i=1,j=1,k=3

 

答案:

D

第12题(2.0分)题号:

2067

C语言的if语句嵌套时,if与else的配对关系是().

A:

每个else总是与它上面的最近的if配对

B:

每个else总是与最外层的if配对

C:

每个else与if的配对是任意的

D:

每个else总是与它上面的if配对

 

答案:

A

第13题(2.0分)题号:

2146

求平方根函数的函数名为().

A:

cos

B:

abs

C:

pow

D:

sqrt

 

答案:

D

第14题(2.0分)题号:

2133

下列运算符中是C语言关系运算符的是().

A:

~

B:

!

C:

&

D:

!

=

 

答案:

D

第15题(2.0分)题号:

2011

以下运算符中,优先级最高的运算符是().

A:

*=

B:

>=

C:

(类型)

D:

+

 

答案:

C

第16题(2.0分)题号:

2123

设j和k都是int类型,则for循环语句().

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);

A:

最多执行10次

B:

最多执行9次

C:

是无限循环

D:

循环体一次也不执行

 

答案:

A

第17题(2.0分)题号:

2249

若i为整型变量,则以下循环执行次数是().

for(i=2;i==0;)printf("%d",i--);

A:

无限次

B:

0次

C:

1次

D:

2次

 

答案:

B

第18题(2.0分)题号:

2061

在以下给出的表达式中,与do--while(E)语句中的(E)不等价的

表达式是().

A:

(!

E==0)

B:

(E>0||E<0)

C:

(E==0)

D:

(E!

=0)

 

答案:

C

第19题(2.0分)题号:

2141

以下程序段的输出结果为().

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

for(j=1;j

putchar('#');

A:

B:

######

C:

#

D:

###

 

答案:

B

第20题(2.0分)题号:

2069

设j和k都是int类型,则for循环语句

for(j=0,k=0;j<=9&&k!

=876;j++)scanf("%d",&k);().

A:

最多执行10次

B:

最多执行9次

C:

是无限循环

D:

循环体一次也不执行

 

答案:

A

四、程序填空共3题(共计27分)

第1题(9.0分)题号:

404

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

从键盘上输入两个复数的实部与虚部,求出并输出它们的

和、差、积、商。

-------------------------------------------------------*/

#include

voidmain()

{floata,b,c,d,e,f;

printf("输入第一个复数的实部与虚部:

");

scanf("%f,%f",&a,&b);

printf("输入第二个复数的实部与虚部:

");

scanf("%f,%f",&c,&d);

/***********SPACE***********/

【?

】;

f=b+d;

printf("相加后复数:

实部:

%f,虚部:

%f\n",e,f);

e=a*c-b*d;

/***********SPACE***********/

【?

】;

printf("相乘后复数:

实部:

%f,虚部:

%f\n",e,f);

e=(a*c+b*d)/(c*c+d*d);

/***********SPACE***********/

【?

】;

printf("相除后复数:

实部:

%f,虚部:

%f\n",e,f);

}

答案:

=======(答案1)=======

e=a+c

=========或=========

e=c+a

=======(答案2)=======

f=a*d+b*c

=========或=========

f=a*d+b*c

=========或=========

f=a*d+b*c

=======(答案3)=======

f=(b*c-a*d)/(c*c+d*d)

=========或=========

f=(b*c-a*d)/(c*c+d*d)

=========或=========

f=(b*c-a*d)/(c*c+d*d)

 

第2题(9.0分)题号:

428

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

输入一个学生的生日(年:

y0、月:

m0、日:

d0),并输

入当前日期(年:

y1、月:

m1、日:

d1)。

求出该学生的

年龄(实足年龄)。

-------------------------------------------------------*/

#include

main()

{intage,y0,y1,m0,m1,d0,d1;

printf("输入生日日期(年、月、日)");

/***********SPACE***********/

【?

】("%d%d%d",&y0,&m0,&d0);

printf("输入当前日期(年、月、日)");

scanf("%d%d%d",&y1,&m1,&d1);

age=y1-y0;

/***********SPACE***********/

if(m0【?

】m1)age--;

/***********SPACE***********/

if((m0【?

】m1)&&(d0>d1))age--;

printf("age=%3d",age);

}

答案:

=======(答案1)=======

scanf

=======(答案2)=======

>

=======(答案3)=======

==

 

第3题(9.0分)题号:

459

/*-------------------------------------------------------

【程序填空】

---------------------------------------------------------

题目:

在歌星大奖赛中,有10个评委为参赛的选手打分,分数为

1~100分。

选手最后得分为:

去掉一个最高分和一个最低分

后其余8个分数的平均值。

请编写一个程序实现。

-------------------------------------------------------*/

#include

voidmain()

{

intscore,i,max,min,sum;

max=-32768;

min=32767;

sum=0;

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

{

printf("Inputnumber%d=",i);

/***********SPACE***********/

scanf("%d",【?

】);

sum+=score;

/***********SPACE***********/

if(【?

】)max=score;

/***********SPACE***********/

if(【?

】)min=score;

}

printf("Canceledmaxscore:

%d\nCanceledminscore:

%d\n",max,min);

/***********SPACE***********/

printf("Averagescore:

%d\n",【?

】);

}

 

答案:

=======(答案1)=======

&score

=======(答案2)=======

score>max

=========或=========

max

=======(答案3)=======

score

=========或=========

min>score

=======(答案4)=======

(sum-max-min)/8

=========或=========

(sum-max-min)/8

 

五、程序设计共1题(共计10分)

第1题(10.0分)题号:

406

/*------------------------------------------------

【程序设计】

--------------------------------------------------

*题目:

编写函数fun计算下列分段函数的值:

x*x+x+6x<0且x≠-3

f(x)=x*x-5x+60≤x<10且x≠2及x≠3

x*x-x-1其它

--------------------------------------------------

注意:

部分源程序给出如下。

请勿改动主函数

main和其它函数中的任何内容,仅在函

数fun的花括号中填入所编写的若干语句。

------------------------------------------------*/

#include"stdio.h"

floatfun(floatx)

{

/**********Program**********/

 

/**********End**********/

}

main()

{floatx,f;

printf("Inputx=");

scanf("%f",&x);

f=fun(x);

printf("x=%f,f(x)=%f\n",x,f);

getch();

yzj();

}

yzj()

{

FILE*IN,*OUT;

intn;

floati;

floato;

IN=fopen("in.dat","r");

if(IN==NULL)

{printf("ReadFileError");

}

OUT=fopen("out.dat","w");

if(OUT==NULL)

{printf("WriteFileError");

}

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

{

fscanf(IN,"%f",&i);

o=fun(i);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

}

 

答案:

----------------------

OUT.Dat为空

floaty;

if(x<0&&x!

=-3.0)

y=x*x+x+6;

elseif(x>=0&&x<10.0&&x!

=2.0&&x!

=3.0)

y=x*x-5*x+6;

elsey=x*x-x-1;

returny;

----------------------

 

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

当前位置:首页 > 解决方案 > 学习计划

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

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