第七章测试1.
指针变量是把内存中另一个数据的()作为其值的变量。
A:变量名
B:
标识符
C:地址
D:值
答案:C
2.
有以下程序段,输出结果为()。
#include<stdio.h>
main()
{
int a[10]={11,32,43,25,16,71,24,23,80,44};
int *p=a;
int *s,;
s=p+2;
printf("%d,%d ",*p,*s);
}
A:
11,32
B:11,13
C:0,2
D:11,43
3.有以下程序段,输出结果为()。
#include<stdio.h>
main()
{
int a[10]={5,10,15,20,25,30,35,40,45,50};
int *p=a;
int *s, m;
s=p++;
m=*p++;
printf(“%d,%d,%d ”, *p, *s, m);
}
A:
10,15,11
B:5,10,11
C:5,10,15
D:15,5,10
4.有以下程序段,输出结果为()。
#include<stdio.h>
main()
{int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*p)[4]=a;
printf("%d\n",*p);
}
A:语法错误 B:1
有以下程序段,输出结果为()。
#include<stdio.h>
main()
{int a=10,*p,**q,***s;
p=&a;
q=&p;
s=&a;
printf("%d,%d,%d",*p,**q,***s);
}
A:
10,10,10
10,随机值,随机值
C:语法错误
D:10,10,随机值
6.在以下程序段的空白处填入(),能够正确输出teacher。
#include<stdio.h>
main()
{char *p[3]={"student","teacher","classroom"};
printf("%s", );
}
A:*p+1 B:*p[1] C:*(p+1) D:*p+7 7.
在以下程序段的空白处填入(),能够使程序正确运行。
#include<stdio.h>
int sum(int x,int y)
{return x+y;
}
main()
{int a=3,b=5,c;
p=sum;
c=(*p)(a,b);
printf("%d",c);
}
A:int *p(int,int) B:int (*p)(int ,int); C:其余选项都不对 D:int (*p)() 8.
有以下程序段,输出结果为()。
#include<stdio.h>
void swap(int *p1)
{int b=20;
p1=&b;
}
main()
{int a=10,*pa;
pa=&a;
swap(pa);
printf("%d,%d",a,*pa);
}
A:
10,10
B:20,20
C:20,10
D:10,20
有以下程序段,在空白处填入(),可以使程序正确运行。
#include<stdio.h>
int (int x,int y)
{if(x>y)return &x;
else return &y;
}
main()
{int a=3,b=5,*p;
p=f(a,b);
printf("%d",*p);
}
A:
f
B:(*f)
C:*f
D:其余选项都不对