c语言试题1 5.docx

上传人:b****8 文档编号:29556690 上传时间:2023-07-24 格式:DOCX 页数:18 大小:19.64KB
下载 相关 举报
c语言试题1 5.docx_第1页
第1页 / 共18页
c语言试题1 5.docx_第2页
第2页 / 共18页
c语言试题1 5.docx_第3页
第3页 / 共18页
c语言试题1 5.docx_第4页
第4页 / 共18页
c语言试题1 5.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c语言试题1 5.docx

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

c语言试题1 5.docx

c语言试题15

资料收集于网络,如有侵权请联系网站删除

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

第1题(4.0分)题号:

601

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

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

941282107513

该数组中下标最小的元素名字是【1】.答案:

(答案1)a[0]

第2题(4.0分)题号:

327

执行语句charstr[81]=abcdef;后,字符串str结束标志存储在str[【1】]

(在括号内填写下标值)中.答案:

(答案1)6

第3题(4.0分)题号:

1568

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

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

(1)1答案:

294

题号(4.0分)第4题.】结构、选择结构、循环结构C语言的三种基本结构是【1顺序答案:

(答案1):

1555

题号(4.0分)第5题

.,请填写以下程序段的输出结果【1】若所用变量都已正确定义for(i=1;i<=5;i++);

printf(OK\n);

1)OK

答案:

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

:

