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

上传人:b****6 文档编号:6180333 上传时间:2023-01-04 格式:DOCX 页数:17 大小:18.37KB
下载 相关 举报
上海海事大学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

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

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

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

试卷编号:

9661

所属语言:

C语言

试卷方案:

练习1

试卷总分:

100分

共有题型:

5种

 

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

第1题(1.0分)题号:

516

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

s%2+(s+1)%2

 

答案:

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

1

 

第2题(1.0分)题号:

74

执行下列语句后,z的值是【1】.intx=4,y=25,z=5;z=y/x*z;

答案:

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

30

 

第3题(1.0分)题号:

436

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

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

答案:

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

10

 

第4题(1.0分)题号:

432

执行下列语句的结果是【1】,a=3;printf("%d,",++a);printf("%d",a++);

答案:

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

4,4

 

第5题(1.0分)题号:

387

假设变量a,b均为整型,表达式

 

(a=5,b=2,a>b?

a++:

b++,a+b)

 

的值是【1】.

答案:

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

8

 

第6题(1.0分)题号:

100

已知a=13,b=6,a||b的十进制数值为【1】.

答案:

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

1

 

第7题(1.0分)题号:

421

若输入字符串:

abcde<回车>,则以下while循环体将执行【1】次.

While((ch=getchar())=='e')printf("*");

答案:

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

0

 

第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分)题号:

940

inta[9];则a数组的下标范围是1-9

答案:

N

第2题(1.0分)题号:

955

C语言程序中,语句以分号结尾.

答案:

Y

第3题(1.0分)题号:

960

"A"是一个字符常量.

答案:

N

第4题(1.0分)题号:

933

在C语言中,变量必需先定义后使用

答案:

Y

第5题(1.0分)题号:

720

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

答案:

N

第6题(1.0分)题号:

944

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

答案:

Y

第7题(1.0分)题号:

721

语句scanf("%7.2f",&a);是一个合法的scanf函数.

答案:

N

第8题(1.0分)题号:

716

若i=3,则printf("%d",-i++);输出的值为-4.

答案:

N

*第9题(1.0分)题号:

951

在执行switch语句时,default和各个case的出现次序不影响执行结果.

答案:

Y

第10题(1.0分)题号:

956

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

答案:

N

第11题(1.0分)题号:

723

若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真".

答案:

Y

*第12题(1.0分)题号:

949

关系运算符的优先级高于算术运算符并且低于赋值运算符.

答案:

N

第13题(1.0分)题号:

954

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

答案:

Y

第14题(1.0分)题号:

742

若有说明intc;则while(c=getchar());是正确的C语句.

答案:

Y

第15题(1.0分)题号:

952

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

答案:

N

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

第1题(2.0分)题号:

2219

设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y

值的数据类型为().

A:

float

B:

char

C:

int

D:

double

 

答案:

D

第2题(2.0分)题号:

128

下列字符序列中,可用作C标识符的一组字符序列是().

A:

S.b,sum,average,_above

B:

class,day,lotus_1,2day

C:

#md,&12x,month,student_n!

D:

D56,r_1_2,name,_st_1

 

答案:

D

第3题(2.0分)题号:

2221

以下选项中合法的实型常数是().

A:

5E2.0

B:

E-3

C:

.2E0

D:

1.3E

 

答案:

D

第4题(2.0分)题号:

2056

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

main()

{floatx=3.6;

inti;

i=(int)x;

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

}

A:

x=3.600000,i=4

B:

x=3,i=3

C:

x=3.600000,i=3

D:

x=3i=3.600000

 

答案:

C

*第5题(2.0分)题号:

1998

以下数据中,不正确的数值或字符常量是().

A:

0

B:

5L

C:

o13

D:

9861

 

答案:

C

