指针测试题.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复习题
一、选择题
1.变量的指针,其含义是指该变量的().
A)值B)地址C)名D)一个标志
2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_____.
A)a,point,*&a B)&*a,&a,*point C)*&point,*point,&a D)&a,&*point ,point 3.若有说明;int *p,m=5,n;以下正确的程序段的是().
A)p=&n; B)p=&n;
scanf("%d",&p); scanf("%d",*p);
C)scanf("%d",&n); D)p=&n;
*p=n; *p=m;
4.下面程序段的运行结果是().
char *s="abcde";
s+=2;printf("%d",s);
A)cde B)字符’c’C)字符’c’的地址D)无确定的输出结果
5.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是________.
A)c=*p1+*p2; B)p2=c C)p1=p2 D)c=*p1*(*p2);
6.以下正确的程序段是().
A)char str[20]; B)char *p;
scanf("%s",&str); scanf("%s",p);
C)char str[20]; D)char str[20],*p=str;
scanf("%s",&str[2]); scanf("%s",p[2]);
7.若有说明语句
char a[]="It is mine";
char *p="It is mine";
则以下不正确的叙述是()
A)a+1表示的是字符t的地址
B)p指向另外的字符串时,字符串的长度不受限制
C)p变量中存放的地址值可以改变
D)a中只能存放10个字符
8.下面程序的运行结果是()
#include
#include
main()
{
char *s1="AbDeG";
char *s2="AbdEg";
s1+=2;s2+=2;
printf("%d\n",strcmp(s1,s2));
}
A)正数B)负数C)零D)不确定的值
9.下面程序的运行结果是()
#include
#include
fun(char *w,int n)
{char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1 } main() {char *p; p="1234567"; fun(p,strlen(p)); puts(p); } A)7654321 B)1714171 C)1711717 D)7177171 10.若有以下定义,则对a数组元素的正确引用是()int a[5],*p=a; A)*&a[5] B)a+2 C)*(p+5) D)*(a+2) 11.若有定义:int a[2][3],则对a数组的第i行j列元素地址的正确引用为() A)*(a[i]+j) B)(a+i) C)*(a+j) D)a[i]+j 12.若有以下定义,则p+5表示(). int a[10],*p=a; A)元素a[5]的地址B)元素a[5]的值 C)元素a[6]的地址D)元素a[6]的值 13.设int *p ,i ;以下正确合理的语句是()。 A .*p=10 ;B. i=p ;C. i=*p ;D. i=2*p+1 ; 14.设char s[10] ;int I ;以下引用数组s 中元素正确的表达式是()。 A .s(i+2) ;B. *(s+i) C. *(&s+i) D. *((s++)+i) *15. 若有定义和语句 int **pp ,*p ,a=10 ,b=20 ; pp=&p ;p=&a ;p=&b ; printf(“%d ,%d\n” ,*p ,**pp) ; 则输出结果是()。 A .A=10 ,20 B. 10 ,10 C . 20 ,10 D. 20 ,20 16 .若定义char s[20]= “ programming ”,*ps=s ;则不能代表字符‘o’的表达式是()。 A .ps+2 B. s[2] C. ps[2] D. ps+=2 ,*ps 16 .若有定义和语句 char *s1=” 12345” ,*s2=” 1234” ; printf(“%d\n” ,strlen(strcpy(s1 ,s2))) ; 则输出结果是()。 A .4 B .5 C . 9 D. 10 17. 若定义int a[ ] ={1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10} ,*p=a ;则值为3 的表达式是() A. p+=2 ,*(p++) B. p+=2 ,*++p C.p+=3 ,* p++ D. p+=2 ,++*p *18. 若有以下定义和语句