计算机程序设计

下列语句中符合C语言语法的赋值语句是()A、a=7+b+c=a+7;B、a=7+b++=a+7;C、a=7+b,b++,a+7D、a=7+b,c=a+7;

题目

下列语句中符合C语言语法的赋值语句是()

  • A、a=7+b+c=a+7;
  • B、a=7+b++=a+7;
  • C、a=7+b,b++,a+7
  • D、a=7+b,c=a+7;
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

对于语句IFa=6THENb=8,下面的说法正确的是()。

A.语句中有两个等于符号

B.语句中有两个赋值符号

C.语句中第一个是等于符号,第二个是赋值符号

D.语句中第一个是赋值符号,第二个是等于符号


参考答案:C

第2题:

若变量a、b、x、i都已正确定义并赋值,则以下符合C语言语法的表达式是( )。A.a+=a-=(b=4)*(a=3)SXB

若变量a、b、x、i都已正确定义并赋值,则以下符合C语言语法的表达式是( )。

A.a+=a-=(b=4)*(a=3)

B.x%(-3);

C.a=a*3=2

D.y=float(i)


正确答案:A
取余运算符%两边都应是正数,赋值语句左边必须是变量,不能是表达式,强制转换语句强制类型应加括号,而非加在变量上。

第3题:

下列不属于Java语言流程控制结构的是( )。

A.分支语句

B.跳转语句

C.循环语句

D.赋值语句


正确答案:D
解析:Java语言的流程控制包括分支语句、跳转语句、循环语句等。而赋值语句是由赋值表达式构成的,不能用于流程控制。

第4题:

以下语句中存在语法错误的是( )。


正确答案:A
数组定义后,不可以对数组整体赋值,s是二维数组,因SS[1]是一维字符数组,即字符串,字符串赋值可以使用strcpy(SS[1],”right”);这样的形式,而选项A中对二维数组中的第…l维(相当于一个一维数组)赋值,是不可以的。选项8和D是定义时对数组初始化,这是可以的。选项c中,将字符串在内存中的首地址赋给指针数组的一个元素,这是可以的。

第5题:

下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)。

①sq=sh; ②sh=tr; ③tr=sq; ④sq=tr; ⑤sh=sq;


正确答案:② ⑤
② ⑤ 解析:根据Java代码:
Triangle tr=new Triangle();
Square sq=new Square();
Shapesh=tr;
可以得出下面的结论:tr引用一个Triangle对象,sq引用一个Square对象,sh和tr引用同一个Triangle对象。因此,对问题1给出的论断,sh和tr引用同一个对象,其引用的内存空间也是相同的,①和⑤正确。对于论断④,由于sh和tr引用同一类型的同一个对象,因此不存在不同的备份。
根据题目的描述,我们知道perimeter是虚拟函数,所以所有通过sh调用的perimeter都将实际调用Triangle类的perimeter方法。
.tr->height():因为订引用一个Triangle对象,所以调用Triangle类的height方法。
.sh->perimeter():因为sh引用的是一个Trangle对象,所以调用Triangle类的 perimeter方法。
.sq->height():因为sq引用的是Square对象,但Square类并没有height方法,所以未对应任何方法调用。
.sq->perimeter():因为sq引用的是Square对象,所以调用Square类的perimeter方法。
.sh->height():虽然sh引用的是一个Trangle对象,sh中并未定义height方法,所以此调用错误。
.tr->perimeter():因为tr引用一个Triangle对象,所以调用Triangle类的perimeter方法。
问题3主要考虑类型的问题,我们只能够将子类类型的实例或引用赋值给父类类型的变量或引用。因此,赋值运算的左边一定是右边的父类或同一类型。正确的只有②和⑤。

第6题:

若变量x、Y已正确定义并赋值,以下符合C语言语法的表达式是( )。A.++x,y=x-B.x+1=ySXB

若变量x、Y已正确定义并赋值,以下符合C语言语法的表达式是( )。

A.++x,y=x-

B.x+1=y

C.x=x+10=x+y

D.double(x/10)


正确答案:A
赋值表达式左边必须是一个变量,而选项B)、c)中赋值号左边都是表达式,选项D)进行强制类型转换时,应写为(double)x/10。

第7题:

若变量已正确定义并赋值,以下符合C++语言语法的表达式是( )。 A.a:=b+1B.a=b=c+2SXB

若变量已正确定义并赋值,以下符合C++语言语法的表达式是( )。

A.a:=b+1

B.a=b=c+2

C.intl8.5%3

D.a=a+7=c+b


正确答案:B
B。【解析】本题考查C++语言的正确赋值方法。a=b=c+2实际上相当于a=(b=c+2),进而可分解为两个表达式b=c+2和a=b。选项A中包含一个不合法的运算符":=";选项C应改为(int)18.5%3;选项D可理解为两个表达式a+7=c+b和a=a+7,其中第一个是错的,因为C++语言规定赋值号的左边只能是单个变量,不能是表达式或常量。

第8题:

不考虑内存释放问题,下列赋值语句中哪两个是合法的(写出合法赋值语句的编号)

①sq=sh;②sh=tr;③tr=sq;④sq=tr;⑤sh=sq。


正确答案:②⑤
②⑤

第9题:

下列语句中符合C语言语法的赋值语句是 ( )

A.a=7 + b + c=a + 7;

B.9=7 + b + 9 + + a + 7;

C.a=7 + b,b+ +,a + 7;

D.a=7 + b,c=a + 7;


正确答案:D

第10题:

下列叙述中错误的是( )。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句


正确答案:C
解析:C语言规定每条语句和数据定义的最后必须有一个分号,分号是C语句的必要组成部分。复合语句也称为“语句块”,其形式如下:{语句1;语句2;……语句n;},即用一对大括号把若干语句括起来构成一个语句组。一个复合语句在语法上视为一条语句,在一对花括号内的语句数量不限。一个赋值表达式的最后加一个分号就成为一条语句,即赋值语句。空语句是只有一个分号的语句,它什么也不做,程序设计中有时需要加一个空语句来表示存在一条语句,但随意加分号会导致逻辑上的错误,而且这种错误十分隐蔽,编辑器也不会提示逻辑错误,需要慎用。