CMS专题

单选题变量s已定义为"char *s="Heoll world!";",要使变量p指向s所指向的同一个字符串,则应定义为()。A char *p=s;B char *p=&s;C char *p;p=*s;D char *p;p=&s;

题目
单选题
变量s已定义为"char *s="Heoll world!";",要使变量p指向s所指向的同一个字符串,则应定义为()。
A

char *p=s;

B

char *p=&s;

C

char *p;p=*s;

D

char *p;p=&s;

参考答案和解析
正确答案: A
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设char *s="\ta\018bc";则指针变量s指向的字符串所占的字节数 是 _______ 。

A.9

B. 5

C. 6

D. 7


参考答案:D

第2题:

设有下面的程序段:

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)的说法正确。

第3题:

设有如下程序段

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

第4题:

以下选项中,能定义s为合法的结构体变量的是( )。

A.typedef struct abc { double a; char b[10]; } s;

B.struct { double a; char b[10]; }s;

C.struct ABC { double a; char b[10]; } ABC s;

D.typedef ABC { double a; char b[10]; } ABC s;


正确答案:B
解析:定义一个结构体类型的变量,可采用三种方法:①先定义结构体类型,再定义变量名。②在定义类型的同时定义变量。③直接定义结构体类型变量,即不出现结构体名。选项B)符合第三种定义方法。

第5题:

设有以下语句: typedef street S { int g; char h;} T;则下面叙述中正确的是( )。

A.可用S定义结构体变量

B.可以用T定义结构体变量

C.S是struct类型的变量

D.T是struct S类型的变量


正确答案:B
解析:可以用typedef定义新的类型名来代替已有的类型名。T是所定义的新的类型名,它代表题中定义的一个结构体类型,这样就可以用T定义结构体变量了。

第6题:

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针向链表的第—个结点。

若有以下程序段 q=s; s=s->next; p=s; while(p->next) p=p->next; P->next=q; q->next=NULL; 该程序段实现的功能是______。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


正确答案:A
解析:根据语句q=s得知指针q指向结点a;由s=s->next;p=s得知指针p和s均指向接点b;在满足while语句的情况下,抽行p=p->next;得知p现在指向结点c;由p->next=q得知p指向的结点是a,a移到c的后面;由q->next=NULL得知结点a与结点b的指针断开。移动后的结构图如图所示:

第7题:

若有定义:char *s="Programming";,以下叙述中有错误的是______。

A.变量s中存放了字符P的地址

B.s[0]中存放了字符P

C.*s中存放了字符P

D.s中存放了一个字符串


正确答案:D
解析:将一个字符型指针s指向一个字符串,s中存放的是该字符串的首地址。

第8题:

设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是()。

A.9

B.5

C. 6 (分别是:'\t' 'a' '\017' 'b' 'c' '\0')

D.7


答案:C

第9题:

若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。

①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。

②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。


正确答案:s=p+3; 2
s=p+3; 2 解析:若p指向了a[1],则p+3将指向其后的第3个元素a[4],把它赋值给s,s就指向了a[4],所以第1空填“s=p+3;”。由于s指向了a[2],p指向了a[0],s和p为指向同一个数组元素的指针变量,它们的差为它们指向元素的下标差值(即间隔多少个元素),所以“s-p”的结果为2。

第10题:

程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、P、q、均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。

该程序段实现的功能是( )。

A.首结点成为尾结点

B.尾结点成为首结点

C.删除首结点

D.删除尾结点


正确答案:A
循环找到末尾结点,然后赋值给第一个结点,所以选择A)。

更多相关问题