c语言程序设计期末试题(答案与题目分离)
C)字符F和字符B D) 字符串BASIC和字符串PASCAL
10. 执行语句for(i=1;i++<4;);后变量i的值是( )。
A) 3 B)4 C) 5 D) 不定
一、填空题(每空2分,共18分)
1. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值为 。 2. 有程序段:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b; b=p[5]; 则b中的值是 。 3. 函数swap(int x,int y)实现对x和y值的交换。则执行语句{int a[2]={1,2};
swap(a[0],a[1]);}后,a[0]= ,a[1]= 。
4. 设有以下宏定义:#define f(z) z*z,执行赋值语句k=f(4+4)/f(2+2);(k为int型变量)
后,k的值是 。
5. 书写语句求a, b两个数的最大值max。 ? : ;
6. 若x为int型变量,则执行x=7; x+=x-=x+x; 语句后,x的值是 。
二、读程序写结果(每题6分,共24分)
1. 有以下程序
int f(int a)
{ int b=0;
static c=3;
b=b+1;c=c+1;
return(a+b+c);
}
void main()
{ int a=2,i;
for(i=0;i<3;i++) printf(“%2d”,f(a));
}
执行后输出的结果是 。
2. 有以下程序
void f(int y,int *x)
{ y=y+*x; *x=*x+y;}
void main( )
{ int x=2,y=4;
f(y,&x);
printf(“x=%d,y=%d\n”,x,y);
}
执行后输出的结果是 。
3. 有以下程序
#define LETTER 1
#include <stdio.h>