c语言 上海,历届C语言上海市等级试题及参.doc

C程序设计 第 PAGE 1 页 共 NUMPAGES 11 页

上海市高等学校计算机等级考试试卷

二级 (C程序设计)

(本试卷答卷时间为120分钟)

试题一(28分,每小题4分)

解答下列各小题,把解答写在答卷纸的对应栏内。

(1) 试写出下列命题的C语言表达式。

2ROUND() \# "0" EQ 当字符变量m取英文字母时表达式的值为真。

(2) 执行下述语句后,a,b,m,n变量的值分别是什么?

int a=1, b=2, c=3, d=4, m=5, n=6;

a = ( m=a>b ) && ( n =c>d ) || ++a = = b--;

(3) 执行下列语句后的输出结果是什么?

char s[81]= "a_string", t[81];

strcpy(t,s);

printf("%d;%d\n%s\n", sizeof(s), strlen(s), t+2);

(4) 写出下列C语句的功能。

#include

do gets(s);

while (strcmp(s,"passwd")) ;

(5) 执行下列程序后的输出结果是什么?

#define SQR(x) x*x

void main( )

{

int s=8, a=2, b=3;

s=SQR(a+b)*4;

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

}

(6) 设有定义 struct date{

int day;

char month;

int year;

} dd, *pd = ⅆ

试写出引用结构变量dd的成员dd.day的其他两种描述形式。

(7) 设有如下程序段:

int a[4] = {0,4,5,13}, *p;

p = &a[2];

printf("++(*p)= %d\n", ++(*p));

printf("*--p=%d\n", *--p);

printf("*p++=%d\n", *p++);

printf("%d\n",a[0]);

试写出执行该程序段后的输出结果。

试题二(12分,每小题6分)

阅读下列程序, 把程序的输出结果写在答卷纸的对应栏内。

(1)【程序2.1】

#include

void main( )

{

int k[ ]={65,30,3,123,831,54};

int j, m1=32767, m2=0,n1, n2;

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

if (m1>k[j])

{m1=k[j];

n1=j; }

else if (m2

{m2=k[j];

n2=j;}

printf("m1=%d, n1=%d\n ", m1, n1);

printf("m2=%d, n2=%d\n ", m2, n2);

}

(2)【程序2.2】

#include

void func(int *x,int y)

{

static k=3;

y=*x+y;

*x=y%k;

k++;

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

}

void main()

{

int x=12,y=5;

func(&x,y);

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

func(&y,x);

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

}

试题三 (12分,每小题6分)

下列程序中都有三个错误,按题中的计算要求,纠正错误,并以“将#XX”行改为“YYYY”的形式进行解答,把解答写在答卷纸的对应栏内。代码左边的#1、#2、…是附加的行号。

(1) 用冒泡排序法求出由21个整数组成的数组的中间值,并输出所有大于中间值的偶数。

【程序3.1】

#0 #include

#1void main()

#2{

#3int i,j,temp;

#4int array[21];

#5for (i=0;i<21;i++) scanf("%d", array[i]);

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

#7for(j=0;j<20;j++)

#8if (array[j]>ar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值