C语言程序设计期末上机试题2

更新时间:2023-04-14 04:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

试卷编号:8157

所属语言:C语言

试卷方案:C语言201006模拟

试卷总分:100分

共有题型:5种

一、判断共10题(共计20分)

第1题(2.0分)题号:1147

一个字符型数据可以用整型数据格式输出,一个整数(只限于与字符相对应的整数)也可以用字符形式输出.

答案:Y

第2题(2.0分)题号:1284

在C语言中,void型函数将返回一个void型的数值.

答案:N

第3题(2.0分)题号:1106

C语言的函数可以嵌套定义.

答案:N

第4题(2.0分)题号:15

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

答案:Y

第5题(2.0分)题号:1229

函数嵌套就是在定义函数的函数体中调用被定义的函数本身.

答案:N

第6题(2.0分)题号:1238

在C语言中,FLOAT可以被定义为变量名.

答案:Y

第7题(2.0分)题号:1245

函数的递归就是反复地进行函数调用.

答案:N

第8题(2.0分)题号:1224

在C语言程序中, 同一个问题可以有多种实现算法.

答案:Y

第9题(2.0分)题号:1282

字符型数据与整型数据之间可以互相赋值和运算.

答案:Y

第10题(2.0分)题号:1110

c程序总是从程序的第一条语句开始执行.

答案:N

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

第1题(2.0分)题号:87

C语言源程序的基本单位是()。

A:过程

B:函数

C:子程序

D:标识符

答案:B

第2题(2.0分)题号:139

定义双精度实型变量应使用( ).

A:long int

B:float

C:char

D:double

答案:D

第3题(2.0分)题号:633

对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。

A:将5个初值依次赋给a[1]至a[5]

B:将5个初值依次赋给a[0]至a[4]

C:将5个初值依次赋给a[6]至a[10]

D:因为数组长度与初值的个数不相同,所以此语句不正确

答案:B

第4题(2.0分)题号:655

假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()。

A:3

B:6

C:10

D:20

答案:D

第5题(2.0分)题号:117

在程序设计中,下面关于算法的最恰当描述是( ).

A:算法是求解问题的数学计算公式

B:流程图是描述算法的唯一方法

C:在某一算法中,至少应该有一个输入(或多个输入).

D:同一个问题可能有多种实现算法

答案:D

第6题(2.0分)题号:114

下列数据中,为字符串常量的是()。

A:A

B:"house"

C:How do you do.

D:$abc

答案:B

第7题(2.0分)题号:673

C语言规定,函数返回值的类型是由()。

A:return语句中的表达式类型所决定

B:调用该函数时的主调函数类型所决定

C:调用该函数时系统临时决定

D:在定义该函数时所指定的函数类型所决定

答案:D

第8题(2.0分)题号:138

下列( )不是C语言数据类型中的基本类型.

A:整型

B:数组类型

C:单精度型

D:字符类型

答案:B

第9题(2.0分)题号:89

以下标识符中,不能作为合法的C用户定义标识符的是()。

A:a3_b3

B:void

C:_123

D:IF

答案:B

第10题(2.0分)题号:586

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

A:5E2.0

B:E-3

C:.2E0

D:1.3E

答案:C

第11题(2.0分)题号:3130

下列说法中错误的是

A:一个数组只允许存储同种类型的变量

B:如果在对数组进行初始化时,给定的数据元素个数比数组元素个数少时,多余的数组元素会被自动初始化为最后一个给定元素的值

C:数组的名称其实是数组在内存中的首地址

D:当数组名作为参数被传递给某个函数时,原数组中的元素的值可能被修改

答案:B

第12题(2.0分)题号:604

下面不正确的字符串常量是()。

A:'abc'

B:"12'12"

C:"0"

D:" "

答案:A

第13题(2.0分)题号:171

在C语言的函数中,下列正确的说法是()。

A:必须有形参

B:形参必须是变量名

C:可以有也可以没有形参

D:数组名不能作形参

答案:C

第14题(2.0分)题号:3160

为表示关系x≥y≥z,应使用C语言表达式

A:(x>=y)&&(y>=z)

B:(x>=y) AND (y>=z)

C:(x>=y>=z)

D:(x>=z)&(y>=z)

答案:A

第15题(2.0分)题号:155

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

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

B:if、switch、break

C:for、while、do-while

D:if、for、continue

答案:A

三、程序填空共1题(共计15分)

第1题(15.0分)题号:15

/*------------------------------------------------------- 【程序填空】

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

功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。

-------------------------------------------------------*/ #include

void main()

{

int x,i=0,j=0;

float s1=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;

else

av1=0;

if(j!=0)

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

【?】 ;

else

av2=0;

printf("oushujunzhi:%7.2f,jishujunzhi:%7.2f\n",av1,av2); }

答案:

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

x != 0

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

x

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

else

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

else if(x%2==1)

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

else if(x%2!=0)

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

if(x%2)

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

scanf("%d",&x)

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

av2=s2/j

四、程序改错共1题(共计15分)

第1题(15.0分)题号:399

/*------------------------------------------------------ 【程序改错】

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

功能:编写函数fun求20以内所有5的倍数之积。

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

#include

#define N 20

int fun(int m)

{

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

int s=0,i;

for(i=1;i

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

if(i%m=0)

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

s=*i;

return s;

}

void main()

{ int fun(int m);

int sum;

sum=fun(5);

printf("%d以内所有%d的倍数之积为: %d\n",N,5,sum); }

答案:

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

int s=1 , i ;

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

if(i%m==0)

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

s=s*i;

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

s=i*s;

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

s*=i;

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

第1题(20.0分)题号:16

/*------------------------------------------------ 【程序设计】

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

功能:编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果。请编写fun

函数。

例如:若n值为5,则结果为153。

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

#include

void wwjt();

long int fun(int n)

{

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

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

}

void main()

{ long int fun(int n);

int n;

long int result;

scanf("%d",&n);

result=fun(n);

printf("%ld\n",result);

wwjt();

}

void wwjt()

{

FILE *IN,*OUT;

int i;

int iIN;

long int iOUT;

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

if(IN==NULL)

{

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

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

if(OUT==NULL)

{

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

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

{

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

iOUT=fun(iIN);

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

}

fclose(IN);

fclose(OUT);

}

答案:----------------------

int i;

float f=1,s=0;

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

{f=f*i;

s=s+f;}

return s;

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

本文来源:https://www.bwwdw.com/article/d2yq.html

Top