大学计算机C语言期末考试复习试题及答案 24.docx

上传人:b****2 文档编号:17648108 上传时间:2023-07-27 格式:DOCX 页数:26 大小:19.11KB
下载 相关 举报
大学计算机C语言期末考试复习试题及答案 24.docx_第1页
第1页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第2页
第2页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第3页
第3页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第4页
第4页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第5页
第5页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第6页
第6页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第7页
第7页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第8页
第8页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第9页
第9页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第10页
第10页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第11页
第11页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第12页
第12页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第13页
第13页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第14页
第14页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第15页
第15页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第16页
第16页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第17页
第17页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第18页
第18页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第19页
第19页 / 共26页
大学计算机C语言期末考试复习试题及答案 24.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

大学计算机C语言期末考试复习试题及答案 24.docx

《大学计算机C语言期末考试复习试题及答案 24.docx》由会员分享,可在线阅读,更多相关《大学计算机C语言期末考试复习试题及答案 24.docx(26页珍藏版)》请在冰点文库上搜索。

大学计算机C语言期末考试复习试题及答案 24.docx

大学计算机C语言期末考试复习试题及答案24

试卷总分:

100分

共有题型:

6种

 

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

第1题(1.0分)

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

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

941282107513

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

答案:

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

3

 

第2题(1.0分)

表达式18&&53的值是【1】.

答案:

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

1

 

第3题(1.0分)

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

顺序结构,选择结构,【1】结构.

答案:

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

循环

 

第4题(1.0分)

预处理命令行都必须以【1】号开始.

答案:

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

#

 

第5题(1.0分)

设i,j,k均为int型变量,则执行完for循环

 

for(i=0,j=10;i<=j;i++,j--)k=i+j;

 

后,k的值为【1】.

答案:

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

10

 

第6题(1.0分)

程序段intk=10;while(k=0)k=k-1循环体语句执行【1】次.

答案:

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

0

 

第7题(1.0分)

执行下列语句后,*(p+1)的值是【1】.

chars[3]="ab",*p;

p=s;

答案:

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

b

 

第8题(1.0分)

若输入字符串:

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

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

答案:

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

0

 

第9题(1.0分)

如果函数不要求带回值,可用【1】来定义函数返回值为空.

答案:

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

void

 

第10题(1.0分)

C语言中,数组元素的下标下限为【1】.

答案:

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

0

 

第11题(1.0分)

inta=1,b=2,c=3;执行语句a=b=c;后a的值是【1】.

答案:

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

3

 

第12题(1.0分)

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

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

941282107513

该数组可用的最小下标值是【1】.

答案:

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

0

 

第13题(1.0分)

将数组a的首地址赋给指针变量p的语句是【1】.

答案:

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

p=a;

 

第14题(1.0分)

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

#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}

答案:

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

9,10

 

第15题(1.0分)

假设有条件intx=1,y=2,z=3;则表达式z+=x>y?

++x:

++y的值是【1】.

答案:

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

6

 

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

第1题(1.0分)

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

答案:

N

第2题(1.0分)

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

答案:

N

第3题(1.0分)

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

答案:

Y

第4题(1.0分)

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

答案:

Y

第5题(1.0分)

数组中的元素类型不能不同

答案:

Y

第6题(1.0分)

a=(b=4)+(c=6)是一个合法的赋值表达式.

答案:

Y

第7题(1.0分)

inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列

的元素赋初值,其余元素值为0.

答案:

Y

第8题(1.0分)

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

答案:

Y

第9题(1.0分)

inti,*p=&i;是正确的C说明语句.

答案:

Y

第10题(1.0分)

语句"int*pi,pj"定义了两个指针变量

答案:

N

第11题(1.0分)

如果函数值的类型和return语句中表达式的值不一致,则以

函数类型为准.

答案:

Y

第12题(1.0分)

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

答案:

N

第13题(1.0分)

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

