A-A+

设变量已正确定义 以下不能统计出一行中输入字符个数(不包含回车符)的程序段是______。A

2022-08-06 00:28:26 问答库 阅读 173 次

问题详情

设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是______。
A.n=0;while((ch=getchar())!="n")n++;
B.n=0;while(getchar()!="n")n++;
C.for(n=0;getchar()!="n";n++);
D.n=0;for(ch=getchar();ch!="n";n++);

参考答案

正确答案:D
解析:本题主要考查了while和for循环语句的执行过程。for循环的一般形式如下:
for(表达式1;表达式2;表达式3)循环体
for循环的执行过程如下:
①计算表达式1;
②计算表达式2。若其值为非o,转步骤3;若其值为0,转步骤5;
③执行—次for循环体:
④计算表达式3,转向步骤2:
⑤结束循环。
在选项D中,由于for循环语句末尾直接是分号,没有循环体,因此可以将其看做—条空循环语句,循环体部分可以忽略。程序首先在for循环语句外为变量n赋初值0,在for循环中,先执行表达式“cb=getchar();”,getchar函数用于输入字符,因此程序首先将输入的字符赋值绐变量ch,然后执行表达式“ch!='\n';”,判断输入的字符是否为回车,如果此时输入的字符是回车,结束循环,所以D选项错误。

考点:变量,字符