软考初级

以下关于字符串的叙述中,正确的是 ( )。A.字符串属于线性的数据结构B.长度为0字符串称为空白串C.串的模式匹配算法用于求出给定串的所有子串D.两个字符串比较时,较长的串比较短的串大

题目

以下关于字符串的叙述中,正确的是 ( )。

A.字符串属于线性的数据结构B.长度为0字符串称为空白串C.串的模式匹配算法用于求出给定串的所有子串D.两个字符串比较时,较长的串比较短的串大

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

第1题:

有以下函数:fun(char * a,char *b){ while((*a! ='\0')&&( * b! :'\0')&&( *a== *b)) {a++;b++;} return( *a-*b);} 该函数的功能是( )。

A.将b所指字符串连接到a所指字符串中

B.计算a和b所指字符串的长度之差

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小


正确答案:D
解析:两个字符串的比较是从左至右对两个字符串对应位置上的字符逐个进行比较,即按其ASCII码值的大小比较,直到出现不同的字符或遇到,'\0'为止。若全部字符都相同,则两个字符串相等,返回0;若出现不相同的字符,则返回第一个不相等字符的ASCII码的差值。fun函数实现了该功能。

第2题:

下列关于空值(NULL值)叙述正确的是( )。 A.空值等于空字符串B.空值等同于数值0

下列关于空值(NULL值)叙述正确的是( )。

A.空值等于空字符串

B.空值等同于数值0

C.空值表示字段或变量还没有确定的值

D.Visual FoxPro不支持空值


正确答案:C
C。【解析】在VisualFoxPro中支持对空值的运算,但是空值并不等于空字符串,也不等同于数值0,不同类型数据的“空”值有不同的规定。

第3题:

下列关于字符串的说法中错误的是

A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志

B.′\0′作为标志占用存储空间,计入串的实际长度

C.在表示字符串常量的时候不需要人为在其末尾加入′\0′

D.在C语言中,字符串常量隐含处理成以′\0′结尾


正确答案:B

第4题:

以下关于字符串的叙述中正确的是( )。

A.空串比空格打头的字符串小

B.两个字符串中的字符个数相同时才能进行字符串大小的比较

C.可以用关系运算符对字符串的大小进行比较

D.C语言中有字符串类型的常量和变量


正确答案:A
字符串比较大小是以第l个不相同字符的大小为标准的,跟长度没有关系,B选项不正确;字符串比较大小除了使用库函数s协emp()以外,就只能靠自己写代码来实现了。而不能通过关系运算符来比较大小。因为字符串在表达式中相当于constchar+,即常字符指针,代表的是字符串的首地址,关系运算符会将两个字符串的首地址值比较大小,这是毫无意义的。c选项不正确。C语言中只有字符串常量而没有字符串变量,D选项描述不正确;空串的长度为0,而以空格打头的字符串的长度至少为l,因此A选项是正确的。

第5题:

有以下函数

以下关于aaa函数功能叙述正确的是( )。

A.求字符串s的长度

B.比较两个串的大小

C.将串s复制到串t

D.求字符串s所占字节数


正确答案:A
本题考查的知识点是:while循环的简单应用,aaa()函数中.首先定义了.一个字符指针指向形参s,然后通过一个white循环让指针不断递增.直到指向字符串结束标志处。当t指向结束标志处时。南于后缀++运算符的原因,它还会被再递增l.所以接下来的t一;语句让它回到结束标志处。最后返回t-s,因为s还是指向字符串第l个字符处,而t指向了字符串结尾.故返回值为字符串的长度值。

第6题:

有以下函数 fun(char *a, char *B) { while((*a!='\0')&&(*b!='\0')&&(*a==*B) ) { a++; b++;} return(*a-*B) ; } 该函数的功能是

A.计算a和b所指字符串的长度之差

B.将b所指字符串复制到a所指字符串中

C.将b所指字符串连接到a所指字符串后面

D.比较a和b所指字符串的大小


正确答案:D
解析:本题要求阅读的代码是一个函数,阅读之前先要看清函数的定义,该函数有两个参数,都是字符指针,这说明它接收的是两个字符串.该函数没有定义返回类型,C语言规定函数的返回类型为int时可以省略,所以切不可将其看成是无返回类型的void型函数,它是int型函数。函数体中除了返回语句外,只有一条while循环语句,该循环的循环条件为(*a!='\'0}&&(*b!='\0')&&(*a==*B),即当a和b所指处都不是字符结束符'\0'并且a和b所指处的内容相等时执行循环。而循环体中只是简单地将指针a和b同时往后移动1位。循环结束后返回a所指内容减去b所指内容的差。换个角度去考虑,也就是说当字符串a或b中有一个结束了或者是它们的相同位置中有一个字符不同时,则返回该位置两个字符之差。若两者长度相同而且所有对应字符都相同的话,最后返回的是'\0\-'\0'=0,否则的话就返回两个字符串第一对不相同的字符之差.这时应该可以看出来,这个函数实现的是对两个字符串的比较。所以,4个选项中D正确。

第7题:

若有定义:char*ps[]={“aa”,“bb”,“cc”,“dd”};,则以下叙述正确的是()。

Aps[0]是字符串”aa”

B*ps[0]是字符串”aa”的首地址

Cps[0]是字符串”aa”的首地址

D*ps[0]是字符串”aa”


正确答案:C

第8题:

有以下程序

#include<string.h>

main()

{ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};

printf("%d%d\n",strlen(p),strlen(q));}

以下叙述中正确的是

A.在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C.由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D.由于p和q数组中都没有字符串结束符,故长度都不能确定


正确答案:A
解析:在给p和q数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组p和q都有3个字符,所以长度均为3。

第9题:

有以下程序:以下叙述中正确的是( )。

A.在给P和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B.由于P数组中没有字符串结束符,长度不能确定;但q数组中字符长度为3

C.由于q数组中没有字符串结束符,长度不能确定;但P数组中字符长度为3

D.由于P和q数组中没有字符串结束符,故长度都不能确定


正确答案:B
本题考查的是库函数的调用。Stden

第10题:

以下关于字符串的判定语句中正确的是______。

A.字符串是一种特殊的线性表

B.串的长度必须大于零

C.字符串不属于线性表的一种

D.空格字符组成的串就是空串


正确答案:A
解析:字符串是一种特殊的线性表,是由某字符集上的字符所组成的任何有限字符序列。当一个字符串不包含任何字符时,称它为空字符串。仅由一个或多个空格组成的串称为空白串(blank string)。空串和空白串不同。字符串通常存储于足够大的字符数组中。事实上,像这种试题,因为选项A和选项C是一对矛盾体,必须有一个正确一个错误,所以根本不要考虑选项B和D。

更多相关问题