T
tony.xu
Unregistered / Unconfirmed
GUEST, unregistred user!
一、判断题
(1) 表过式(-5)%3的值是2 ( )
(2) 设有int i;则表过式i=1,++i,++i||++i,i的值是4 ( )
(3) x=(a=3,6*3)和x=a=3,6*a两个表达式的作用不同 ( )
(4) *(p++)和*(++p)的作用不同 ( )
(5) 利用数组名作为函数应被看做是’值传递’方式 ( )
二、填空题
1. 设有 int a[]={10,11,12},*p=&a[0],则执行*p++;*p+=1;
后a[0],a[1],a[2]的值依次是
___ ___ _____
2. 十进制数-20利用补码表示是________________
3. 若a 的初始值为12,那么a+=a-=a*a的值是_________
4. 设有声明int s[2]={0,1},*p=s;则下列语句错误是C语句是 ( )
A:s+=1 B:p+=1 C:*p++ D:(*p)++
5. 设有int i,j,k;
则表达式i=1,j=2,k=3,i&&j&k-的值为_________
6. Switch()语句中表示除case所列情况以外所有情况的关键字是_________
7. 设a=3,b=4,c=5 则表达式 a||b+c&&b-c的值是______________
8. Printf(“%5.3f/n”,123456.12345);
输出结果为________________
9. int pointer_1,pointer_2,a;
pointer_1=&a;
pointer_2=&*pointer_1;则pointer_2指向_____________
10.共用变量的地址和它的各个成员的地址使用_____________地址(填不同或同一)
三、程序分析,给出下列各程序的执行结果
1.
#include <studio.h>
int f(int n)
{static int s=1;
whiles*=n--;
return s;
}
main()
{int i,j;
i=f(3);j=f(5);
prinft(“/nThe output of 5.1.is:/n/n”);
printf(“i=%d j=%d/n”,i,j);
}
2.
main()
{int max(int,int);
int min(int,int);
int a,b;
printf(“enter a and b:”);
scanf(“%d,%d”,&a,&b);
printf(“max=”);
process(a,b,max);
printf(“min=”);
process(a,b,min);
}
max(int x,int y)
{
int z;
if (x>y) z=x;
else
z=y;
return(z)
}
min(int x,int y)
{int z;
if (x<y) z=x;
else
z=y;
return(z);
}
process(int x,int y,int(*fun)(int,int))
{int result;
result=(*fun)(x,y);
printf(“%d/n”,result);
}
(1) 表过式(-5)%3的值是2 ( )
(2) 设有int i;则表过式i=1,++i,++i||++i,i的值是4 ( )
(3) x=(a=3,6*3)和x=a=3,6*a两个表达式的作用不同 ( )
(4) *(p++)和*(++p)的作用不同 ( )
(5) 利用数组名作为函数应被看做是’值传递’方式 ( )
二、填空题
1. 设有 int a[]={10,11,12},*p=&a[0],则执行*p++;*p+=1;
后a[0],a[1],a[2]的值依次是
___ ___ _____
2. 十进制数-20利用补码表示是________________
3. 若a 的初始值为12,那么a+=a-=a*a的值是_________
4. 设有声明int s[2]={0,1},*p=s;则下列语句错误是C语句是 ( )
A:s+=1 B:p+=1 C:*p++ D:(*p)++
5. 设有int i,j,k;
则表达式i=1,j=2,k=3,i&&j&k-的值为_________
6. Switch()语句中表示除case所列情况以外所有情况的关键字是_________
7. 设a=3,b=4,c=5 则表达式 a||b+c&&b-c的值是______________
8. Printf(“%5.3f/n”,123456.12345);
输出结果为________________
9. int pointer_1,pointer_2,a;
pointer_1=&a;
pointer_2=&*pointer_1;则pointer_2指向_____________
10.共用变量的地址和它的各个成员的地址使用_____________地址(填不同或同一)
三、程序分析,给出下列各程序的执行结果
1.
#include <studio.h>
int f(int n)
{static int s=1;
whiles*=n--;
return s;
}
main()
{int i,j;
i=f(3);j=f(5);
prinft(“/nThe output of 5.1.is:/n/n”);
printf(“i=%d j=%d/n”,i,j);
}
2.
main()
{int max(int,int);
int min(int,int);
int a,b;
printf(“enter a and b:”);
scanf(“%d,%d”,&a,&b);
printf(“max=”);
process(a,b,max);
printf(“min=”);
process(a,b,min);
}
max(int x,int y)
{
int z;
if (x>y) z=x;
else
z=y;
return(z)
}
min(int x,int y)
{int z;
if (x<y) z=x;
else
z=y;
return(z);
}
process(int x,int y,int(*fun)(int,int))
{int result;
result=(*fun)(x,y);
printf(“%d/n”,result);
}