




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2005年上海市高等学校计算机等级考试试卷二级 (C程序设计)试题一 (28分,每小题4分)解答下列各小题,把解答写在答卷纸的对应拦内.(1) 试写出下列命题的C语言表达式.当字符变量m取英文字母时表达式的值为真.m=a&m=A&m=A& upper(m) b)&(n=cd)|+a= = b- -;#includemain() int a=1,b=2,c=3,m=5,n=6,d=9999; /* d可以任意 */a=(m=ab)&(n=cd)|+a= b-; printf(a%d;b%d;c%d;m%d;n%d;d%dn , a,b,c,m,n,d);(3) 执行下列语句后的输出结果是什么?Char s81=”a_astring”,t81;strcpy(t,s);printf(“%d;%dn%sn”, sizeof(s). t+2);#includemain()char s81=a_astring,t81;strcpy(t,s);printf(%d;%dn%sn, sizeof(s),sizeof(t), t+2);/* sizeof(s)是s数组总的长度 */(4) 写出下列C语言的功能.#includeDo gets(s);While(strcmp(s,”passwd”);#include#includemain()char s100;do gets(s); /* 输入一串字符 */while(strcmp(s,passwd); /* 当输入的串字符 等于passwd 循环结束 */(5) 执行下列程序后的输出结果是什么?#include#include #define SQR(x) x*xmain() int s=8,a=2,b=3; s=SQR(a+b)*4; printf(s=%dn,s);(6) 设有定义 struct date Int day; Char month; Int year dd. *pd=ⅆ试写出引用结构变量dd的成员dd.day的其他两种描述形式.dd.day *pd.day(7) 设有如下程序段:#includemain() int a4=0,4,5,13,*p; p=&a2; /* p 指向a2 */ printf(+(*p)=%dn,+(*p); /* 即p 指向a2 a2=a2+1 =5+1=6 */ printf(*-p=%dn,*-p); /* 即 p 指向a1 a1= 4 */ printf(*p+=5dn,*p+); /* 即 p 指向a1 a1=a1+1 =4+1=5 */ printf(%dn,a0);试写出执行该程序段后的输出结果.试题二(12分,每小题6分)阅读下列程序,把程序的输出结果写在答卷纸的对应拦内.(1)程序21 #include void main() int k =65,30,3,123,831,54; int j, m1=32767, m2=0, n1, n2; for(j=0; jkj) m1= kj; n1=j;else if (m2kj) m2=kj; n2=j; printf(m1=%d, n1=%dn, m1, n1); printf(m2=%d, n2=%dn, m2, n2);#include void main() int k =65,30,3,123,831,54; int j, m1=32767, m2=0, n1, n2; for(j=0; jkj) m1= kj; n1=j; printf(m1=%d, n1=%d, j=%d, kj=%d n, m1, n1,j,kj); /* 增加输出语句 查看循环过程的细节 */else if (m2kj) m2=kj; n2=j;printf(m2=%d, n2=%d, j=%d, kj=%d n, m2, n2,j,kj); /* 增加输出语句 查看循环过程的细节 */ printf(m1=%d, n1=%dn, m1, n1); printf(m2=%d, n2=%dn, m2, n2);(2)程序2.2 #include void func(int *x, int y) int static k=3; y=*x+y; *x=y%k ; k+; printf(*x=%d, y=%dn, *x, y); void main() int x=12, y=5; func(&x, y); /* x是传地址所以值会随函数的运算而变 x是传值所以y不会随函数的运算而变 */ printf(x1=%d, y1=%dn, x, y); printf(x2=%d, y2=%dn, x, y); 试题三 (12分,每小题6分)下列程序中都有三个错误,按题中的计算要求,纠正错误,并以”将#XX”行改为”YYY”的形式进行解答,把解答写在答卷纸的对应拦内.代码左边的#1、#2、是附加的行号。(1) 用冒泡排序法求出由21个整数组成的数组的中间值,并输出所有大于中间值的偶数。程序3.1#1 #include#2 void main()#3 int i, j, temp;#4 int array21;#5 for(i=0; i21; i+)scanf(“%d”, arrayi);#6 fro(i=0; i21; i+) / for (i=0; i20; i+)#7 for(j=0; j20; j+) / for(j=0; jarrayj+1);#9 #10 temp=arrayj;#11 arrayj=arrayj+1;#12 arrayj+1=temp;#13 #14 printf(“%d”, array10); 数组的中间值在array10#15 for(i=0; i10; i+) 所有大于中间值的是array11+0 array11+1 array11+9#16 if(arrayi+10/2=0) printf(“%d”, arrayi+10); /if(arrayi+11%2=0) printf(“%d”, arrayi+11);#17 修改并调试:#includevoid main() int i, j, temp; int array21=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20; /*for(i=0; i21; i+)scanf(%d, arrayi); 为了调试的方便 不输入,改为直接赋值 */ for(i=0; i20; i+) for(j=0; jarrayj+1); temp=arrayj; arrayj=arrayj+1; arrayj+1=temp; printf(%d , array10); for(i=0; i10; i+) if(array11+ i%2=0) printf(%d , array11+ i); (2) 用下面的方法可以计算y年m月d日是星期几(w):w=y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y, m, d)%7其中符号/表示计算整数商,%表示计算余数,y_d(y, m, d)表示y年m月d日是从同年元旦算起到该日的总天数.程序3.2#1 int day_tab =0,31,28,31,30,31,30,31,31,30,31,30,31;#2 int y_d(int y, int m, int d)#3 int I, all;#4 y=y%4= =0&y%100|y%400=0;#5 for(i=0; im; i+) all+=day_tabi; /* 统计某月份(m月)之前的天数 */#6 all+=y; /* 对闰年考虑2月份是29天 */#7 return all+d;#8 #9 void main() #10 int y=2005, m=7, d=11, w;#11 w=y-1+(y-1)/4-(y-1)/400+y_d(y, m, d);#12 w%=7;#13 printf(%d年%d月%d日是星期%dn”, y, m, d, w);修改如下#include /* w=y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y, m, d)%7 */int day_tab =0,31,28,31,30,31,30,31,31,30,31,30,31; int y_d(int y, int m, int d) int i, all; all=0; /* 改了 */ y=( (y%4=0 & y%100!=0) | y%400=0); /* 改了 */ for(i=0; i2 ) all+=y; /* 对闰年考虑2月份是29天 改了 */ printf(%dn, y); return all+d; void main() int y=2008, m=10, d=10, w; w=y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y, m, d); /* 改了 */ w%=7; printf(%d年%d月%d日是星期%dn, y, m, d, w); 试题四(18分,每小题9分)按指定的要求编写程序段,把解答写在答卷纸的对应拦内.(1) 输入无符号整型范围内的整数,求出它的位数以及各位数字之和.还没调试成功 #includeint ws(unsigned n ,int *all, int *s) *s=0; *all; n=100 ; while(n) *s+; *all=*all + n mod 10 ; n=n/10; return ws void main() unsigned x; int sum,c; scanf(%dn,x); ws(x,&sum,&c) printf(%d %d %d n,x, c, sum); (2) 将长度为n的字符串s分成两个子串,前m(任意值)个字符生成子串s1,后n-m个字符生成子串s2.约定:当mn时,s1等于原串,s2为空串;当mn时,s1为空串,s2等于原串.编写程序段时,可以使用库函数strcpy. 试题五(15分,每个空格3分)阅读下列问题和相应程序,把应填入其中 (n) 处的内容写在答卷纸的对应拦内.问题描述 本程序运行时,从键盘不断接收用户输入的字符串并进行处理,直到用户输入的字符串为”end”时终止.对用户输入的每个字符串的处理是:将字符串内的每一个十进制数字字符置换成下列表格中右边所对应的一个字符串(所有其他字符不变),然后将转换的结果显示在屏幕上:并分别计算每个数字的置换次数. 十进制字符串置换成0(zero)1(one)2(two)3(three)4(four)5(five)6(six)7(seven)8(eight)9(nine)列如,若用户输入的字符串为 Page112-Line3,则程序5的输出是: Page(one)(one)(two)-Line(three) 数字0到9的置换次数分别是 0 2 1 1 0 0 0 0 0 0程序5#includevoid main() char *table =“(zero)”,”(one)”,”(two)”,”(three)”,”(four)”, ”(five)”, ”(six)”, ”(seven)”, ”(eight)”, ”(nine)”; Char str164, str2255, *p;Int j, k, n, no10;for (;) printf(“Input:”); gets( (1) ); /*读入字符串/* str1 for(k=0;k10;k+)nok=0; if(strcmp(str1,”end”)= =0) (2) ; /*输入end时程序运行终止 */ break for(j=k=0;str1j!=0;+j) /*对输入字符串进行扫描 */ 修改如下#include #includevoid main() char *table =(zero),(one),(two),(three),(four), (five), (six), (seven), (eight), (nine); char str164, str2255, *p;int j, k, n, no
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级上册劳动技术课工作计划
- 数字营销对消费者决策的影响
- 房地产金融行业市场现状及未来发展趋势展望
- 2025法律职业资格考试试题附答案详解
- 老酒店拆除施工方案
- 工程管理成本控制费用分析表
- 2025年铁路运营管理师新员工岗位专业知识笔试题目及答案
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》模考模拟试题含完整答案详解(各地真题)
- 2024年高升专检测卷含答案详解(研优卷)
- 户外运动安全承诺及免责合同
- 2025至2030中国工业云平台行业发展研究与产业战略规划分析评估报告
- 2025餐饮合伙经营合同协议书
- 履约保函标准文本与应用示例
- 五年级数学口算训练题库及解题技巧
- 催化原理教学课件
- 2025下半年新疆生产建设兵团事业单位招聘(2398人)考试参考试题及答案解析
- 经桡动脉脑血管造影护理课件
- 2025年海南省公务员录用考试《行测》真题及答案解析(记忆版)
- 2025广西公需科目考试题库和答案(覆盖99%考题)广西一区两地一园一通道+人工智能时代的机遇
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 翻转课堂视域下“导学案”的设计研究课题评审书
评论
0/150
提交评论