软件工程

下列选项中,正确的语句组是()。A、char s[8]; s={“Beijing”};B、char *s; s={“Beijing”};C、char s[8]; s=“Beijing”;D、char *s; s=“Beijing”;

题目

下列选项中,正确的语句组是()。

  • A、char s[8]; s={“Beijing”};
  • B、char *s; s={“Beijing”};
  • C、char s[8]; s=“Beijing”;
  • D、char *s; s=“Beijing”;
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下语句或语句组中,能正确进行字符串赋值的是( )。

A.char*sp;*sp="right!";

B.char s[10];s="right!";

C.char s[10];*s="right!";

D.char*sp="right!";


正确答案:D
解析:本题的考点是C语言的数组和指针。C的数组名是一个特殊类型的指针,固定指向数组第一个元素的位置,运行过程中不能再改变其指向。因此选项B、C都是错误的。指针可以指向任何单元,但选项A是错误的,因为赋值语句“*sp=”right!”;”是错误的,正确写法是“sp=”right!”;”。而对于选项D,由于“char*sp="right!";”是定义指针同时赋初值,因此是正确的。

第2题:

下列选项中正确的语句组是

A.char s[8]; s={"Beijing"};

B.char s[8]; s="Beijing";

C.char *s; s={"Beijing"};

D.char *s; s="Beijing";


正确答案:D
解析:C语言不允许通过赋值语句给字符数组赋值,故选项A),C)不正确,而“{}”是在定义变量的同时对变量进行初始化时使用,在赋值时不能使用。

第3题:

对字符数组s赋值,不合法的一个是( )。A.char s[]="Beijing"B.char s[20]={"Beijing"}C.char s[20];s="Beijing"D.char s[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}


正确答案:C
数组赋值时,字符串常量给出的是这个字符串在内存中所占存储单元的首地址,而s是一个不可重新赋值的数组名,所以此赋值不合法。

第4题:

下列选项中正确的语句是( )。

A.chars [8];s={"Beijing"};

B.char*s:s={Bei jing");

C.chars [8]: s="Bei jing"};

D.char*s:s="Bei jing";


正确答案:D
解析:宁符数组初始化可以有两种方式:方式一,按单个字符的方式赋初值。方式二,把一个字符串作为初值赋给字符数组。比如:charch[5]={"abc"),选项A属于这种情况,但是选项A定义的字符数组长度为8,由于最后还要加一个“\0”做结束标志,所以赋给他的字符串长度应小于等于7,所以选项A不正确;在给字符数组赋初值的时候,应该用花括号“{”和“}”将字符串括起来,故选项C不正确。将字符型指针变量指向字符串也有两种方法,一是在定义指针变量时就给其赋初值,比如:char*p="student"二是给指针变量赋值,比如:p="student";(p已经被定义为字符型指针变量:),故选项D正确,而选项C中的花括号是多余的,应该去掉,所以,4个选项中选项D符合题意。

第5题:

以下选项中正确的语句组是______。

A.chars[];s="BOOK!";

B.char*s;s={"BOOK!"};

C.chars[10];s="BOOK!";

D.char*s;S="BOOK!";


正确答案:D
解析:选项A和选项C中,都是绐数组第—个元素赋初值,因为在C语言中,定义的数组名可以认为是—个存入地址值的指针变量名,其中的地址值是数组第—个元素的地址,即在默认情况下,程序使用数组名是指向该数组的首地址, —个地址只能存入一个数据,因此这两个选项是错误的;选项B和选项D都是用字符指针指向—个字符串,它只能指向—个字符变量或其他字符类型数据,不能同时指向多个字符数据,更不能把这些字符存放到变量中(指针变量只能存放地址),因此选项B是错误的,只有选项D是正确的。

第6题:

有以下程序 #include<stdio.h> void fun(char*c) {while(*c) {if(*c>=a*c<=z)*c=*c=(’a’-’A’) c++; } } main( ) {char s[81]; gets(s);fun(;)puts(s); 当执行程序时从键盘输入Hello Beijing<回车>,则程序的输出结果是( )。

A.hello beijing

B.Hello Beijing

C.HELLO BEIJING

D.hELLO Beijing


正确答案:C
此程序是进行将小写字母变成大写操作,所以答案为C。

第7题:

有以下程序:includemain(){FILE *pf;char*s1="China",*s2="Beijing":pf=fopen("abc.da

有以下程序: #include<stdio.h> main() {FILE *pf; char*s1="China",*s2="Beijing": pf=fopen("abc.dat","wb+"); fwrite(s2,7,1,pf); rewind(pf); /*文件位置指针回到文件开头*/ fwrite(s1,5,1,pf); fclose(pf); } 以上程序执行后abc.dat文件的内容是( )。

A.China

B.Chinang

C.ChinaBeijing

D.BeijingChina


正确答案:B

第8题:

(32)以下选项中正确的语句组是

A)char s[];s=”BOOK!”; B) char *s;s={”BOOK!”};

C)char s[10];s=”BOOK!”; D) char *s;s=”BOOK!”;


正确答案:D

第9题:

下列各个选项中对字符数组赋字符串的语句中,错误的是( )。

A.char s[10];s="program";

B.char s[]="program";

C.char s[10]="program";

D.char s[10]; strcpy(s,"program");


正确答案:A

第10题:

下列语句组中,不正确的是( )。

A.char *s;s="Olympic";

B.char s[]="Olympic";

C.char *s;s={"Olympic"};

D.char s[]={"Olympic"};


正确答案:C

更多相关问题