计算机二级

设有如下程序段:则执行P=s;语句后,以下叙述中正确的是( )。A.可以用* P表示s[O]B.S数组中元素的个数和P所指字符串长度相等C.s和P都是指针变量D.数组s中的内容和指针变量P中的内容相等

题目

设有如下程序段:则执行P=s;语句后,以下叙述中正确的是( )。

A.可以用* P表示s[O]

B.S数组中元素的个数和P所指字符串长度相等

C.s和P都是指针变量

D.数组s中的内容和指针变量P中的内容相等

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有下面的程序段: char s[]="china"; char*p;p=s; 则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

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

D.*p与s[0]相等


正确答案:D
解析:选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。注意:用于字符串处理的函数。

第2题:

设有下列程序段:

chars[20]="Beijing",*P;

P=S;

则执行“p=s;”语句后,下列叙述正确的是( )。

A.可以用*P表示s[0]

B.S数组中元素的个数和P所指字符串长度相等

C.S和P都是指针变量

D.数组s中的内容和指针变量P中的内容相同


正确答案:A
A。【解析】程序定义了字符数组S和字符型指针变量P,并且使P指向数组S的首地址,执行P=S语句后,*P表示s[o];S数组中元素的个数和P所指字符串长度不相等,s数组中包括字符串结束标志“\0”,而P所指字符串不包括“\0”,数组s中的内容和指针变量P中的内容不相同,数组中存放的是字符串,而指针变量P存放的是数组的首地址。

第3题:

若有下面的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A.s和p完全相同 B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相等 D.*p与s[0]相等


正确答案:D
本题考查数组与指针的关系。C语言规定数组名代表数组中第一个元素的地址,题目中给出了p=s,即p=&s[0],所以有*p=s[0]。A选项说s和p完全相同是错误的,因为s是数组名,是一个常量,而p是一个指针变量;B选项说数组s中的内容和指针变量p中的内容相等也是错误的,因为数组s中的内容是字符串“china”,而指针变量p中的内容是数组的首地址;C选项说s数组长度和p所指向的字符串长度相等也是错误的,因为字符串存放在数组中时,至少需要多出一个存放字符串结束标识的单元。

第4题:

设有下列程序段: chars[20]="Beijing",*P; P=S; 则执行“p=s;”语句后,下列叙述正确的是( )。

A.可以用*P表示s[0]

B.S数组中元素的个数和P所指字符串长度相等

C.S和P都是指针变量

D.数组s中的内容和指针变量P中的内容相同


正确答案:A
A。【解析】程序定义了字符数组S和字符型指针变量P,并且使P指向数组S的首地址,执行P=S语句后,*P表示s[o];S数组中元素的个数和P所指字符串长度不相等,s数组中包括字符串结束标志“\0”,而P所指字符串不包括“\0”,数组s中的内容和指针变量P中的内容不相同,数组中存放的是字符串,而指针变量P存放的是数组的首地址。

第5题:

若有下面的程序段:char s[]="china";char*p;p=s;则下列叙述正确的是

A.s和p完全相同

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

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

D.*p与s[0]相等


正确答案:D
解析:字符型指针变量p中存放的是"china"的首地址,所以选项A)和B)错误。e数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C)。

第6题:

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

A. s 和 p 完全相同

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

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

D. *p 与 s[0]相等


正确答案:D

第7题:

设有下面的程序段:

char s[]="china"; char*p; p=s;

则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

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

D.*p与s[0]相等


正确答案:D
解析:考查的是字符指针和字符数组的区别。选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。

第8题:

设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。

A.可以用*p表示s[0]

B.s数组中元素的个数和p所指字符串长度相等

C.s和p都是指针变量

D.数组s中的内容和指针变量p中的内容相同


正确答案:A
解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“\0”,而p所指字符串长度不包括“\0”;s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。

第9题:

设有如下程序段

char s[20]= "Be i jing",*p;

p=s;

则执行 p=s; 语句后,以下叙述正确的是

A) 可以用 *p 表示 s[0]

B)s 数组中元素的个数和 p 所指字符串长度相等

C)s 和 p 都是指针变量

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


正确答案:A