第6题(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

第7题(2.0分)题号:

2044

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

main()

{intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+1/2;

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

}

A:

27.000000

B:

27.500000

C:

28.000000

D:

28.500000

 

答案:

A

第8题(2.0分)题号:

2253

C语言中用于结构化程序设计的三种基本结构是().

A:

顺序结构、选择结构、循环结构

B:

if、switch、break

C:

for、while、do-while

D:

if、for、continue

 

答案:

A

第9题(2.0分)题号:

2128

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

floatx=213.82631;

printf("%3d",(int)x);

A:

213.82

B:

213.83

C:

213

D:

3.8

 

答案:

C

第10题(2.0分)题号:

2189

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

A:

getchar()

B:

gets()

C:

scanf()

D:

fread()

 

答案:

A

第11题(2.0分)题号:

2210

若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于

表达式(exp)的是().

A:

(exp==0)

B:

(exp!

=0)

C:

(exp==1)

D:

(exp!

=1)

 

答案:

B

第12题(2.0分)题号:

2255

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

A:

<

B:

+

C:

&&

D:

!

=

 

答案:

B

第13题(2.0分)题号:

2047

a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是().

A:

a*b/a*b==1

B:

a/b*b/a==1

C:

a/b*b+a%b==a

D:

a/b*b==a

 

答案:

C

第14题(2.0分)题号:

2259

以下关于运算符优先顺序的描述中正确的是().

A:

关系运算符<算术运算符<赋值运算符<逻辑运算符

B:

逻辑运算符<关系运算符<算术运算符<赋值运算符

C:

赋值运算符<逻辑运算符<关系运算符<算术运算符

D:

算术运算符<关系运算符<赋值运算符<逻辑运算符

 

答案:

C

第15题(2.0分)题号:

2319

在C语言中,要求运算数必须是整型的运算符是().

A:

^

B:

%

C:

!

D:

>

 

答案:

B

*第16题(2.0分)题号:

2251

以下不是无限循环的语句为().

A:

for(y=0,x=1;x>++y;x=i++)i=x;

B:

for(;;x++=i);

C:

while

(1){x++;}

D:

for(i=10;;i--)sum+=i;

 

答案:

A

第17题(2.0分)题号:

2066

下列程序的输出为().

main()

{inty=10;

while(y--);

printf("y=%d\n",y);

}

A:

y=0

B:

while构成无限循环

C:

y=1

D:

y=-1

 

答案:

D

第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分)题号:

2246

以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);().

A:

是无限循环

B:

循环次数不定

C:

4次

D:

3次

 

答案:

C

*第20题(2.0分)题号:

2058

以下程序的运行结果是().

main()

{

inti=1,sum=0;

while(i<10)sum=sum+1;i++;

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

}

A:

i=10,sum=9

B:

i=9,sum=9

C:

i=2,sum=1

D:

运行出现错误

 

答案:

D

四、程序填空共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分)题号:

33

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

【程序填空】

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

题目:

以下程序的功能如(图1)。

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

#include

#include

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

doublef(【?

】)

{

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

【?

】;

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

if(【?

】)

y=2.0*x*x+3.0*x+4.0;

else

y=-2.0*x*x+3.0*x-4.0;

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

【?

】;

}

main()

{

clrscr();

printf("%f\n",f(f(-1.0)+f(5.0)));

}

 

答案:

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

floatx

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

doublex

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

doubley

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

x<=2

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

2>=x

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

returny

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

return(y)

 

第3题(9.0分)题号:

15

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

【程序填空】

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

题目:

以下程序的功能是分别求出一批非零整数中的偶数、奇数

的平均值,用零作为终止标记。

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

main()

{

intx,i=0,j=0;

floats1=0,s2=0,av1,av2;

scanf("%d",&x);

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

while(【?

】)

{

if(x%2==0){s1=s1+x;i++;}

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

【?

】{s2=s2+x;j++;}

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

【?

】;

}

if(i!

=0)av1=s1/i;

elseav1=0;

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

if(j!

=0)【?

】;

elseav2=0;

printf("oushujunzhi:

%7.2f,jishujunzhi:

%7.2f\n",av1,av2);

}

 

答案:

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

x!

=0

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

x

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

else

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

elseif(x%2==1)

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

elseif(x%2!

=0)

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

if(x%2)

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

scanf("%d",&x)

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

av2=s2/j

 

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

第1题(10.0分)题号:

365

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

【程序设计】

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

19题目:

编写函数fun,函数的功能是:

求一个

四位数的各位数字的立方和

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

注意:

部分源程序给出如下。

请勿改动主函数

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

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

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

#include"stdio.h"

intfun(intn)

{

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

 

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

}

main()

{

intk;

k=fun(1234);

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

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

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

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

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

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

{fscanf(IN,"%d",&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n",iOUT);

}

fclose(IN);

fclose(OUT);

}

 

答案:

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

intd,k,s=0;

while(n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

returns;

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

 

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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