PAGE
PAGE 1
2004-2005学年第一学期末考试试题(A卷)
计算机程序设计基础(C)
使用班级—402 02,404,405402,0302401—407403—402L ,03023401—403406 402,03161—402 402
总分
得分
一、填空(共20分)[每题2分]
若有说明int a=-2;则printf("%d,%x,%o\n",a,a,a)的输出结果是_____________。
若有说明int a=-32760;则a在内存中的存储形式为(用十六进制数描述 )____。
3. 若有说明int a=3;则执行完表达式a+=a-=a*a后,a的值是 。
4. 表达式98&&8&&31&1的值为________________。
5. C语言中标识符可包含________、________和_______。
6. 若有说明float x=2.5,y=4.7;int a=7;则表达式x+a%3*(int)(x+y)%2/4=__________。
7. 若y是int变量,则判断y为奇数的关系表达式是 。
8. 若有说明int a=3,b=4,c=5;
则表达式:a+b>c&&b=c的值为_________。
9. 若有说明float a[10], *p; 要使指针变量p指向数组a,可以用两种方法实现: _____________或_______________。
10. return语句只能在______________中使用,其作用是______________。
得分
二、程序填空(共18分)[每空2分]
/*判断m是否是素数*/
main()
{
int m,j;
int flag=1;
scanf("%d", );
for(j=2;j
if(m%j==0)
{
flag=0;
break;
}
if( )
prinf("%d is prime number\n",m);
else
prinf("%d is prime number \n",m);
2./*求数列a,-aa,aaa,-aaaa,aaaaa,…,的前n项之和*/
main()
{
float f,sum;
int a,n;
int i,p;
;
scanf("%d,%d",pa,pn);
f=a;
sum=0;
p=1;
for(i=1;i<=n;i++)
{
sum=sum+p*f;
;
p=-p;
}
printf("%.0f\n",sum);
}
3. /*下列程序的功能是计算字符串的长度*/
#include "stdio.h"
___________
main()
{
char string[N];
int len;
gets(string);
for(len=0; ___________;len++);
printf("len=%d\n",len);
}
4./* 下列程序的功能是求三个数的和*/
main()
{
___________;
float s,x,y,z;
scanf("%f%f%f",&x,&y,&z);
s=sum(x,y,z);
printf("sum=%f\n",s);
}
float sum(x,y,z)
___________;
{
float sumofxyz;
sumofxyz=x+y+z;
___________;
}
得分
三、写出下列程序的运行结果(共12分)[每题4分]
1. 程序1:
main(){
char s[]="programe result",c='A';
int a=5;
float x=1234.56;
printf("%s :\n",s+8);
printf("%10d%c%d%10.0f\n",a*a,c,c+'B',x);
}
2. 程序2:/*若运行时输入:5,3-↙*/
main()
{
float x,y;