若有定义:char s[ ]="china"; 则Turbo C系统为数组s开辟()个字节的内存单元.

题目

若有定义:char s[ ]="china"; 则Turbo C系统为数组s开辟()个字节的内存单元.

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

第1题:

● 在 C 语言中,设有数组定义:char array[ ] = "China";则数组 array 所占用 的空间为 (58) 。

(58)A. 4 个字节 B. 5 个字节 C. 6 个字节 D. 7 个字节


正确答案:C

第2题:

已知C语言中定义的数组char array[]="program";则数组所占的空间为______。

A.7个字节

B.8个字节

C.9个字节

D.6个字节


正确答案:B
解析:字符型数组并进行初始化,系统按照C语言对字符串处理规定,在字符串的末尾自动加上串结束标记'\O',占用一个字节,因此数据array所占的空间为8。

第3题:

设有数组定义: char array[]="China"; 则数组 array所占的空间为

A.4个字节

B.5个字节

C.6个字节

D.7个字节


正确答案:C

第4题:

若有下面的程序段: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)。

第5题:

若有定义char s[3][4];以下对数组元素s[i][j]的各种引用形式中错误的是()。

A.*s[i]j

B.*sij

C.s[i][j]

D.**sij


正确答案:B

第6题:

设有下面的程序段:

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

第7题:

在C语言中,设有数组定义:char array[]=“China”;则数组array所占用的空间为(27)。

A.5个字节

B.6个字节

C.10个字节

D.12个字节


正确答案:B
解析:字符数组是每个元素存放一个字符型数据的数组。C语言中约定用\0作为字符串的结束标志,它占内存空间,但不计入字符串的长度。对数组array赋初值char array[]=“China”,此时系统自动在末尾加入一个‘\0’,此时数组array的长度为6,所占用的空间为6个字节,即char array[]=“China”等价于char array[]={‘C’,‘h’,‘i’,‘n’,‘a’,‘\0’}。若定义char array[]={‘C’,‘h’,‘i’,‘n’,‘a’,},此时数组array的长度为5个字节。

第8题:

下面判断正确的是

A.char*a="china";等价于char *a;*a="china";

B.char str[5]={"china"};等价于char str[]={"china"};

C.char*S="china";等价于char *S;S="china";

D.char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";


正确答案:C
解析: 选项A)char *a;*a=“china”应改为 a=china;,选项B)应该是char str[6];D)项表述方法有错误。

第9题:

设有数组定义:chararray[]:”China”;则数组array所占的空间为( )。

A.4个字节

B.5个字节

C.6个字节

D.7个字节


正确答案:C
解析: 本题考查在C++语言中,字符串的存放规则。即字符串存放在字符数组中,而且在字符的后面自动插入标识字符串结束的标识符’\0’,因此,共6个字符,每个字符占用一个字节,故正确答案为C。

第10题:

设有数组定义:char array[]="Chinese";则数组array所占的空间为A.6个字节 B.7个字节 C.8个字节 D.9个字节


正确答案:C
本题主要考查字符数组的初始化操作。字符数组的初始化可以逐个元素赋值,也可以作为字符串赋值。
逐个元素赋值初始化形式:
char 数组名[n]={字符1,字符2,……,字符n};
char 数组名[]={字符1,字符2,……,字符n};
作为字符串赋值形式:
char 数组名[n]="字符串";
char 数组名[]="字符串";
在C语言中,为了方便确定字符串的长度,编译系统在字符串后增加了一个结束标识’\0’,即ASCII码的0。因此,当采用字符串初始化字符数组时,必须为其保留一个存放结束标识符的位置。
在本题中,用一个字符串作为数组的初值,这种方法直观、方便,而且符合人们的习惯。数组array的长度是7,但所占的空间是8,这点必须要注意。因为字符串常量的最后由系统加上一个’\0’,因此,上面的初始化是char array[]={′C′,′h′,′i′,′n′,′e′, ′s′, ′e′,′\0′}。