2004年上海二级考题 C.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2004年上海二级考题C2004年上海二级考题C

2004年上海市高等学校计算机等级考试试卷 二级 (C程序设计) (本试卷答卷时间为120分钟) 试题一(28分,每小题4分) ⑴ 假设对n(n0)个学生按下列方法进行分班:每班k(k0)个学生,最后一个班若不足k人也单独编成一个班。试用C语言中的条件表达式表示所编班级个数。 if(n%k==0) m=n/k;else m=n/k+1 ⑵ 设有变量定义: struct rec { int x; int y; } s[]={{4,28},{9,36}}, *p=s; 计算表达式 (p-y/p-x*s[1].x+s[1].y)的值。 ⑶ 写出下列程序的输出结果。 68 7 9 #include stdio.h void main() { char s[]=”2473”, c, i; for(i=0;c=s[i];i++) { switch(c-‘0’) { case 2: case 3: putchar(c+4); continue; case 4: putchar(c+4); break; case 5: putchar(c+3); default: putchar(c+2); } putchar(‘\n’); } } ⑷ 分别写出下列4个指针变量p1,p2,p3,p4的含义。定义整型指针p1,p2指针数组,p3函数指针,p4数组指针 int *p1,p2[5],(*p3)(),(*p4)[5]; ⑸ 写出程序的输出结果(假定类型unsigned int 的字长为16位)。 #include stdio.h void main() { unsigned int u1=0x958,u2,u3; u2=(u1 0xff)4; u3=(u1 0xff00) 4; printf(“%x %x %x\n”,u2,u3,u2/u3); } ⑹ 阅读如下程序段,把其中的switch语句改写成等价的条件语句。 int x,y; scanf(“%d”,x); switch(x!=0) { if(x=0)y=0; case 0: y=0; break; else if(x0) y=1; case 1: switch(x0) { else y=-1; case 1: y=1; break; case 0: y=-1; } } ⑺ 描述函数conv()的功能,并写出下列程序的输出结果。 void conv(int m) { if(m=2) 1101 conv(m/2); printf(“%d”,m%2); } voia main() { conv(13); } 试题二(12分,每小题6分) 阅读下列程序并回答问题。 ⑴ 【程序2.1】 #include stdio.h void sort(int a[], int n) { int i, j, t; for(i=0; in-1; i++) for(j=i+1; jn; j++) if(a[i]a[j]; t=a[i],a[i]=a[j],a[j]=t; } void delsame(int x[], int n) { int i, j, m=n; for(i=0; im; i++){ while(x[i]==x[i+1]) { for(j=i; jm; j++) x[j]=x[j+1]; m--; } } return m; } void main() { int x[]={74,4,35,4,65,65,72,74,35},i, m, n; n=sizeof(x)/sizeof(x[0]); sort(x,n); m=delsame(x,n); for(i=0; im; i++) printf(“%3d”,x[i]); printf(“\n”); } (a) 函数sort()的功能是什么? (b) 函数delsame()的功能是什么? (c) 程序的输出是什么? 从小到大排列 删除相同的数 4 35 65 72 74 ⑵ 【程序2.2】 #include stdio.h #define M 4 void main( ) { int i, j, k, m, a[4]; print

文档评论(0)

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

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

1亿VIP精品文档

相关文档