当前位置:文档之家› 江西财经大学2008年专升本试卷C语言答案

江西财经大学2008年专升本试卷C语言答案

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<z)&&(y>=z)||(x>=z)&&(y<z) 或 (x<z)+(y<z)==1
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 <stdio.h>
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 <stdio.h>
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 <stdio.h>
#include <string.h>
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);
}。

相关主题