C. 28 D. 21
【答案】A
【考点解析】在本题中,首先定义了整型变量i、s,它们的值都是0,再执行do while语句,在循环体中,运行选择结构if语句,如果i是奇数时,i++,并且回到循环体的开始重新执行;否则i++和s=s+i;而运行循环的条件是i<7,即循环次数为8。所以整个运行过程就是小于7的奇数相加,即:1+3+5+7=16。
【例7】(2003年9月)有以下程序
main()
{
int k=4,n=0;
for(;n
{
n++;
if(n%3!=0)continue;
k--;
}
printf(“%d,%d\n”,k,n);
}
程序运行后的输出结果是( )。
A. 1,1 B. 2,2
C. 3,3 D. 4,4
【答案】C
【考点解析】在本题中,首先定义了整型变量k、n,它们的值分别是4、0;在for循环语句中,有条件n
【例8】(2003年9月)要求以下程序的功能是计算:s=1+ + +...+
main()
{
int n;float s;
s=1.0;
for(n=10;n>1;n--)
s=s+1/n;
printf("%6.4f\n",s);
}
程序运行后输出结果错误,导致错误结果的程序行是( )。
A. s=1.0; B. for(n=10;n>1;n--)
C. s=s+1/n; D. printf(“%6.4f\n”,s);
【答案】B
【考点解析】根据题目意思是把1/n(1=0;n--)即可。
【例12】(2004年4月)有以下程序
main()
{
int i,n=0;
for(i=2;i<5;i++)
{
do
{
if(i%3) continue;
n++;
}
while(!i);
n++;
}
printf("n=%d\n",n);
}
程序执行后的输出结果是( )。
A. n=5 B. n=2
C. n=3 D. n=4
【答案】D
【考点解析】在本题中,首先定义了整型变量i、n,其中n的值为0;接着是循环结构for,在这里循环体的内容比较复杂,因为是循环结构的嵌套,在第一个循环体里又加上循环结构do while;但是在本题中,i的值始终是大于0,因此do while循环体只执行了一次n++,而循环语句for执行的次数为3,每一次for循环体的执行都是n++,则最后的结果是n=4。
【例14】(2004年9月)有以下程序
main()
{
int i=0,s=0;
for(;;)
{