文档库 最新最全的文档下载
当前位置:文档库 › 上海海事大学C语言试卷6

上海海事大学C语言试卷6

上海海事大学C语言试卷6
上海海事大学C语言试卷6

试卷编号:9618

所属语言:C语言

共有题型:5种

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

第1题(分)题号:513

若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】.

int m=5,y=2;

答案:

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

-16

第2题(分)题号:84

写出语句 b=(a=6,a*3); 执行后整型变量b 的值是【1】.

答案:

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

18

第3题(分)题号:293

getchar()函数只能接收一个【1】.

答案:

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

字符

第4题(分)题号:437

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

#include "" main(){int

a=010,j=10;printf("%d,%d\n",++a,j--);}

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

9,10

第5题(分)题号:86

写出表达式 && 的值是【1】.

答案:

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

1

第6题(分)题号:303

为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.

答案:

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

if

第7题(分)题号:311

若所用变量均已正确定义,则执行下面程序段后的值是【1】.

for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n");

答案:

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

YESYES

第8题(分)题号:312

以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.

ch=getchar();

while(ch ____ 'Y')/*在括号中填写*/ ch=getchar();

答案:

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

==

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

第1题(分)题号:937

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

答案:N

第2题(分)题号:928

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

答案:Y

第3题(分)题号:715

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

答案:Y

第4题(分)题号:929

在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char

<=float

答案:Y

第5题(分)题号:947

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

第6题(分)题号:194

若有定义和语句:

int a;char c;float

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

若通过键盘输入:

10,A,,则a=10,c='A',f=.

答案:Y

第7题(分)题号:944

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

答案:Y

第8题(分)题号:961

C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出.

答案:Y

第9题(分)题号:950

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

答案:Y

第10题(分)题号:951

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

答案:Y

第11题(分)题号:723

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

答案:Y

第12题(分)题号:709

int i=20;switch(i/10){case

2:printf("A");

case 1:printf("B");}的输出结果为A.

答案:N

第13题(分)题号:742

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

答案:Y

第14题(分)题号:954

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

答案:Y

第15题(分)题号:952

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

答案:N

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

第1题(分)题号:2016

设C语言中,int类型数据占2个字节,则short类型数据占().

A:1个字节

B:2个字节

C:4个字节

D:8个字节

答案:B

第2题(分)题号:2209

若变量已正确定义并赋值,下面符合C语言语法的表达式是().

A:a:=b+1

B:a=b=c+2

C:int %3

D:a=a+7=c+b 答案:B

第3题(分)题号:2000

以下的选择中,正确的赋值语句是().

A:a=1,b=2

B:j++

C:a=b=5;

D:y=int(x)

答案:C

第4题(分)题号:2130

下列字符序列中,是C语言保留字的是(). A:sizeof

B:include

C:scanf

D:sqrt

答案:A

第5题(分)题号:2211

设以下变量均为int类型,则值不等于7的表达式是().

A:(x=y=6,x+y,x+1)

B:(x=y=6,x+y,y+1)

C:(x=6,x+1,y=6,x+y)

D:(y=6,y+1,x=y,x+1)

答案:C

第6题(分)题号:2127

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

float k=;

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

A:%%

B:%

C:%

D:.857

答案:B

第7题(分)题号:2135

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

int x=3,y=2;

printf("%d",(x-=y,x*=y+8/5));

A:1

B:7

C:3

D:5

答案:C

第8题(分)题号:2189

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

A:getchar()

B:gets()

C:scanf()

D:fread()

答案:A

第9题(分)题号:2039

若k为int型变量,则以下程序段的执行结果是().

k=-8567; printf("k=|%06D|\n");

A:格式描述符不合法,输出无定值

B:输出为k=|%06D|

C:输出为|0-8567|

D:输出为|-8567|

答案:B

第10题(分)题号:2049

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

main() {int i=010,j=10;

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

}

A:11,10

B:9,10

C:010,9

D:10,9

答案:B

第11题(分)题号:2144

int a=1,b=2,c=3;

if(a>b)a=b;

if(a>c)a=c;

则a的值为().

A:1

B:2

C:3

D:不一定

答案:A

第12题(分)题号:2259

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

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

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

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

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

