赞
踩
#接嵌入式初学-C语言-九#
语法:
- do
- {
- 循环体;
- } while(循环条件);
说明:
1. 循环条件的返回值必须是布尔类型,在C语言中,布尔类型为真使用 非0 来表示,布尔类型为假使 用 0 表示。
2. {} 包起来的内容整体称之为为 循环体 。
3. 我们要在 循环体 中控制 循环条件 的变化,否则会产生死循环。
执行过程:
特点:
先执行,后判断,循环体语句至少执行一次。
案例:
- /*
- 需求:do..while案例:求1~100之间奇数的累加和
- */
-
- #include <stdio.h>
-
- int main()
- {
- // 创建一个变量,用来存储累加和
- int sum = 0;
- // 创建循环变量,默认值1
- int i = 1;
- do
- {
- // 判断i是否是奇数
- if(i % 2 != 0)
- {
- sum += i;
- }
- i++;// 改变循环变量的值
- }while(i <= 100);
- printf("1~100之间奇数的累加和是:%d\n",sum);
- return 0;
- }
3种循环(while、do……while、for)可以互相嵌套。在前一个循环结构的内部又存在一个完整的循环 结构,如:
案例:
- /**
- * 需求:嵌套for循环案例-求100~200之间的所有素数
- */
-
- #include <stdio.h>
-
- int main()
- {
- int num = 100;// 存放100~200之间的自然数
- int i = 2;// 循环变量,默认从2开始,因为自然数除以1没有意义 102,100~102, 102%100,102%101
- int isPrime = 1;// 用来记录1~自身之间能整除的次数 6, 2~5, 6%2,6%3,6%4,6%5
-
- // 第1层for循环:生成100~200之间的自然数
- for(;num <= 200; num++)
- {
- // 默认是素数
- isPrime = 1;
- // 第2层循环,生成 2~自身-1的自然数,用于和自身校验,是否能够整除,如果有1个能被整除,就说明不
- 是素数
- for(i = 2; i < num -1; i++)
- {
- if(num % i == 0)
- {
- isPrime = 0;// 不是素数
- }
- }
- if(isPrime) // 条件判断:isPrime == 1 缩写 isPrime
- {
- printf("%d ",num);
- }
- }
- printf("\n");
-
- return 0;
- }
求累和:举例 1+2+3+4+..+100的和
求累乘:举例 1*2*3*4*..*100的积
求均值:举例: (1+2+3+4+..+100) / 100的值
求极值:举例: 12,34,55,2,66中的最大值或者最小值
元素遍历:常用于数组元素的遍历,比如:从 [1,2,3,4,5] 获取每一个元素。
1. 累加和
定义一个变量(sum),并赋初值为0;
用该变量累加(+=)每一个数据项(i)
当访问完每一个数据项,此时该变量的取值就是累加和的结果。
2. 累乘
定义一个变量,并赋初值为1;
用该变量累乘(*=)每一个数据项;
当访问完每一个数据项,此时该变量的取值就是累乘的结果。
3. 极值【知识点:数组】
定义一个变量,并赋初值为第一个数据项
从第二个数据项开始,一次性与该变量进行比较,如果大于/小于该变量,则将当前数据项的数 据赋值给该变量。
当访问完每一个数据项,此时该变量的取值就是求极值的结果。
什么是素数
素数也被称作质数,只能被1和自身整除的数就叫做素数。
例题:
1. 计算n以内所有正奇数的和 ? n值通过键盘输入
- 1 /*
- 2 需求:计算n以内所有正奇数的和 ? n值通过键盘输入
- 3 */
- 4 #include <stdio.h>
- 5
- 6 int main()
- 7 {
- 8 int sum = 0;
- 9 int a = 0;
- 10
- 11 printf("请输入一个正值:");
- 12 scanf("%d",&sum);
- 13
- 14 for(int i = 1;i <= sum;i++)
- 15 {
- 16 if(i % 2 != 0)
- 17 {
- 18 a += i;
- 19 }
- 20 }
- 21
- 22 printf("正奇数和为:%d\n",a);
- 23
- 24 return 0;
- 25 }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。