假设变量s、a、b、c均已定义为整型变量

假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段“s=a; for(b=1;b<=c; b++) s += 1; ”功能等价的赋值语句是_________。为什么是 s=a+c;

您好,很高心回答您的问题:
解答:
1,首先,看程序段:s += 1,这句的意思是s = s + 1,而由s = a可知,s 的初值为a,所以s = a + 1;
2,看循环语句:从b= 1,开始循环,知道b = c 的时候结束,而每次循环的具体操作是s 自加1,也就是c有多大,s 就要加(c-b+1,因为c本身也加上的)1,如本题:将其展开为:s = a + (1 + 1 + 1) = a + c;即得到s = a + c;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-06-16
程序最开始让s等于a,然后通过一个for循环对s进行累加,每次+1,
再看这个循环,b从1开始加到c,也就是说c的值多大,这个循环就会被执行多少次,
所以s的+1操作也会执行这么多次,最终结果就是给s原来值的基础上增加了c;
因此等价语句就是s=a+c;
第2个回答  推荐于2018-03-07
s=a;将a的值给了s。
for(b=1;b<=c; b++)
s += 1;
是循环执行c次s=s+1的操作,等于s=s+c*1,也就是s=s+c。
又因为先执行了s=a,所以s=a+c。本回答被网友采纳
第3个回答  2017-06-13

假设程序变换一下形式,结果应当是一样的:

s=0; for ( b=1;b<=c;b++ ) s+=1; 
s+=a;

则,前面的循环让b增加了c个1,即s+=c;

整个程序就等效s=a+c;了

另一个角度来解读程序:s的初始值是a,然后通过循环让s在其基础上增加了c个1,即增加了c

第4个回答  2017-06-13
s初始为a
for循环 b从1到c 循环c次,也就是s自加c次。 等效于s+=c
于是 这个就是
s=a
s+=c;
等效于s=a+c;
相似回答