表达式Val("12")+val("2")的返回值是( )
A.12
B.14
C.122b
D.出错
第1题:
下列程序的运行结果为【 】。
A="1"
B="2"
A=Val(A) +Val(B)
B=Val("12")
If A<>B Then Print A-B Else Print B-A
第2题:
有如下程序: #inClude<iostream> using namespaCe std; Class MyClass{ publiC: MyClass(int X):val(X){} void PrintConst}tout<<”Const:val=”<<val<<’\t’;} void Print{tout<<”val=”<<val<<’\t’;} private: int val; }; int main{ Const MyClass objl(10); MyClass obj2(20); objl.Print; obj2.Print; retum 0; } 执行这个程序的输出结果是( )。
A.val=10 Const:val=20
B.Const:val=10 Const:val=20
C.Const:val=10 val=20
D.val=10 val=20
第3题:
采用语法制导翻译思想,表达式E 的“值”的描述如下: 产生式 语义动作 S′→E {print E.VAL} E→E1+E2 {E.VAL∶=E1.VAL+E2.VAL} E→E1*E2 {E.VAL∶=E1.VAL*E2.VAL} E→(E1) {E.VAL∶=E1.VAL} E→n {E.VAL∶=n.LEXVAL} 请采用LR 分析方法,给出表达式(5*4+8)*2 的语法树并在各结点注明语义值VAL。
第4题:
表达式STR(VAL("12/16/98",2)的结果为______。
A.12/16/98
B.2
C.12
D.12
第5题:
采用语法制导翻译思想,表达式E 的“值”的描述如下: 产生式 语义动作 S′→E {print E.VAL} E→E1+E2 {E.VAL∶=E1.VAL+E2.VAL} E→E1*E2 {E.VAL∶=E1.VAL*E2.VAL} E→(E1) {E.VAL∶=E1.VAL} E→n {E.VAL∶=n.LEXVAL} 如采用LR 分析方法,给出表达式(5*4+8)*2 的语法树并在各结点注明语义值VAL。