A.在IF-ELSE 条件语句中,IF为必选,而ELSE为可选
B.在IF-ELSE 条件语句中,语句块使用{ }括起来
C.在CASE多分支语句中不可以出现ELSE分支
D.在WHILE循环语句中条件为false,就重复执行循环语句
设有语句: if(ex)S1;else S2; 该语句执行功能的流程图如图6—1所示。
要求: (1)根据流程图描述的语义为上面的语句设计代码(四元式)结构填入下面代码区:
注意: ①语句ex、S1、S2的中间代码可以用ex,code、S1.code、S2.code表示。 ②转移类四元式的转向目标统一写在四元式的result位置。 无条件转移操作符用“j”表示,例如,(j,,,100)表示无条件转移到addr为100的四元式。 有条件转移操作符用“jT”表示为“真”转移。例如,(jTex值,,100)表示对ex值进行判断,当ex值为真时转移到地址为100的四元式。类似地有转移操作符“jF”表示为“假”转移。 ③code部分可以有空语句,即code部分不填写任何内容。 (2)给出语句标号next拉链一返填的描述。
有下列类C语言的语句 if(a>b)x=(x+y)↑2↑(y-1); else if(b>a)y=0; else y=x; (1)用逆波兰式表示该语句。 说明: ①“↑”表示乘幂运算,在逆波兰式中直接使用。 ②“+”、“-”、“>”、“=”运算符在逆波兰式中直接使用。 ③无条件转移操作符用“j”表示,条件成立转移的操作符用“jT”表示,条件不成立转移的操作符用“jF”表示;转移目标用逆波兰式的序号(自然数表示)。 (2)给出该语句语义处理的四元式形式的目标代码。 注意:给出的目标代码中语句标号的定义性出现用Li表示,其中i=1,2,…,n;语句标号的使用性出现用四元式序列的序号表示,序号用①,②,…表示。 操作符使用规定同(1)中的说明。 (3)给出该语句翻译后的标号表。标号表按以下示例内容填写:
A.缩排位置相同的if
B.其之前最近的if
C.其之后最近的if
D.同一行上的if
语句"if(a>b)max=a;else max=b;"与条件表达式语句______的作用相同。
以下关于retum语句的叙述中正确的是
A.一个自定义函数中必须有一条return语句
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成yoid类型的函数中可以有带返回值的return语句
D.没有retum语句的自定义函数在执行结束时不能返回到调用处