问题 单项选择题

执行下列语句段后,输出字符“*”的个数是for(int i=50;i>1;--i)cout<<'*';

A.48

B.49

C.50

D.51

答案

参考答案:B

解析: 本题考查的知识点是:for循环语句。for语句的执行过程是:(1)计算第1个表达式(在本题中是“int i=50”)的值:(2)计算第2个表达式(在本题中是“i>1”)的值,如果此值不等于0(结果为真),则转向步骤(3);否则转向步骤(5);(3)执行一遍循环体(在本题中是“cout<<'*';”);(4)计算第3个表达式(在本题中是“--i”)的值,然后转向步骤(2);(5)结束for循环。由此可见,本题循环中i从50开始逐次递减,直到i=1时退出,而此时没有机会执行到循环体,因此执行了49遍循环体。而循环体中的语句是输出1个字符“*”,所以最终输出了49个字符“*”,故本题应该选择B。

论述题
单项选择题