答案:

Y

第14题(1.0分)

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

答案:

N

第15题(1.0分)

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

答案:

N

三、单项选择共17题(共计34分)

第1题(2.0分)

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

floatx=213.82631;

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

A:

213.82

B:

213.83

C:

213

D:

3.8

 

答案:

C

第2题(2.0分)

下列定义不正确的是().

A:

#definePI3.141592

B:

#defineS345

C:

intmax(x,y);intx,y;{}

D:

staticcharc;

 

答案:

C

第3题(2.0分)

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

charc[]="abc";

inti=0;

dowhile(c[i++]!

='\0');printf("%d",i-1);

A:

abc

B:

ab

C:

2

D:

3

 

答案:

D

第4题(2.0分)

若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

第5题(2.0分)

对for(表达式1;;表达式3)可理解为().

A:

for(表达式1;0;表达式3)

B:

for(表达式1;1;表达式3)

C:

for(表达式1;表达式1;表达式3)

D:

for(表达式1;表达式3;表达式3)

 

答案:

B

第6题(2.0分)

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

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

for(j=1;j

putchar('#');

A:

B:

######

C:

#

D:

###

 

答案:

B

第7题(2.0分)

下列语句的结果是().

main()

{intj;

j=3;

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

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

}

A:

3,3

B:

3,4

C:

4,3

D:

4,4

 

答案:

D

第8题(2.0分)

设a=12,且a定义为整型变量.执行语句a+=a-=a*=a;后a的值为().

A:

12

B:

144

C:

0

D:

132

 

答案:

C

第9题(2.0分)

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

A:

3

B:

4

C:

5

D:

不定

 

答案:

C

第10题(2.0分)

若有chara[80],*s=a;正确的输入语句是().

A:

scanf("%s",s);

B:

gets(*s);

C:

scanf("%c",s);

D:

getchar(s,80);

 

答案:

A

第11题(2.0分)

以下函数调用语句中实参的个数是().

func((e1,e2),(e3,e4,e5));

A:

2

B:

3

C:

5

D:

语法错误

 

答案:

A

第12题(2.0分)

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

A:

<

B:

+

C:

&&

D:

!

=

 

答案:

B

第13题(2.0分)

inta[10];

给数组a的所有元素分别赋值为1、2、3、……的语句是().

A:

for(i=1;i<11;i++)a[i]=i;

B:

for(i=1;i<11;i++)a[i-1]=i;

C:

for(i=1;i<11;i++)a[i+1]=i;

D:

for(i=1;i<11;i++)a[0]=1;

 

答案:

B

第14题(2.0分)

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

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

A:

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

B:

输出为k=|%06D|

C:

输出为|0-8567|

D:

输出为|-8567|

 

答案:

B

第15题(2.0分)

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

A:

^

B:

%

C:

!

D:

>

 

答案:

B

第16题(2.0分)

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

A:

~

B:

!

C:

&

D:

!

=

 

答案:

D

第17题(2.0分)

若有说明:

inta[][3]={1,2,3,4,5,6,7,8,9};则a数组第一维的大小是().

A:

2

B:

3

C:

4

D:

无确定值

 

答案:

B

四、程序填空共2题(共计12分)

第1题(6.0分)

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

【程序填空】

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

题目:

以下程序的功能如(图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)

 

第2题(6.0分)

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

【程序填空】

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

题目:

已定义一个含有30个元素的数组s,函数fun1的功能是按

顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序

每五个元素求一个平均值,并将该值存放在数组w中。

程序中有4个空,填空使程序完整。

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

floats[30],w[6];

fun1(floats[])

{

intk,i;

for(k=2,i=0;i<30;i++)

{

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

【?

k+=2;

}

}

fun2(floats[],floatw[])

{

floatsum=0.0;

intk,i;

for(k=0,i=0;i<30;i++)

{

sum+=s[i];

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

【?

{

w[k]=sum/5;

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

【?

k++;

}

}

}

main()

{inti;

fun1(s);

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

【?

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

{

if(i%5==0)printf("\n");

printf("%8.2f",s[i]);

}

printf("\n");

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

printf("%8.2f",w[i]);

}

 

答案:

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

s[i]=k;

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

s[i]=(i+1)*2

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

if((i+1)%5==0)

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

if((i+1)/5*5==i+1)

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

sum=0;

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

sum=0.0;

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

fun2(s,w);

 

五、程序改错共1题(共计6分)

第1题(6.0分)

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

【程序改错】

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

题目:

函数fun的功能是:

输出Fabonacci数列的前20项,要求变

量类型定义成浮点型,输出时只输出整数部分,输出项

数不得多于或少于20。

请改正程序中的4个错误,使它能得出正确的结果。

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

注意:

不可以增加或删除程序行,也不可以更改程序的结构。

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

 

fun()

{

inti;

floatf1=1,f2=1,f3;

/**********FOUND**********/

printf("%8d",f1);

/**********FOUND**********/

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

{

f3=f1+f2;

/**********FOUND**********/

f2=f1;

/**********FOUND**********/

f3=f2;

printf("%8.0f",f1);

}

printf("\n");

}

main()

{

fun();

}

 

答案:

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

printf("%8.0f",f1);

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

printf("%f",f1);

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

printf("%8f",f1);

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

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

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

for(i=1;20>i;i++)

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

for(i=2;i<=20;i++)

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

for(i=2;20>=i;i++)

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

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

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

for(i=1;19>=i;i++)

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

f1=f2;

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

f2=f3;

 

六、程序设计共3题(共计18分)

第1题(6.0分)

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

【程序设计】

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

题目:

编写函数求1~100中奇数的平方和。

结果为166650。

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

注意:

部分源程序给出如下。

请勿改动主函数

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

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

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

#include"stdio.h"

floatsum(intn)

{

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

 

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

}

main()

{

printf("sum=%f\n",sum(100));

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intn;

inti;

floato;

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

if(IN==NULL)

{printf("ReadFileError");

}

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

if(OUT==NULL)

{printf("WriteFileError");

}

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

o=sum(i);

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

fclose(IN);

fclose(OUT);

}

 

答案:

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

floats=0;

inti,j;

for(i=1;i<=n;i=i+2)

s=s+i*i;

return(s);

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

第2题(6.0分)

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

【程序设计】

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

题目:

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

找出一批

正整数中的最大的偶数。

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

注意:

部分源程序给出如下。

请勿改动主函数

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

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

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

#include"stdio.h"

intfun(inta[],intn)

{

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

 

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

}

main()

{

inta[]={1,2,9,24,35,18},k;

k=fun(a,6);

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

yzj();

getch();

}

yzj()

{

FILE*IN,*OUT;

intiIN[10],iOUT,i,j;

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

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

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

if(OUT==NULL)

{printf("PleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

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

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

iOUT=fun(iIN,10);}\

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

fclose(IN);

fclose(OUT);

}

 

答案:

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

inti,amax=-1;

for(i=0;i

if(a[i]%2==0)

if(a[i]>amax)amax=a[i];

returnamax;

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

第3题(6.0分)

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

【程序设计】

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

题目:

编写函数fun其功能是:

根据整型形参m,

计算如下公式的值:

y=1+1/3+1/5+1/7+...+1/(2m+1)

例如:

若m=9,则应输出:

2.133256

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

注意:

部分源程序给出如下。

请勿改动主函数main

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

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

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

#include"stdio.h"

 

doublefun(intm)

{

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

 

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

}

main()

{intn;

clrscr();

printf("Entern:

");

scanf("%d",&n);

printf("\nTheresultis%1f\n",fun(n));

yzj();

getch();

}

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

当前位置:首页 > 工作范文 > 其它

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

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