C语言自学之三种循环比较

使用循环计算1-2+3-4+5-6+…-100的值?
    在编辑器中给出了三种循环体结构的部分代码,请选择合适的循环结构补全代码实现此功能。
    运行结果为: sum=-50

 1 #include <stdio.h>
2
3 int main()
4 {
5 /*
6 小伙伴们:
7 选择你们认为最合理的循环结构完成功能吧
8 */
9 int sum = 0; //定义计算结果变量sum
10 int i = 1; //定义循环数字变量i
11 int flag = 1; //定义符号状态变量flag
12
13 //使用while循环
14 while(i<=100)
15 {
16 i++;
17 sum+= i*flag;//sum=sum+i*flag;
18 flag *= -1;
19 }
20
21 i = 1; //重新初始化变量i
22
23 //do-while循环
24 do{
25 i++;
26 sum+= i*flag;
27 flag *= -1;
28 }while(i<=100);
29
30 i = 1; //重新初始化变量i
31
32 //使用for循环
33 for(i=1;i<=100;i++)
34 {
35 sum+= i*flag;
36 flag *= -1;
37 }
38 printf("sum=%d\n",sum);
39
40 return 0;
41 }

while、do-while和for三种循环在具体的使用场合上是有区别的,如下:

1、在知道循环次数的情况下更适合使用for循环;
    2、在不知道循环次数的情况下适合使用while或者do-while循环,
    如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。
    但是从本质上讲,while,do-while和for循环之间是可以相互转换的

最新文章

  1. Linq表达式和Lambda表达式用法对比
  2. AlloyTouch插件
  3. JavaScript知识 一、JS的数据类型
  4. 学习中的错误——ubuntu 14.04 LTS 启动eclipse报错
  5. 烂泥:使KVM显示VM的IP地址及主机名
  6. AAL template: ROI to brain lobe
  7. NoSQL之【MongoDB】学习(三):配置文件说明
  8. MVC(一)
  9. Regarding learning
  10. sp_rename
  11. 转: 如何实现jQuery的Ajax文件上传
  12. 1.cocos2dx它Menu(CCMenuItemFont,CCMenuItemImage,CCMenuItemLabel,CCMenuItemSprite,CCMenuItemToggle)
  13. hdu1021
  14. AKKA学习笔记
  15. BZOJ3796 Mushroom追妹纸 字符串 SA KMP
  16. python import 包的路径以及相对路径加载的问题
  17. SQL Server 增、删、改、小部分查
  18. zyb的面试(广工14届比赛)
  19. Class file collision
  20. 汇编 MOV -2

热门文章

  1. MySQL数据库和Oracle数据库的区别
  2. 2.26NK周赛
  3. 存储器、I/O组织、微处理器
  4. Java随谈(六)## 我们真的理解 Java 里的整型吗?
  5. 即时通讯IM,是时代进步的逆流?看看JNPF怎么说
  6. 6000字Locust入门详解
  7. 20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版
  8. 记一次grpc server内存/吞吐量优化
  9. SAP Using Text Modules in Adobe Forms
  10. JavaScript中async和await的使用以及队列问题