1. 填空题:(每题3分)
1.以下程序运行时若从键盘输入:10 20 30<回车>.输出结果是______
main()
{
int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);printf("%d%d%d\n",i,j,k);
}
2.以下程序运行后的输出结果是____
#define S(x) 4*x*x+1
main()
{
int i=6,j=8;
printf("%d\n",S(i+j));
}
3.以下程序运行后的输出结果是____
main()
{
int a,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c);
}
4.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.则
输出结果是_____
#include
main()
{
char a,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c %c\n",a,b);
}
5.以下程序运行后的输出结果是______
void swap(int x,int y)
{
int t;
t=x;x=y;y=t;
printf("%d %d ",x,y);
}
main()
{
int a=3,b=4;
swap(a,b);
printf("%d %d\n",a,b);
}
6.以下程序运行后的输出结果是_____
#include
main()
{
char ch[]="abc",x[3][4];int i;
for(i=0;i<3;i++)
strcpy(x,ch);
for(i=0;i<3;i++)
printf("%s",&x);
printf("\n");
}
7.以下程序运行后的输出结果是_____
fun(int a)
{
int b=0;static int c=3;
b++;c++;
return(a+b+c);
}
main()
{
int i,a=5;
for(i=0;i<3;i++)
printf("%d %d ",i,fun(a));
printf("\n");
}
8.以下程序运行后的输出结果是______
struct NODE
{
int k;
struct NODE *link;
};
main()
{
struct NODE m[5],*p=m,*q=m+4;
int i=0;
while(p!=q)
{
p->k=++i;p++;
q->k=i++;q--;
}
q->k=i;
for(i=0;i<5;i++)
printf("%d",m.k);
printf("\n");
}
9.以下程序的输出显示是_____
#include "stdio.h"
int main()
{
int a;
int *p;
p = &a;
*p = 0x500;
a = (int )(*(&p));
a = (int )(&(*p));
if(a == (int)p)
printf("equal !\n");
else
printf("not equal !\n");
}
10. 以下程序的输出显示是
char str[] = "ZTE CORP";
char *p = str;
int n;
问:
sizeof(str) =_____ sizeof(p) = _____
sizeof(n) = _____ sizeof(*p)= _____
11.以下程序的输出显示是
void FuncB(char *p)
{
p = "zte";
}
void main()
{
char *ptr ="中兴通讯";
FuncB(ptr);
printf("%s\n",ptr);
}
打印输出结果 _____
12. 以下程序的输出显示
Unsigned int x = 0x123;
unsigned char *puch = (unsigned char *)&x;
printf("%x,%x,%x,%x\n", puch[0],puch[1],puch[2],puch[3]);
BIG-ENDIAN 情况下输出:_____
LITTLE-ENDIAN情况下输出:_____
13 请用C语言实现在0x1000地址处写入一个单字节的整数1。
_______________ |