文档库

最新最全的文档下载
当前位置:文档库 > C期末试卷_2010.6,56学时_A答案

C期末试卷_2010.6,56学时_A答案

上海应用技术学院2009—2010学年第2学期

《程序设计语言(C )》期末(A )试卷标准答案

一. 试题一(40分,每小题4分)

按题目要求解答下列各小题

1. 写出语句printf (“a=%c , b=%7.3f ”, ‘d ’-3 , 6.2576); 的输出结果。

a=a,b= 6.258

2. 写出表示如下运算的表达式(平方根函数为sqrt(x))。

b b a 22

-+

(a+sqrt(b-2))/(2*b)

3. 用文字描述以下程序完成的功能。

#include "stdio.h"

main()

{

int a[]={3,5,21,55,8,13},i,m;

m=a[0];

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

{

if(m

m=a[i];

}

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

}

输出最大值

4. 定义一个可以保存8个整数的一维数组,并且使数组中每个元素的值都为1。

int a[8]={1,1,1,1,1,1,1,1};

5.变量初始化为int a=3,b=4,c=5;写出下列表达式的值。

(1) a + b < c | |( c < b )

(2)(b+c)/(a-c)

-4

6.定义可以保存如下这组数据的一个结构体变量t。

{1001 , “ LiYan” , “math” , 76.5}

struct

{

int num;

char name[10];

char class[10] ;

float scroe;

} t ;

7.写出执行如下程序段后的输出结果。

int a[5]={1,2,3,4,5},*p ;

p = a ;

printf("%d,%d\n", a[a[2]],*(p+2));

4,3

8.找出以下程序中的2处错误,并改正之。

#include "stdio.h"

main()

{

int x,y ;

scanf("%d",x); &x

y=(6=x); ==

if(y==0)

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

}

9.简单说明double类型的数值用什么运算符可以转变为float类型?用强制类型转换符(float)

10.有变量定义如下,写一个输入数据到这些变量的语句。

int a; char b; long int c;

scanf(“%d%c%ld”,&a,&b,&c);

二.试题二(24分,每小题6分)

阅读下列程序,写出运行结果。

1. 【程序1】

#include

main()

{

int i,j,x=0;

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

{

x++;

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

{

if ( j%2==0 )

x++;

}

x++;

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

}

}

输出结果为:

x=4

x=8

x=12

2. 【程序2】

#include "stdio.h"

main()

{

char a[10] ="language";

char *p;

p=a;

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

p=p+5;

while(*p!='\0')

{

printf("%c",*p);

p++;

}

printf("\n");

}

输出结果为:

language

age

3.【程序3】

#include "stdio.h"

main()

{

int a[7]={3,5,8,13,21,34,55},i;

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

{

printf("%3d,%3d,%3d\n", a[i],a[i-1],a[i]-a[i-1]);

if(a[i]-a[i-1]>3 && a[i]-a[i-1]<34 )

a[i]=0;

}

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

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

}

输出结果为:

5, 3, 2

8, 5, 3

13, 8, 5

21, 0, 21

34, 0, 34

55, 34, 21

3 5 8 0 0 3

4 0

4. 【程序4】

#include "stdio.h"

int fun(int *p,int x)

{ int c;

c=*p+x;

printf("1: %d,%d\n",c,x);

*p=c+x;

printf("2: %d,%d\n",*p,c);

}

main()

{

int a=4,b=2;

fun(&a,b);

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

}

输出结果为:

1: 6,2

2: 8,6

3: 8,2

三.试题三(36分,每小题9分)略