文档库 最新最全的文档下载
当前位置:文档库 › 专升本C语言历年考试题及答案8

专升本C语言历年考试题及答案8

专升本C语言历年考试题及答案8
专升本C语言历年考试题及答案8

专升本C语言历年考试题及答案8

专升本C 语言历年考试题及答案

江西财经大学

专升本选拔考试《C 语言程序设计》试卷

(考试时间120分钟,总分100分)

一、用C语言描述下列命题(共16分,每小题2分)

1、a 、b 和c 均为整型变量,a 和b 中有一个大于c 。

2、数学公式:a

ac b 242-+-b 的C语言表示式(注:sqrt( )为开方函数)。 3、写出100内的自然数x ,能被3或7整除的表示式。

4、写出判断字符变量ch 是阿拉伯数字字符的表示式。

5、写出满足x<60或90≤x ≤100的C 语言表示式。

6、写出平面上的点(x,y)落在单位圆内的表示式。

7、数组p[10]的各元素用于保存指向char 型的指针,写出该数组的定义。

8、有名为max 的函数,其功能是对两个int 型参数x 、y 进行计算,返回其中的较大者,写出该函数的说明部分。

二、根据要求画出流程图或N-S图(共10分,每小题5分)

1、用流程图或N-S 图表示以下算法。

输入x 的值,按下列函数计算y 的值,并输出y 的值。

0010

1<=>?????-=x x x y 当当当 2、画出打印以下图案的算法流程图或N-S 图。

&

& &

& & &

& & & &

三、程序阅读题(共20分,每小题4分)

1、# include

void main( ) {

int i,sum=0;

for(i=1;i<=30;i++)

if(i%3!=0) continue;

else sum=sum+i;

printf(“sum=%d\n”,sum);

}

请叙述上面程序的功能,并写出程序的运行结果。2、void main( ) {

int a,b,x=1,y=1;

scanf("%d%d",&a,&b);

if (a>0) x=x+y;

if (a

else if (a==b) y=5;

else y=x+y;

printf("x=%d,y=%d\n",x,y);

}

假设输入为: 2 -3, 则程序运行后的输出结果为: 3、void main() {

int a[3][3]={2,4,6,8,10,12,14,16,18};

int sum=0, i, j;

for ( i=0; i<3; i++)

for ( j=0; j<3; j++ )

if (i==j) sum+=a[i][j];

printf(“sum=%d\n”,sum) ;

}

请叙述上面程序的功能,并写出程序的运行结果。4、void main( ){

int i=0;

int x,s1,s2,s3;

s1=s2=s3=0;

while(i++<10){

scanf("%d",&x);

switch(abs(x)%3){

case 0:s1++;break;

case 1:s2++;break;

default:s3++;

}

}

printf("s1=%d,s2=%d,s3=%d",s1,s2,s3);

}

请叙述上面程序的功能。

5、int fun(int n) {

if(n==0) return 0;

else if(n==1) return 1;

return n*n+fun(n-1);

}

void main(){

printf(“Result is:%d”,fun(5));

}

请叙述上面程序中fun函数的功能并写出程序的运行结果。

四、程序填空(共28分,每空2分)

1、以下函数用于求出一个3×4矩阵中的最小元素值。

int min_value(int m[][3]) {

int i, j, min;

min=m[0][0];

for (i=0; ①; i++)

for (j=0 ; ②; j++)

if ( ③

return( min ) ;

}

2、程序的功能是:从键盘输入一串字符(以回车换行符结束),统计其中大写英文字母的个数,将结果保存在变量count中。

void main( ){

int count=0;

char c;

while(c!='\n'){

if ( ②) ③;

c=getchar();

}

printf("have typed %d upper letters", count);

}

3、以下函数的功能是:在第一个循环中给前n个数组元素依次赋值1~n;在第二个循环中使a数组的n个元素值对称互换,变成n、n-1 ? ? ?

4、3、2、1。

void fun ( int a[ ],int n){

int i;

int temp;

for(i=1; i<=n; i++) a[i-1]= i;

for(i=0; i

temp= ① ;

a[i]= ② ;

③ =temp;

}

}

4、以下程序是实现如图1所示图案的打印。

void main() {

int i,j,k;

char ch;

for(i=1,ch= ① ;i<= ② ;i++){

for(j=1;j<=4-i;j++) putchar('□'

); /*□表示空格符*/

for(k=1;k<= ③ ;k++)

putchar(ch);

printf("\n");

}

}

五、程序设计题(共26分)

1、设一个三位数能够表示为abc ,若其能满足条件a 3+b 3+c 3=abc ,则称其为水仙花数,编程求出所有的水仙花数。(8分)

2、编程求数列1+(1+2)+(1+2+3)+…+(1+2+...+10)的和并输出。(8分)

3、设有10个学生的信息,包括学号、姓名和三门功课的成绩,试编写学生信息输入函数、学生信息输出函数、打印每一学生平均分函数,最后编写主函数,并在主函数中调用测试这些函数。(10分)

专升本选拔考试《C 语言程序设计》参考答案及评分标准

一、用C语言描述下列命题(共16分,每小题2分)

1、a>c||b>c

2、(-b+sqrt(b*b-4*a*c)/(2*a)

3、(x>=1&&x<=100)&&(x%3==0||x%7!=0)

4、ch>=’0’&&ch<=’9’

5、x<60||x>=90&&x<=100

6、x*x+y*y<=1

7、char *p[10]; 8、int max(int x,int y) A B B B C C C C C D D D D D D D

(图1)

相关文档