计算机科学与技术

单选题设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为()。A 12B 144C 156D 288

题目
单选题
设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为()。
A

12

B

144

C

156

D

288

参考答案和解析
正确答案: B
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。A.-3 B.9 C.-12 D.6


正确答案:C
a*a=9,a=a-9=-6,a=a+(-6)=-12

第2题:

若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是______。

A.-3

B.9

C.-12

D.6


正确答案:C
解析:C语言中对赋值运算的运算顺序是自右向左。本题中,计算a*a之后,a的值依然为3,表达式a*a的值为9;a-=9,a=3-9=-6;a+=-6,a=(-6)+(-6)=-12。

第3题:

设有语句“int a=12; a+=a*a;”,则执行结束后, a的值为( )。


正确答案:156

第4题:

设int a=12,则执行完语句a+=a-=a*a后,a的值是( )

A.552

B.264

C.144

D.-264


正确答案:D

第5题:

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&

设有C语言变量说明“static int a[][2]={{1,2),(3,4}};int *pa,(*pb)[2];”,则执行语句“pa=pb=&a[0][0];”后,(*(pa+1))的值为(31)。

A.2

B.3

C.&a[0][1]

D.&a[1][0]


正确答案:A
解析:对于语句“pa=pb=&a[0][0];”赋值后pb已经变为列指针,则pa也是列指针。在进行TC编译时,会出现“Warning:Suspiciouspointerconversioninfunctionmain”的提示信息,表明pb由行指针变为列指针。

第6题:

已知inta=6;则执行a+=2;语句后,a的值为8。()


正确答案:√

第7题:

若有定义int a=2;则执行完语句a+=a-=a*a;后,a的值是( )。

A.0

B.4

C.8

D.-4


正确答案:D

第8题:

已知int a=6; 则执行a+=a-=a*a;语句后,a的值为

A.36

B.0

C.-24

D.-60


正确答案:D

第9题:

设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是()。

A.12

B.144

C.156

D.288


正确答案:C

第10题:

设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是( )

A.3

B.0

C.9

D.-12


正确答案:D
由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值9,再计算a-=a*a,使a的值为-6,接着计算a+=a,使a的值为-12。所以解答是D。