c语言试题1 6.docx

上传人:b****0 文档编号:17508552 上传时间:2023-07-26 格式:DOCX 页数:18 大小:19.25KB
下载 相关 举报
c语言试题1 6.docx_第1页
第1页 / 共18页
c语言试题1 6.docx_第2页
第2页 / 共18页
c语言试题1 6.docx_第3页
第3页 / 共18页
c语言试题1 6.docx_第4页
第4页 / 共18页
c语言试题1 6.docx_第5页
第5页 / 共18页
c语言试题1 6.docx_第6页
第6页 / 共18页
c语言试题1 6.docx_第7页
第7页 / 共18页
c语言试题1 6.docx_第8页
第8页 / 共18页
c语言试题1 6.docx_第9页
第9页 / 共18页
c语言试题1 6.docx_第10页
第10页 / 共18页
c语言试题1 6.docx_第11页
第11页 / 共18页
c语言试题1 6.docx_第12页
第12页 / 共18页
c语言试题1 6.docx_第13页
第13页 / 共18页
c语言试题1 6.docx_第14页
第14页 / 共18页
c语言试题1 6.docx_第15页
第15页 / 共18页
c语言试题1 6.docx_第16页
第16页 / 共18页
c语言试题1 6.docx_第17页
第17页 / 共18页
c语言试题1 6.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

c语言试题1 6.docx

《c语言试题1 6.docx》由会员分享,可在线阅读,更多相关《c语言试题1 6.docx(18页珍藏版)》请在冰点文库上搜索。

c语言试题1 6.docx

c语言试题16

一、填空共5题(共计20分)

第1题(4.0分)题号:

1167

若有以下数组a,数组元素:

a[0]~a[9],其值为

941282107513

该数组中下标最大的元素的值是【1】.

答案:

(答案1)3

第2题(4.0分)题号:

682

已知a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为【1】.

答案:

(答案1)1

第3题(4.0分)题号:

1532

c语言程序的三种基本结构是:

顺序结构,选择结构,【1】结构.答案:

(答案1)循环

第4题(4.0分)题号:

310

当a=3,b=2,c=1;时,执行以下程序段后c=【1】.

if(a>b)a=b;

if(b>c)b=c;

elsec=b;

c=a;

答案:

(答案1)2

第5题(4.0分)题号:

1522

若有定义:

inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是【1】.

c=(a-=(b-5));

c=(a%11)+(b=3);

答案:

(答案1)3

二、单项选择共15题(共计30分)

第1题(2.0分)题号:

672

C语言允许函数类型缺省定义,此时函数值隐含的类型是()。

A:

float

B:

int

C:

long

D:

double

答案:

B

第2题(2.0分)题号:

707

若有说明:

int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。

A:

p1=&m;p2=&p1

B:

p1=&m;p2=&n;*p1=*p2;

C:

p1=&m;p2=p1;

D:

p1=&m;*p2=*p1;

答案:

C

第3题(2.0分)题号:

431

下列程序的输出结果是()。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

case0:

a++;break;

;case1:

b++;break;

case2:

a++;b++;break;

case3:

a++;b++;break;

}

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

}

A:

a=1,b=0

B:

a=2,b=1

C:

a=1,b=1

D:

a=2,b=2

答案:

B

第4题(2.0分)题号:

647

以下能对二维数组a进行正确初始化的语句是()。

A:

inta[2][]={{1,0,1},{5,2,3}};B:

inta[][3]={{1,2,3},{4,5,6}};C:

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

D:

