c语言指针选择题库及答案,C语言指针练习习题及答案.doc

这是一份关于C语言指针的选择题练习,涵盖了指针的基础概念、操作和使用,包括变量的指针地址、指针的赋值、数组与指针的关系以及字符串处理等内容。

指针习题及答案

一.选择题

1.变量的指针,其含义是指该变量的

B

A )值

B)地址

C)名

D)一个标志

2.已有定义 int k=2;int

*ptr1,*ptr2;

且 ptr1 和 ptr2 均已指向变量

k,下面不能正确执行的赋值

语句是

B

A ) k=*ptr1+*ptr2

B ) ptr2=k

C) ptr1=ptr2

D) k=*ptr1*(*ptr2)

3.若有说明: int *p,m=5,n; 以下程序段正确的是

D

A ) p=&n ;

B ) p = &n ;

scanf( “ %d” ,&p);

scanf( “ %d” ,*p);

C) scanf( “ %d” ,&n);

D) p = &n ;

*p=n ;

*p = m ;

4.已有变量定义和函数调用语句:

int a=25;print_value(&a); 下面函数的输出结果是

D

void print_value(int *x)

{ printf( “n%d” ,++*x); }

A ) 23

B )) 25

D) 26

5.若有说明: 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 ;下面均代表地址的一组选项是

D

A ) a,p,*&a

B )&*a,&a,*p

C) *&p,*p,&a

D ) &a,&*p,p

7.下面判断正确的是

C

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 ” ;

8.下面程序段中, for 循环的执行次数是

C

char *s=

”018bc ” ;

for ( ; *s!=

\ ;’s++)

printf(

“ * ” ) ;

A ) 9

B )) 6

D) 5

9.下面能正确进行字符串赋值操作的是C

A ) char s[5]={“ ABCDE” };

C) char *s ; s=” ABCDE” ;

10.下面程序段的运行结果是C

char *s=” abcde ” ;

s+=2 ; printf(“ %d” ,s);

A ) cdeB)字符 ’ c’

11.设 p1 和 p2 是指向同一个字符串的指针变量,

语句是B。

B) char s[5]={ ‘ A’ , ’ B’ , ’ C’ , ’ D’ , ’ E’ };

D ) char *s; scanf(“ %s” ,s) ;

C)字符 ’ c的’地址D )不确定

c 为字符变量, 则以下不能正确执行的赋值

A ) c=*p1+*p2B) p2=cC)p1=p2D )c=*p1*(*p2)

12.设有程序段 :char s[ ]=” china ” ; char *p则;下p=s面叙;述正确的是D。

A ) s 和 p 完全相同

B)数组 s 中的内容和指针变量p 中的内容相等

C) s 数组长度和p 所指向的字符串长度相等

D) *p 与 s[0] 相等

13.以下与库函数strcpy(char *p1,char *p2) 功能不相等的程序段是

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++ ; }

D

14.下面程序段的运行结果是

char a[ ]=” language

C

” , *p ;

p=a ;

while (*p!=’ u’ ) { printf(-32);“p++%c”;},*p

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值