答案:C

第13题(分)题号:2318

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

是().

A:&&

B:%

C:!

D:||

答案:B

第14题(分)题号:2261

若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达

式的值为"假",则以下不能满足要求的表达式是().

A:A%2==1

B:!(A%2==0)

C:!(A%2)

D:A%2

答案:C

第15题(分)题号:2063

执行下列语句后的输出为().

int j=-1;

if(j<=1) printf("****\n");

else printf("%%%%\n");

A:****

B:%%%%

C:%%%%c

D:有错,执行不正确

答案:A

第16题(分)题号:2248

下面有关 for 循环的正确描述是().

A:for 循环只能用于循环次数已经确定的情况

B:for 循环是先执行循环循环体语句,后判断表达式

C:在 for 循环中,不能用 break 语句跳出循环体

D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

答案:D

第17题(分)题号:2059

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

main()

{ int n;

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

{

if(n%3==0) continue; printf("%d",n);

}

}

A:

B:369

C:12

D:90

答案:A

第18题(分)题号:2141

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

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

for(j=1;j

putchar('#');

A:无

B:######

C:#

D:###

答案:B

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

第20题(分)题号:2249

若i为整型变量,则以下循环执行次数是(). for(i=2;i==0;) printf("%d",i--);

A:无限次

B:0次

C:1次

D:2次

答案:B

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

第1题(分)题号:405

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

【程序填空】

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

题目:要求输出结果为:

A,B

65,66

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

#include<>

void main()

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

{char a,【?】

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

a=【?】;

b='b';

a=a-32;

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

b=b-【?】;

printf("%c, %c\n%d,%d\n",a,b,a,b);

} 答案:

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

b;

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

'a'

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

97

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

32

第2题(分)题号:25

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

【程序填空】

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

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

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

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

【?】

main()

{

float x,f;

scanf("%f",&x);

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

if(x<0) 【?】;

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

else if(【?】) f=2*x+1;

else f=sin(x)+5;

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

printf("x=%f,y=%f\n", 【?】);

}

答案:

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

#include ""

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

#include <>

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

f=fabs( x + 1 )

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

x<=5

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

5>=x

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

x<6

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

6>x

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

x>=0&&x<=5

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

0<=x&&x<=5

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

x>=0&&5>=x

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

0<=x&&5>=x

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

!(x>5)

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

x,f

第3题(分)题号:24

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

【程序填空】

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

题目:以下程序的功能是对任一整数N(N≠0),它都可以分解成1

(或-1)和一些质数(素数)因子的形式。如N=150时,可分

解成1×2×3×5×5;N=-150时,可分解为-1×2×3×5×5。

下边程序能实现这种分解过程。当

N=150,输出以下分解结

果:N= 1* 2* 3* 5* 5

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

main()

{

int n,i,j,r;

scanf("%d",&n);

if (n==0)

{

printf ("data error \n");

exit(0);

}

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

else if (【?】 )

printf("n=1");

else

{

printf("n=-1");

n=-n;

}

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

for(【?】;i<=n;i++)

{

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

【?】 ;

while(r==0)

{

printf("*%d",i);

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

【?】 ;

r=n%i;

}

}

printf("\n");

}

答案:

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

n>0

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

0

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

i=2

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

r=n%i

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

n=n/i

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

n/=i

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

第1题(分)题号:365

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

【程序设计】

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

19题目:编写函数fun,函数的功能是:求一个

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

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

注意:部分源程序给出如下。请勿改动主函数 main和其它函数中的任何内容,仅在函

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

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

#include ""

int fun(int n)

{ /**********Program**********/

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

}

main()

{

int k;

k=fun(1234);

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

yzj();

getch();

}

yzj()

{

FILE *IN,*OUT;

int iIN,iOUT,i;

IN=fopen("","r");

if(IN==NULL)

{printf("Please Verify The Currernt Dir..It May Be Changed");

}

OUT=fopen("","w");

if(OUT==NULL)

{printf("Please Verify The Current Dir.. It May Be Changed");

}

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

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

iOUT=fun(iIN);

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

}

fclose(IN);

fclose(OUT);

}

答案:---------------------- int d,k,s=0;

while (n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

return s;

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

相关文档