有以下程序段: int n=0,p; do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3); 此处do-while循环的结束条件是

admin2010-01-10  34

问题 有以下程序段:    int n=0,p;    do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);    此处do-while循环的结束条件是

选项 A、p的值不等于12345并且n的值小于3
B、p的值等于12345并且n的值大于等于3
C、p的值不等于12345或者n的值小于3
D、p的值等于12345或者n的值大于等于3

答案8

解析 do-while循环结构中循环执行条件的判断,使用do-while语句必须注意以下几点:
   1)先执行语句,后判断表达式。所以,无论一开始表达式的值为“真”还是“假”,循环体中的语句至少执行一次,这一点与while不同。
   2)如果do-while语句循环体部分是由多个语句组成,则必须用花括号括起来,使其形成复合语句。
   3)C语言中的do-while语句是在表达式“真”时重复执行循环体。在本题中,循环执行判断条件为while后面括号里的表达式即p!=12345&&n<3(意思为P不等于12345且 n小于3)是否为“真”,由此可得循环结束的条件为:p大于12345或者P小于12345又或者n大于等于3。选项A的意思是:p的值不等于12345并且n小于3和while后面括号里的表达式等价是循环执行的条件而不是循环结束的条件;选项B的意思是:p的值等于 12345并且n的值大于3,不是循环结束的条件一个子集;选项C的意思是:p的值不等于 12345或者n的值小于3前一半是结束条件的子集,后一部分不是结束条件;选项D描述的意思是:p的值等于12345或者n的值大于等于3是结束条件的子集。
转载请注明原文地址:https://kaotiyun.com/show/GXWp777K
0

最新回复(0)