练练循环结构: 1到100之和 <1> for 语句 #include <stdio.h>int main(){ int i, sum; sum = 0; for (i = 1; i < 101; i++) sum += i; printf("sum=%d\n", sum); return 0; } <2> goto 语句 #include <stdio.h>int main(){ int i = 1, sum = 0; table: sum += i; /*有点像汇编^_^ */ i++; if(i < 101) goto table; printf("sum=%d\n", sum); return 0;} ★ goto 语句使程序的转移控制变得非常灵活,但是也造成了导致破坏程序良好结构的可能性,使用时要谨慎。另外,goto语句的使用机会已大大减少,只是需要从多层循环的内层循环跳到外层循环外时才用到goto语句。但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能大大提高效率)才使用。 <3> while 语句 #include <stdio.h>int main(){ int i, sum; i = 1; sum = 0; while (i < 101) { sum += i; i++; } printf("sum=%d\n", sum); return 0; } <4> do-while 语句 #include <stdio.h>int main(){ int i, sum; i = 1; sum = 0; do { sum += i; i++; } while(i <101); /*注意此处的分号不可省,while和do-while区别之一*/ printf("sum=%d\n", sum); return 0; } ★ 在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。如上<3>和<4>的循环体是相同的,得到结果也相同。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。while是"当型"结构,只有条件成立才执行循环体,而do-while是"直到"型结构,先执行一次循环体后再做判断。 另外while结构用{}引起的块不用分号结束,而do-while结构后必须有分号做为语句的结束标志。

评论