C语言测试六(带有答案).doc

PAGE PAGE 1 测试六( 指针 ) 姓名: 学号: 一.选择题? 1.?变量的指针,其含义是指该变量的(????)。? A)值????????B)地址???????C)名????????D)一个标志? 2.?已有定义int?k=2;int?*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是(????)。 ?A)k=*ptr1+*ptr2???? ??B)ptr2=k??? ?????C)ptr1=ptr2?????? ????D)k=*ptr1*(*ptr2)? 3.?若有说明:int?*p1,?*p2,m=5,n;以下均是正确赋值语句的选项是(?????)。? A)p1=m;?p2=p1?????? ?B)p1=m;?p2=n;?*p1=*p2?? C)p1=m;?p2=p1???????? ?D)p1=m;?*p1=*p2?? 4.?若有语句:int?*p,a=4;和p=a;下面均代表地址的一组选项是(?????)。? A)a,p,*a???????????B)*a,a,*p????????C)*p,*p,a????????D)a,*p,p 5.?下面判断正确的是(?????)。 A)char?*a=”china”;?等价于?char?*a;?*a=”china”?;? B)char?str[10]={“china”};??等价于?char?str[10];?str[?]={“china”;}? C)char?*s=”china”;?等价于?char?*s;?s=”china”?;? D)char?c[4]=”abc”,d[4]=”abc”;??等价于?char?c[4]=d[4]=”abc”?;? 6.?下面程序段的运行结果是(????)。? char?*s=”abcde”?;? s+=2; ??printf(“%d”,s);? A)cde?????????????????B)字符’c’???????C)字符’c’的地址?????D)不确定 7.?设有程序段:char?s[?]=”china”;?char?*p??p=s?则下面叙述正确的是(????)。 A)数组s中的内容和指针变量p中的内容相等 B)s和p完全相同? ?C)s数组长度和p所指向的字符串长度相等 ?D)*p与s[0]相等? 8.?下面程序段的运行结果是(????)。??? ?char?a[?]=”language”,*p;????? p=a?; ??? while?(*p!=’u’) ?{?printf(“%c”,*p-32);? p++;?? }? A)LANGUAGE???????B)language?????????????C)LANG?????????????D)langUAGE 9.?以下说明不正确的是(????)。? A)char?a[10]=”china”?;??? ??B)char?a[10],*p=a;?p=”china”; C)char?*a;?a=”china”?;???? ?D)char?a[10],*p;?p=a=”china”;? 10.?设有说明语句:char?a[]=”It?is?mine”;char?*p=”It?is?mine”;则以下不正确的叙述是(????)。? A)a+1表示的是字符t的地址??????? ??B)p指向另外的字符串时,字符串的长度不受限制? C)p变量中存放的地址值可以改变? D)a中只能存放10个字符 11.?若已定义char?s[10];则在下面表达式中不表示s[1]的地址是(?????)。? A)s+1?????? B)s++? ?????C)s[0]+1?? ????D)s[1]? 12.?若有定义:int?a[5],*p=a;则对a数组元素的正确引用是(???)。 ?A)*a[5]?? ??B)a+2???? ??C)*(p+5)????? ?D)*(a+2) 13?.若有定义:int?a[2][3];则对a数组的第i行第j列元素值的正确引用是(????)。? A)*(*(a+i)+j)????????B)(a+i)[j]??????????C)*(a+i+j)??????????D)*(a+i)+j? 14.?若有程序段:int?a[2][3],(*p)[3];?p=a;则对a数组元素地址的正确引用是(????)。? A)*(p+2)???????? ??B)p[2]????? ????C)p[1]+1???????? ??D)(p+1)+2 15.?若有定

文档评论(0)

1亿VIP精品文档

相关文档