资源描述:
《C语言指针习题集与答案解析30637》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......word...专业技术行业资料......指针习题及答案一.选择题1.变量的指针,其含义是指该变量的B。A)值B)地址C)名D)一个标志2.已有定义intk=2;int*ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是B。A)k=*ptr1+*ptr2B)ptr2=kC)ptr1=ptr2D)k=*ptr1*(*ptr2)3.若有说明:int*p,m=5,n;以下程序段正确的是D。A)p=&n;B)p=&n;scanf(“%d”,&p);scanf(“%d”,*p);C)scanf
2、(“%d”,&n);D)p=&n;*p=n;*p=m;4.已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的输出结果是D。voidprint_value(int*x){printf(“%d”,++*x);}A)23B)24C)25D)265.若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是C。A)p1=&m;p2=&p1;B)p1=&m;p2=&n;*p1=*p2;C)p1=&m;p2=p1;D)p1=&m;*p1=*p2;6.若有语句:int*p,a=4;和p=&a
3、;下面均代表地址的一组选项是D。A)a,p,*&aB)&*a,&a,*pC)*&p,*p,&aD)&a,&*p,p7.下面判断正确的是C。A)char*a=”china”;等价于char*a;*a=”china”;B)charstr[10]={“china”};等价于charstr[10];str[]={“china”;}C)char*s=”china”;等价于char*s;s=”china”;D)charc[4]=”abc”,d[4]=”abc”;等价于charc[4]=d[4]=”abc”;8.下面程序段中,for循环的执行次
4、数是C。char*s=”ta 18bc”;for(;*s!=’ ’;s++)printf(“*”);A)9B)7C)6D)59.下面能正确进行字符串赋值操作的是C。A)chars[5]={“ABCDE”};B)chars[5]={‘A’,’B’,’C’,’D’,’E’};C)char*s;s=”ABCDE”;D)char*s;scanf(“%s”,s);10.下面程序段的运行结果是C。char*s=”abcde”;s+=2;printf(“%d”,s);A)cdeB)字符’c’C)字符’c’的地址D)不确定11.设p1和p2
5、是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是B。A)c=*p1+*p2B)p2=cC)p1=p2D)c=*p1*(*p2)12.设有程序段:chars[]=”china”;char*p;p=s;则下面叙述正确的是D。A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等......范文范例学习参考指导.............word...专业技术行业资料......C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等13.以下与库函数strcpy(char*p1,char*p2)功能
6、不相等的程序段是D。A)strcpy1(char*p1,char*p2){while((*p1++=*p2++)!=’ ’);}B)strcpy2(char*p1,char*p2){while((*p1=*p2)!=’ ’){p1++;p2++}}C)strcpy3(char*p1,char*p2){while(*p1++=*p2++);}D)strcpy4(char*p1,char*p2){while(*p2)*p1++=*p2++;}14.下面程序段的运行结果是C。chara[]=”language”,*p;p=a;whi
7、le(*p!=’u’){printf(“%c”,*p-32);p++;}A)LANGUAGEB)languageC)LANGD)langUAGE16.以下与库函数strcmp(char*s,char*t)功能相等的程序段是C。A)strcmp1(char*s,char*t){for(;*s++=*t++;)if(*s==’ ’)return0;return(*s-*t);}B)strcmp2(char*s,char*t){for(;*s++=*t++;)if(!*s)return0;return(*s-*t);}C)strcmp
8、3(char*s,char*t){for(;*t==*s;){if(!*t)return0;t++;s++;}return(*s-*t);}D)strcmp4(char*s,char*t){for(;*s==*t;s++,t++)if(!*s)re