单选题
有以下程序段
int n, t=1,s=0;
scanf ( "%d" , &n);
do s=s+t; t=t-2; while (t ! =n);
为使此程序段不陷入死循环,从键盘输入的数据应该是
【正确答案】
D
【答案解析】[解析] 本题考查的是do… while循环结构.do…while循环与while循环的区别就是,前者是先执行循环体,后判断循环变量,故至少会执行一遍循环体;后者先判断再执行,可能循环体一次也不会执行。本题首先让t=1,然后在循环体中每次自减2,所以判断循环条件的时候,t会等于-1、-3、-5……,故只有n等于任意的负奇数才有可能终止循环.选项D正确。