inta[][3]={{1,0,1}{},{1,1}

答案:

B

第5题(2.0分)题号:

666

若调用一个函数,且此函数中没有return语句,则正确的说法是:

该函数()。

A:

没有返回值

B:

返回若干个系统默认值

C:

能返回一个用户所希望的值

D:

返回一个不确定的值

答案:

D

第6题(2.0分)题号:

516

staticcharstr[10]="China";数组元素个数为()。

A:

5

B:

6

C:

9

D:

10答案:

D

第7题(2.0分)题号:

503

以下语句中,不能实现回车换行的是()。

A:

printf("\n");

B:

putchar("\n");

C:

fprintf(stdout,"\n");

D:

fwrite("\n",1,1,stdout);答案:

B

第8题(2.0分)题号:

617

执行语句for(i=1;i++<4;);后变量i的值是()。

A:

3

B:

4

C:

5

D:

不定答案:

C

第9题(2.0分)题号:

182

执行下面程序后,输出结果是()。

main()

{a=45,b=27,c=0;

c=max(a,b);

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

}

intmax(x,y)

intx,y;

{intz;

if(x>y)z=x;

elsez=y;

return(z);

}

A:

45

B:

27

C:

18

D:

72

答案:

A

第10题(2.0分)题号:

107

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

A:

1个字节

B:

2个字节

C:

4个字节

D:

8个字节答案:

C

第11题(2.0分)题号:

151

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

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

第12题(2.0分)题号:

557

打开文件时,方式“w”决定了对文件进行的操作是()。

A:

只写盘

B:

只读盘

C:

可读可写盘

D:

追加写盘

答案:

A

第13题(2.0分)题号:

743

C语言结构体类型变量在程序执行期间()。

A:

所有成员一直驻留在内存中

B:

只有一个成员驻留在内存中

C:

部分成员驻留在内存中

D:

没有成员驻留在内存中

答案:

A

第14题(2.0分)题号:

728

已知函数的调用形式:

fread(buffer,size,count,fp);其中buffer

代表的是()。

A:

一个整数,代表要读入的数据项总数

B:

一个文件指针,指向要读的文件

C:

一个指针,指向要读入数据的存放地址

D:

一个存储区,存放要读的数据项

答案:

C第15题(2.0分)题号:

538

位字段数据的单位是()位。

A:

十六进制

B:

八进制

C:

二进制

D:

十进制

答案:

C

三、程序填空共5题(共计30分)

第1题(6.0分)题号:

35

功能:

计算并输出high以内最大的10个素数之和,high由主函数传

给fun函数,若high的值为100,则函数的值为732。

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

#include

#include

#include

intfun(inthigh)

{

intsum=0,n=0,j,yes;

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

while((high>=2)&&(【?

】))

{

yes=1;

for(j=2;j<=high/2;j++)

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

if(【?

】)

{

yes=0;

break;

}

if(yes)

{

sum+=high;

n++;

}

high--;

}

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

【?

】;

}

main()

{

printf("%d\n",fun(100));

}答案(答案1)n<10

或10>n(答案2)high%j==0

或!

(high%j)(答案3)

returnsum或return(sum)

第2题(6.0分)题号:

394

功能:

用条件编译方法实现以下功能。

输入一行电报文字,可以任

选两种方式输出,一种为原文输出;另一种将字母变成下

一个字母(如a变成b,C变成D,其他字符不变)输出。

#include

#defineCHANGE

main()

{

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

charstr[80],【?

】=str;

printf("inputstring:

");

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

gets【?

】;

printf("Outputstring:

");

#ifdefCHANGE

for(;*s!

='\0';s++)

{

if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z')

{

(*s)++;

if(*s>'Z'&&*s<'Z'+2)

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

【?

】;

if(*s>'z')

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

*s=【?

】;

}

}

printf("%s\n",str);

#else

printf("%s\n",str);

#endif

}

答案:

(答案1)*s(答案2)(str)或(s)(答案3)*s='A'

(答案4)'a'

第3题(6.0分)题号:

32

功能:

计算并输出500以内最大的10个能被13或17整除的自然数之和。

#include

#include

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

intfun(【?

】)

{

intm=0,mc=0;

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

while(k>=2&&【?

】)

{

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

if(k%13==0||【?

】)

{

m=m+k;

mc++;

}

k--;

}

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

【?

】;

}

main()

{

printf("%d\n",fun(500));

}

答案:

(答案1)intk

(答案2)mc<10或10>mc

或mc<=9或9>=mc(答案3)k%17==0或!

(k%17或

k/17*17==k

(答案4)returnm

或return(m)

第4题(6.0分)题号:

401

功能:

输入某年某月某日,判断这一天是这一年的第几天?

#include

main()

{

intday,month,year,sum,leap;

printf("\npleaseinputyear,month,day\n");

scanf("%d,%d,%d",&year,&month,&day);

switch(month)

{

case1:

sum=0;break;

case2:

sum=31;break;

case3:

sum=59;break;

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

case4:

【?

】;break;

case5:

sum=120;break;

case6:

sum=151;break;

case7:

sum=181;break;

case8:

sum=212;break;

case9:

sum=243;break;

case10:

sum=273;break;

case11:

sum=304;break;

case12:

sum=334;break;

default:

printf("dataerror");break;

}

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

【?

】;

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

if(year%400==0||(【?

】)

leap=1;

else

leap=0;

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

if(【?

】)

sum++;

printf("itisthe%dthday.",sum);

}答案:

答案1)sum=90

(答案2)sum=sum+day

或sum=sum+day

(答案3

year%4==0&&year%100!

=0)(答案4)leap==1&&month>2或leap==1&&month>2或leap==1&&2

第5题(6.0分)题号:

458

功能:

用等分法在有序的循环数组中,找到最小元素的位置。

#include

intcyclic_min(intx[],intn)

{

intleft=0;

intright=n-1;

intmid;

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

while(【?

】)

{

mid=(left+right)/2;

if(x[mid]

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

【?

】;

else

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

【?

】;

}

returnleft;

}

#include

voidmain(void)

{

intx[]={20,23,28,35,39,40,42,8,10,15,17,19};

intn=sizeof(x)/sizeof(int);

intloc,i;

printf("\nFindCyclicMinimum");

printf("\n===================");

printf("\n\nGivenArraySortedinCyclicFashion:

\n");

for(i=0;i

printf("%3d",x[i]);

loc=cyclic_min(x,n);

printf("\n\nMinimumislocatedatx[%d]=%d",loc,x[loc]);

}答案:

(答案1)leftleft

(答案2)right=mid

(答案3)left=mid+1

或left=1+mid

四、程序设计共2题(共计20分)

第1题(10.0分)题号:

394

功能:

产生20个[30,120]上的随机整数放入二维数组

a[5][4]中,求其中的最小值。

#include"stdlib.h"

#include

voidwwjt();

intamin(inta[5][4])/**********Program**********/

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

}

main()

{

inta[5][4],i,j;

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

for(j=0;j<4;j++)

a[i][j]=random(120-30+1)+30;

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

{

for(j=0;j<4;j++)

printf("%5d",a[i][j]);

printf("\n");

}

printf("min=%d\n",amin(a));

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intm,n;

inti[5][4];

into;

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

if(IN==NULL)

{

printf("ReadFILEError");

}

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

if(OUT==NULL)

{

printf("WriteFILEError");

}

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

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

{

fscanf(IN,"%d",&i[m][n]);

}

o=amin(i);

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

fclose(IN);

fclose(OUT);

}答案:

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

inti,j,s;

s=a[0][0];

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

for(j=0;j<4;j++)

if(s>a[i][j])s=a[i][j];

return(s);

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

第2题(10.0分)题号:

23

功能:

从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论

信息。

例如:

7是素数,8不是素数。

请编写fun函数。

素数是

仅能被1和自身整除的数

#include

voidwwjt();

intfun(intn)

{

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

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

}

main()

{

intm,flag;

printf("inputaninteger:

");

scanf("%d",&m);

flag=fun(m);

if(flag)

printf("%disaprime.\n",m);

else

printf("%disnotaprime.\n",m);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

intiIN,iOUT,i;

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

if(IN==NULL)

{

printf("PleaseVerifyTheCurrerntDir..itMayBeChanged");

}

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

if(OUT==NULL)

{

printf("PleaseVerifyTheCurrentDir..itMayBeChanged");

}

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

{

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

iOUT=fun(iIN);

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

}

fclose(IN);

fclose(OUT);

}

答案:

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

inti;

intj;

j=1;

for(i=2;i

{if(n%i==0)j=0;

}

returnj;

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

 

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

当前位置:首页 > 高等教育 > 院校资料

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

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