今天更新一个C语言的循环,简单点就是就是我们平时在使用电脑时不停的刷新网页,生活中每天都要吃饭等等就是循环,而编程中也有不断循环的过程,或者遇到符合的条件结束循环

  下面进入今天的主题:

  需求:用计算机计算从1加到10的和

  一种笨方法:

    解题思路:

    1、定义2个变量:计数器,总和,并初始化为0

    2、计数器加1(1)

    3、总和=总和+计数器

    4、计数器加1(2)

    5、总和=总和+计数器

    6、……   

    7、计数器加1(10)

    8、总和=总和+计数器

    9、输出总和55 

  程序1

    计算1+2+3+…+9+10

// 5_1_计算1+2+3+....10的和,输出在屏幕上
#include <stdio.h>
main()
{
int i, j; //i 是累加器, j是计数器
i = ;
j = ;
i = i + j; // i = 0 + 1
j++;
i = i + j; // i = 1 + 2
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
i = i + j;
j++;
printf("%d\n", i);
system("pause");
}

  ※累加器一般初始化为0,请同学们想想累乘器可否初始化为0? NO 初始值应该为 1 零乘以任何数都得零!

  goto语句

  格式:

    goto 标号;

      标号格式:

      标识符:语句;

  规律:goto语句通常配合if语句使用,否则容易构成死循环

  程序2

    计算1+2+3+…+9+10的goto解法

//5_2_计算1+2+3+....+9+10的goto解法,结果输出在屏幕上面
#include <stdio.h>
#include <stdlib.h>
main()
{
int i, j; //i 是累加器,j 是计数器
i = ;
j = ; mark: // goto 语句用的标记
i = i + j;
j++; //如果没有这一行程序就会进入死循环
if (j <= ) goto mark;
printf("%d\n", i);
system("pause"); }

  下面是goto流程图:

  while语句

格式:

  while(条件表达式)

  {

    若干语句

    …

  }

  程序3

    计算1+2+3+…+99+10的while解法

// 5_3_计算1+2+3+.....+10的while解法
#include <stdio.h>
main()
{
int i, j; // i 是累加器 j 是计数器
i = ;
j = ; while (j <= )
{
i = i + j;
j++;
}
printf("%d\n", i);
system("pause");
}

   上面的代码中:

      printf放在循环体内和外的差别

      在循环里面的执行结果是把每一步都会打印出 i 的结果。打印10次

      

      在循环外面的执行结果是直接打印出 i 最后的结果。打印1次

      

  do while语句

格式:

  do

  {

    若干语句

    …

   } while(条件表达式);

  程序4

    打印出0到2018年之间所有的闰年

//5_4_打印出0到2018年所有的闰年
#include <stdio.h>
main()
{
int year = ;
do
{
// 4年一闰,100年不闰,400年又闰
if (year % == && year % != || year % == )
printf("%d\t", year);
year++;
} while (year<=); system("pause");
}

  ※所有的循环语句都是条件满足才执行循环体

  ※do while语句至少会执行一次循环体,while则有可能一次都不执行。

  作业

  1、写出计算1+2+3+…+99+100的do while解法。

//5_5_计算1+2+3+....10的 do while解法
#include <stdio.h>
main()
{
int i, j; //i 是累加器 j是计数器
i = ;
j = ;
do
{
i = i + j;
j++;
} while (j <= ); printf("%d\n", i);
system("pause");
}

  

  2、求10!   (求10的阶乘)

//5_6_计算10的阶乘
#include <stdio.h>
main()
{
int a = , s = ;
do
{
s = s*a;
a++;
} while (a<=);
printf("%d\n", s); //结果是:3628800
system("pause");
}

 

最后分享一首古诗给大家!

  《冬夜读书示子聿》

      陆游

   古人学问无遗力

   少壮工夫老始成

   纸上得来终觉浅

   绝知此事要躬行

最新文章

  1. 【笔记】Android项目添加项目引用方法
  2. CF 375B Maximum Submatrix 2[预处理 计数排序]
  3. Server Develop (五) Linux并发模型
  4. 第3章 rpm命令管理
  5. 用ASP实现简单的繁简转换
  6. HDU-4607 Park Visit bfs | DP | dfs
  7. 犯这个错误的肯定不止我一个 关于File
  8. 浅谈JavaScript中的柯里化函数
  9. 简洁vim配置方案Janus(1)
  10. Docker容器中开始.NETCore之路
  11. SwipeListView 详解 实现微信,QQ等滑动删除效果
  12. python中可变与不可变类型变量中一些较难理解的地方
  13. xpath 在firefox,chrome中正常,在requests中不正常的解决。
  14. 编写SHELL脚本--判断用户的参数
  15. Angular 2.0--1
  16. 深入理解 Neutron -- OpenStack 网络实现(4):网络名字空间
  17. MAC下安装MAMP后,mysql server无法启动
  18. 特征向量、特征值以及降维方法(PCA、SVD、LDA)
  19. 【转载】oracle更新语法
  20. java基础小测试

热门文章

  1. k8s控制器资源(五)
  2. Redis的两种数据持久化方式比较
  3. Nginx Rewrite相关功能-ngx_http_rewrite_module模块指令
  4. 201671010450-姚玉婷-实验十四 团队项目评审&amp;课程学习总结
  5. ubuntu1604系统初始化
  6. 学习:CC断点
  7. 简述 asynio模块的作用和应用场景。
  8. Margin和padding失效
  9. quick如何打开工程或者示例
  10. 语法上的小trick