C语言循环控制题请教 请详细说明分析过程

来源:百度知道 编辑:UC知道 时间:2024/07/07 06:50:10
下面程序的功能是计算 1至10之间的奇数之和及偶数之和。请选择填空
#include <stdio.h>
main()
{int a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{ a+=i;
(①) ;
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",②),
}

①A)b=i-- B) b=i+1 C)b=i++ D)b=i-1(B和C选项在这里不是一个意思吗?)
②A)c-10 B)c C)c-11 D)c-b

第一题 B
第二题 D
首先解释你的疑问 b和c是不一样的,如果是b=i+1的话那么i的值是没变的,如果是b=i++的话那么i的值就变了,经过第一次循环后i的值就变成了3,下次在循环的时候a+=i就成了 2+3=5了 显然错误!
至于第二嘛 最后一次循环i的值是10 而b=i+1=11>10
所以要减掉11
希望你明白!

1,B B和C肯定不是一个意思的,B的是 b=i+1,而C是b=i,后i=i+1
2,D