《C语言程序设计》期末试卷及答案
一、选择题(每题3分,共12分)。
1、表达式______的值是0。
A.10%5 B. 3/5.0 C.1/2,3*5 D.3<5
2、有如下定义:
int i=1;
long w=5;
double x=3.4,y;
则以下符合C语言语法的表达式是。
A. i+=i*=i=34;
B. w=i*3=12
C. i=x%3
D. y=double(i);
3、有如下定义:
float f=23;
int n=2,m=5;
选出合法的表达式。
A. m>>n
B. f | n
C. ~ (f*m+n)
D. f+(float)(n+m)
4、以下对二维数组正确说明的是。
A. double d[][12];
B. double d(2)(12);
C. double d[2][ ];
D. double d[2][12]
二、程序填空题(每空4分,共28分)
1、下面函数是求x的y(>0)次方,请填空。
double func(double x, int y )
{int i;
double z=1.0;
for(i=1; ;i++)
z= ;
c语言编写递归函数
return z;
}
2、有1、2、
3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
main()
{
int i,j,k;
printf("\n");
for(i=1;i<5;i++)/*以下为三重循环*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if ( )
printf("%d,%d,%d\n",i,j,k);
} }
3、利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
#include "stdio.h"
main()
{
int i=5;
void palin(int n);
printf("\40:");
;
printf("\n");
}
void palin(n)
int n;
{
char next;
if(n<=1)
{
next=getchar();
printf("\n\0:");
putchar(next);
}
else
{
next=getchar();
;
putchar(next);
}
}
4、一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
main( )
{
long ge,shi,qian,wan,x;
scanf("%ld",&x);
wan=x/10000;
qian= ;
shi=x/100/10;
ge=x/10 ;
if ( )/*个位等于万位并且十位等于千位*/
printf("this number is a huiwen\n");
else
printf("this number is not a huiwen\n");
}
三、写出以下程序的运行结果(每题8分,共24分)
1、void fun()
{static int x=1;
x*=2;
printf("%6d",x);
}
main()
{int n;
for(n=0;n<=4;n++)
fun();
}
2、#include<stdio.h>
main()
{int x=3,i;
For(i=0;i<3;i++)printf(“%d”,f(x));
}
Int f(int a)
{int b=0;
C=3;b++;c++;
Return(a+b+c);
}
3、#include<stdio.h>
Main()
{int i,n[4]={1};
For(i=1;i<=3;i++)
{n[i]=n[i-1]*2+1;
Printf(“%d”,n[i]);
} }
四、程序设计题(8分+10分+10分+10分=38分)
1、编写一函数,寻指定数组中最大元素,并返回最大元素及其下标。
2、在1~500中,出能同时满足用3除余2,用5除余3,用7除余2的所有整数,并求出它们的和。
3、编写程序,从键盘输入10位同学的5门课成绩,统计每位学生的平均成绩,并按平均成绩排序输出。
4、输入一个数,求1到这个数之间所有奇数之和。
参考答案
一、选择题
1、C
2、A,C
3、D
4、D
二、程序填空题
1、X<=y POW(x,i)
2、i!=j && i!=k && j!=k
3、palin(n), palin(n-1)
4、x/1000/10 , wan==ge && qian==shi
三、写出程序运行结果
1、2 4 8 16 32
2、888
3、3715
四、程序设计题
无固定答案。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论