配色: 字号:
C语言期中考试试题A标准答案
2013-06-24 | 阅:  转:  |  分享 
  
西安科技大学2008—2009学年第2学期期末(中)考试试题(卷)

院系:班级:姓名:学号: 装订线装订线以内不准作任何标记装订线 科目 C语言期中考试试题 考试性质 考查 命题 审批 7..设有程序段

intk=3;

while(k)k=k-1;

则下面描述中正确的是C.

A.循环体语句一次也不执行B.循环是无限循环

C.while循环执行3次.D.循环体语句执行一次

8.根据定义和数据的输入方式,输入语句的正确形式为D

A.scanf(“%f,%f”,&f1,&f2)B.scanf(“%3.2f%2.1f”,&f1&f2);

C.scanf(“%3.2f%2.1f”,&f1,&f2);D.scanf(“%f%f”,&f1,&f2);

9..以下叙述不正确的是C.

A.一个C源程序必须包含一个main函数B..一个C源程序可有一个或多个函数组成.

C.在C程序中,注释说明只能位于一条语句的后面.D.C程序的基本组成单位是语句.

10.下面不正确的字符串常量是D

A.”while”B.”12’12”

C.”0”D.’file’

二.填空(每空2分,共20分)

1.有intx=2,y=3;且y+=(x++),则x=3,y=5.

2.执行下面程序段后,k的值是36.

k=1;n=263;

do{k=n%10;n=n/10;}while(n);

3.C语言中函数头给出函数的特征描述,包括函数的属性、类型、名字、参数及参数类型.

4.有intx,y,z;且x=3.2,y=4.2,z=2,则表达式z=(x+y)/z的值为3.

试卷类型 A 考试地点 学生班级 车辆0701-02 成绩 一.选择题(每题2分,共20分)

1下面不是C语言关键字的是C

A.volatileB.unsigned

C.DoD.void

2.下面不是C语言合法标识符的是B

A.fine5B.&i

C._scoreD.flag

3.C语言规定,简单变量做实参时,它和对应形参之间的数据传达方式是A.

A.单向值传递B.地址传递.

C.由实参传给形参再有形参传回给实参.D.由用户指定传递方式.

4若用数组名作为函数调用的实参传递给形参的是D.

A.数组元素的个数.B.数组第一个元素的值.

C.数组中全部元素的值.D.数组的首地址.

5.下面正确的定义语句是D

A.inta[1][4]={1,2,3,4,5};B.doubley[][3]=0;

C.longb[2][3]={{1},{1,2},{1,2,3}};D.floatx[][3]={{1},{2},{3}};

6.C语言规定,函数返回值的类型是由A.

A.在定义该函数时所指定的函数类型所决定.

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

C.调用该函数是系统时决定.

D.return语句中的表达式类型所决定.

西安科技大学20—20学年第学期期末(中)考试试题(卷)

院系:班级:姓名:学号: 装订线装订线以内不准作任何标记装订线 科目 C语言期中考试试题 试卷类型 A 考试班级 车辆0701-02 三.写出下面程序的运行结果.(每题5分,共20分)

1.程序main()

{inta=3,b=5,c=2,d=1,x;

if(a
x=c+d;

else

x=c-d;

printf("%d",x);

}

运行结果是3

2.下面程序的运行结果是x=11.

#include"stdio.h"

intx=10;

intf(inty)

{staticintx=0;x+=y;}

main()

{intx=6;

{intx=5;

f(x);

}

x=f(x);

printf("x=%d",x);

}







5.在执行语句for(i=0;i<3;i=i+2)printf(“%d”,i)时,表达式1执行了1次,表达式2执行了3次.

6.下面程序段中循环体的执行次数是3次.

a=10;b=0;

do{b=b+2;a-=2+b;}while(a>=0);

7以下程序的运行结果是m=3,n=5

#include"stdio.h"

main()

{inti=0,j=0,m=1,n=3;

switch(i++)

{case0:m++;

case1:n++;

case2:

case3:m++;n++;break;

case4:m++;n++;

}printf("m=%d,n=%d",m,n);}

8.以下程序的运行结果是6

main()

{intm=5;

if(m++>5)

printf(“%d”,m);

else

printf(“%d”,m--);}

西安科技大学20—20学年第学期期末(中)考试试题(卷)

院系:班级:姓名:学号: 装订线装订线以内不准作任何标记装订线 科目 C语言期中考试试题 试卷类型 A 考试班级 车辆0701-02 四.根据题目的要求,补全下面的程序。(每空4分,共20分)

1.以下程序的功能是求10个数中的正整数之和,请补全程序。

#include"stdio.h"

main()

{ints=0,i,j;

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

{scanf(“%d”,&j);

if(j<=0)

(1);

s+=j;}

printf(“和=%4d”,s);

}

解答:(1)continue

2.下面程序的功能是:可以通过指针输出数组a中任一行、任一列元素的值。请补全程序。

#include"stdio.h"

main()

{inta[3][5]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30};

inti,j;

int(p)[(2];

p=a;

printf(“Enteri,j;(0<=i<=2),(0<=j<=4):”);

scanf(“%d,%d”,&i,&j);

3.下面程序的运行结果是a=16,y=36.

#include“stdio.h”

main()

{

inta,y;

a=2;

y=0;

do

{a+=2;

y+=a;

if(y>30)

break;

}

while(a=14);

printf(“a=%d,y=%d\n”,a,y);

}.

4.下面程序的运行结果是x=30,y=+30.00.

main()

{intx;

floaty=353;

x=y/100;

y=x=10;

printf(“x=%d,y=%+7.2f”,x,y);

}

西安科技大学20—20学年第学期期末(中)考试试题(卷)

院系:班级:姓名:学号: 装订线装订线以内不准作任何标记装订线 科目 C语言期中考试试题 试卷类型 A 考试班级 车辆0701-02 解:#include“stdio.h”

main()

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

inti,flag,t;

do

{flag=0;

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

if(a[i]
{t=a[i];a[i]=a[i+1];a[i+1]=t;flag=1;}

}

while(flag)

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

printf(“排序后的数组:\t”,a[i]);

}

2.编程判断输入的一个正整数是否既是5的又是7的倍数,若是则输出YES,否则输出NO.

解:#include“stdio.h”

main()

{intx;

printf(“请输入一个正整数:”);

scanf(“%d”,&x);

if(x%5==0&&x%7==0)

printf(“YES”);

elseprintf(“NO”);

}

printf(“a[%d][%d]=%d\n”,i,j,((3)));

}

接答:(2)5(3)(p+i)+j

3.以下程序的功能是用枚举法求百鸡问题,公鸡五元一只,母鸡三元一只,小鸡一元两只;一百元要买一百只鸡,且需包含公鸡、母鸡和小鸡。问有几种方案可以实现。请填空(要求以较高的效率和合理的数值填空)。

#include"stdio.h"

main()

{intn,i,j,k;

n=0;

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

for(j=1;j<=(100-5i)/3;j++)

{k=100-i-j;

if(k%2==0&&5i+3j+k/2==100)

{n++;

printf("n=%d,cock=%d,hen=%d,chick=%d\n",n,i,j,k);

printf("jine=%d\n",5i+3j+k/2);

}

}

}

解答:(4)n,i,j,k(5)5i+3j

五.编程题:(每小题10分,共20分)

1.用冒泡排序法将数组a[10]={1,3,2,5,6,7,4,9,10,8}中的数据进行从大到小进行排列,并输出排好的数组a[10].























第1页共5页







献花(0)
+1
(本文系梦之探索首藏)