
九指针(一) 一、选择题 1,变量的指针,其含文是指该变量的 值 b)地址 c)名 d)一个标志 2.若有语句int *point,a=4:和oint=《a:下面均代表陆址的一组选项是一 a}a,poit,城a b)&a,Ma,poi■t c)*kpoint,*point,&a d)ka,&point point 3.若有说明:it和,F5,n:以下正确的程序段的是 a)p-&n: b)p-Am: scanf(”,p: scnf(d°,p: c》scanf(d°,&n: d)p=&n: *p-n: *p-n: 4,下面程序段的运行结果是 char *s="abecde": s=2:printf(d”,s): a)cde b)字符'e' c)字符'e'的地址 )无确定的输出结果 5,设1和2是指向同一个字符串的指针变量,e为学符变量,则以下不能正确 执行的赋值语句是 a)c=*pl+*p2: b)p2=e e)pl=p2 d0c=$和l*p2): 6.以下正确的程序段是 a)char str[20]: b)char *p: scanf(s",str): scanf(s°,pl: c)char str[20]: d)char str[20]."p=str; scanf("ss",&str[2]) scanf(ss”,p2]): 7,若有说明语句 char a[]="It is mine": char p=1 t is mine°: 则以下不正确的叙述是
九 指针(一) 一、选择题 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》即指向另外的字符串时,字符串的长度不受限制 c)p变量中存放的地址值可以改变 d》a中只能#放10个字符 8.下面程序的运行结果是 年include(stdio.h #include main( char *sl="AbDeG”: char*s2"AhEg”: s1+-2:s2+-2: printf(dn°,strcmp(sl,s2): a)正数b)负数c)零d山不确定的值 9.下面程序的运行结果是一 年include(stdio.h> sinclude fun(char w,int n) [char t,*s1,*s2: sl-x:s2vtn-1: sh11e(s1(s2)t=*s1+:*s1=*s2-:*s2=1:】 1 main() {char和: p1234567”: fun(p,strlen(p)); 陶ts(p): 1 a7654321b)1714171 c1711717 d)7177171
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<s2){t=*s1++;*s1=*s2--;*s2=t;} } main() {char *p; p="1234567"; fun(p,strlen(p)); puts(p); } a)7654321 b)1714171 c)1711717 d)7177171

10.若有以下定义,则对a数组元素的正确引用是 imtn[5】,*pa a}wa[5)b)a+2c)*(p+5)d0*(a+20 11,若有定义,inta[2][3,则对a数组的第1行j列元素地址的正确引用为 a*a[i]+》b)(a*i)cj*a+》d0ali]+j 12.若有以下定义,则p+5表示一 int a[10],p-a: a}元素a【5们的地址 b)元素a[5]的值 c》元素a【6)的地址 )元素a6]的值
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]的值