109分)题号第1题(2.0类型数据占()。

C语言中,doubleA:

1个字节B:

2个字节C:

4个字节D:

8个字节D

答案:

:

201

题号(2.0分)第2题。

当定义一个结构体变量时,系统分配给它的内存是()A:

各成员所需内存量的总和B:

结构中第一个成员所需内存量C:

结构中最后一个成员所需内存量AD:

成员中占内存量最大者所需的容量答案:

题号:

527题3(2.0分)第。

全局变量的定义不可能在()函数内部A:

函数外面B:

C:

文件外面最后一行答案:

AD:

:

498

分)(2.0题号题第4。

语言关系运算符的是()下列运算符中是CA:

~

B:

!

C:

&

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

D:

!

=

答案:

D

第5题(2.0分)题号:

169

下列说法不正确的是()。

A:

主函数main中定义的变量在整个文件或程序中有效

B:

不同函数中,可以使用相同名字的变量

C:

形式参数是局部变量

D:

在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

答案:

A

第6题(2.0分)题号:

671

C语言规定:

简单变量做实参时,它和对应形参之间的数据传递方式是()。

A:

地址传递

B:

单向值传递

C:

由实参传给形参,再由形参传回给实参

D:

由用户指定的传递方式

答案:

B

第7题(2.0分)题号:

510

inta=3,b=2,c=1;

if(a>b>c)a=b;

elsea=c;

则a的值为()。

A:

3B:

2C:

1D:

0

答案:

C

第8题(2.0分)题号:

675

关于建立函数的目的,以下正确的说法是()。

A:

提高程序的执行效率

B:

提高程序的可读性

C:

减少程序的篇幅

D:

减少程序文件所占内存

答案:

B

第9题(2.0分)题号:

540

指针变量p进行自加运算(即执行p++;)后,地址偏移值为2,则其

数据类型为()。

A:

int

B:

float

C:

double

D:

char

答案:

A

第10题(2.0分)题号:

524

与实际参数为实型数组名相对应的形式参数不可以定义为()。

A:

floata[];

B:

float*a;

C:

floata;

D:

float(*a)[3];

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

答案:

C

第11题(2.0分)题号:

721

fseek函数的正确调用形式是()。

A:

fseek(文件类型指针,起始点,位移量)

B:

fseek(fp,位移量,起始点)

C:

fseek(位移量,起始点,fp)

D:

fseek(起始点,位移量,文件类型指针)答案:

B

第12题(2.0分)题号:

177

以下描述中,正确的是()。

A:

预处理是指完成宏替换和文件包含中指定的文件的调用

B:

预处理指令只能位于C源文件的开始

C:

C源程序中凡是行首以#标识的控制行都是预处理指令

D:

预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

答案:

C

第13题(2.0分)题号:

548

char*match(charc)是()。

A:

函数定义的头部

B:

函数预说明

C:

函数调用

D:

指针变量说明答案:

A

第14题(2.0分)题号:

515

inti,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数

1,2,3,4,5,6存入a数组的是()。

A:

for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;

B:

for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;

C:

for(i=0;i<6;i++)a[i/3][i%3]=i+1;

D:

for(i=1;i<=6;i++)a[i][i]=i;答案:

D第15题(2.0分)题号:

732

若执行fopen函数时发生错误,则函数的返回值是()。

A:

地址值

B:

0

C:

1

D:

EOF

答案:

B

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

第1题(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'

第2题(6.0分)题号:

461

功能:

从键盘输入一个字符串,将小写字母全部转换成大写字母,

然后输出到一个磁盘文件“test”中保存。

输入的字符串

以!

结束。

#include

#include

#include

main()

{

FILE*fp;

charstr[100];

inti=0;

if((fp=fopen(est,w))==NULL)

{

printf(cannotopenthefile\n);

exit(0);

}

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

printf(pleaseinputastring:

\n);

gets(str);

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

while(【?

】)

{

if(str[i]>='a'&&str[i]<='z')

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

【?

】;

fputc(str[i],fp);

i++;

}

fclose(fp);

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

fp=fopen(est,【?

】);

fgets(str,strlen(str)+1,fp);

printf(%s\n,str);

fclose(fp);

}答案:

(答案1)str[i]!

='!

'(答案2)str[i]=str[i]-32

或str[i]=str[i]-32

(答案?

尠屲或wr

或wr+

第3题(6.0分)题号:

490

功能:

利用函数计算连续的数组元素累加和的最大值。

如果最大

值是负数则返回0;

#include

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

intmax_sum(【?

】,intn)

{

intmax_ending_here=0;

intmax_so_far=0;

inti;

for(i=0;i

{

if(max_ending_here+x[i]<0)

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

【?

】;

else

max_ending_here+=x[i];

if(max_ending_here>max_so_far)

max_so_far=max_ending_here;

}

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

【?

】;

}

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

#include

voidmain(void)

{

intx[]={2,-3,1,-1,3,-2,-3,3};

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

inti;

printf(\

MaximumConsecutiveElementsSumProgram);

printf(\

========================================);

printf(\

\nGivenArray:

);

for(i=0;i

printf(M,x[i]);

printf(\

\nMaximumSumis%d,max_sum(x,n));

}答案:

(答案1)intx[]

(答案2)max_ending_here=0(答案3)returnmax_so_far

第4题(6.0分)题号:

474

功能:

读入一行字符(如:

a、...y、z),按输入时的逆序建立一个

链接式的结点序列,即先输入的位于链表尾,然后再按输入

的相反顺序输出,并释放全部结点。

#include

#include

main()

{

structnode

{

charinfo;

structnode*link;

}*top,*p;

charc;

top=NULL;

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

while((c=【?

】)!

='\n')

{

p=(structnode*)malloc(sizeof(structnode));

p->info=c;

p->link=top;

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

【?

】;

}

while(top)

{

p=top;

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

【?

】;

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

putchar(p->info);

free(p);

}

}答案:

(答案1)getchar()

(答案2)top=p(答案3)top=top->link

第5题(6.0分)题号:

31

功能:

用冒泡法对数组a进行由小到大的排序。

#include

voidfun(inta[],intn)

{

inti,j,t;

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

for(j=0;【?

】;j++)

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

for(i=0;【?

】;i++)

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

if(【?

】)

{

t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}

}

main()

{

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

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

【?

】;

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

printf(=,a[i]);

}答案:

(答案1)j<=n-1

或n-1>=j或j<=-1+n或-1+n>=j或jj

或j

或n-j-1>i或i

或n-1-j>i或i<=n-j-2

或i<=n-2-j(答案3)a[i]>a[i+1]或a[i+1]

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

第1题(10.0分)题号:

316

功能:

统计出若干个学生的平均成绩,最高分以及得最高

分的人数。

例如:

输入10名学生的成绩分别为92,87,68,56,92,

84,67,75,92,66,则输出平均成绩为77.9,

最高分为92,得最高分的人数为3人。

#include

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

voidwwjt();

floatMax=0;

intJ=0;

floatfun(floatarray[],intn)

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

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

}

main()

{

floata[10],ave;

inti=0;

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

scanf(%f,&a[i]);

ave=fun(a,10);

printf(ave=%f\n,ave);

printf(max=%f\n,Max);

printf(Total:

%d\n,J);

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

floatiIN[10],iOUT;

intiCOUNT;

IN=fopen(in.dat,

);

if(IN==NULL)

{

printf(PleaseVerifyTheCurrerntDir..itMayBeChanged);

}

OUT=fopen(out.dat,w);

if(OUT==NULL)

{

printf(PleaseVerifyTheCurrentDir..itMayBeChanged);

}

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

fscanf(IN,%f,&iIN[iCOUNT]);

iOUT=fun(iIN,10);

fprintf(OUT,%f%f\n,iOUT,Max);

fclose(IN);

fclose(OUT);

}答案:

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

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

inti;floatsum=0,ave;

Max=array[0];

for(i=0;i

{if(Max

sum=sum+array[i];}

ave=sum/n;

for(i=0;i

if(array[i]==Max)J++;

return(ave);

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

第2题(10.0分)题号:

363

功能:

求一个给定字符串中的字母的个数。

#include

voidwwjt();

intfun(chars[])

{

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

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

}

main()

{

charstr[]=Bestwishesforyou!

;

intk;

k=fun(str);

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

wwjt();

}

voidwwjt()

{

FILE*IN,*OUT;

charsin[80];

intiOUT,i;

IN=fopen(in.dat,

);

if(IN==NULL)

{

printf(PleaseVerifyTheCurrerntDir..itMayBeChanged);

}

OUT=fopen(out.dat,w);

if(OUT==NULL)

{

printf(PleaseVerifyTheCurrentDir..ItMayBeChanged);

只供学习与交流.

资料收集于网络,如有侵权请联系网站删除

}

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

{

fscanf(IN,%s,sin);

iOUT=fun(sin);

}

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

fclose(IN);

fclose(OUT);

}

答案:

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

inti,k=0;

for(i=0;s[i]!

='\0';i++)

if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')

k++;

returnk;

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

只供学习与交流.

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

当前位置:首页 > 经管营销 > 经济市场

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

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