江西财经大学2008年专升本试卷C语言答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2008年转升本选拔考试《C 语言程序设计》试卷答案
一、用C语言描述下列命题(本题共8小题,每小题3分,共24分)
1、 y 为int 型,满足能同时被3,5整除的表达式。 y%3==0&&y%5==0
2、把下列数学表达式转换为C 语言表达式:()21211
wL R + 1/sqrt(1/(R*R)+1/((w*L)*(w*L)))
2、 表示ch 不是小写英文字母的表达式。ch>=’a ’&&ch<=’z ’
4、条件10〈|a-b|<20的C 语言表达式。fabs(a-b)>10&&fabs(a-b)<20
5、x 、y 和z 均为int 型,x 和y 中仅有一个小于z 。
x 6、定义一个数组a[10],其数组元素为指向float 的指针。float * a[10] 7、定义一个交通信号灯(Transportation_light )的枚举类型及其变量light 。,其中列举的常量有红、黄、绿(red,yellow,green )三色控制灯。 enum Transportation_light { red,yellow,green } light; 8、写出一个函数 f1()的说明部分,函数的返回值为指向int 数据的指针。 int *f1() 二、根据要求画出NS图流或流程图(本题共1小题,每小题6分,共6分) 1、有一分数序列: 12,23 ,35,58,813 … 试求前10项之和。 三、程序阅读题(本题共4小题,每小题5分,共20分) 1程序运行后的输出结果为: 1 2 2 4 2程序运行后的输出结果为:f(6)=0 3 程序运行后的输出结果为: 105,28,342.50 4程序运行后的结果为:Teac 四、程序填空(本题共3小题,每小题6分,共18分) 1、①__b=I!=20?i+1:0___ ②___c____ 2、①___posi=i_____ ②___a[j]>a[posit]___ ③ __sort[s,10]_____ 3、①__**p或(*p)[0]或p[0][0]__ ②__*(*p+j)_ ③ ___arr___ 五、程序设计题(本题共4小题,共32分) 1#include void main() { int year; for(year=2000;year<2100;year++) if(year%4==0&&year%100!=0||year%400==0) printf("%d ",year); } 2、#include void main() { int i,j,k,m,z,sum,yz[100]; for(m=1;m<1000;m++) { k=m/2; i=0; sum=0; for(j=1;j<=k;j++) if(m%j==0) { yz[i]=j; sum+=yz[i++]; } if(sum==m) { printf("\nm=%d\nyin zi=",m); while(i!=0) printf("%d ",yz[--i]); } } } 4、编一程序,将字符串的第m个字符开始的全部字符复制到另一个字符串中。要求在主函数中输入字符串及m值并输出结果,在被调用函数中完成复制。(14分)#include #include void subcopy(char *str, char *substr, int n) { char *ch_p; ch_p=str+n-1; while(*ch_p) { *substr=*ch_p; substr++; ch_p++; } } void main() { int m; char string[120],substring[120]; printf("\nstring="); gets(string); printf("\nm="); scanf("%d",&m); subcopy(string,substring,m); puts(substring); }