历届C语言上海市等级试题及参考答案..docVIP

历届C语言上海市等级试题及参考答案..doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上海市高等学校计算机等级考试试卷 二级 (C程序设计) (本试卷答卷时间为120分钟) 试题一(28分,每小题4分) 解答下列各小题,把解答写在答卷纸的对应栏内。 (1) 试写出下列命题的C语言表达式 当字符变量m取英文字母时表达式的值为真 (2) 执行下述语句后,a,b,m,n变量的值分别是什么 int a=1, b=2, c=3, d=4, m=5, n=6; a = ( m=ab ) ( n =cd ) || ++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 string.h 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 stdio.h void main( ) { int k[ ]={65,30,3,123,831,54}; int j, m1=32767, m2=0,n1, n2; for (j=0; j6; j++) if (m1k[j]) {m1=k[j]; n1=j; } else if (m2k[j]) {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 stdio.h 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 stdio.h #1 void main() #2 { #3 int i,j,temp; #4 int array[21]; #5 for (i=0;i21;i++) scanf(%d, array[i]); #6 for (i=0;i21;i++) #7 for(j=0;j20;j++) #8 if (array[j]array[j+1]) #9 { #10 temp=array[j]; #11 array[j]=array[j+1]; #12 array[j+1]=temp; #13 } #14 printf (%d,

文档评论(0)

yxnz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档