嵌入式day6

对比:
if       //条件判断
switch   //值的计算与匹配 

循环结构:
循环  --- 不断重复的 


1.goto语句 
2.while语句
3.do-while语句
4.for语句  

goto
格式:
   goto 语句的标号; //标签 
---------------------------------------- 
//构成循环的要素
初始条件 
使循环趋于结束的语句(操作) 
循环体 //重复被执行到的代码 
结束条件 

嵌入式day6_第1张图片


1. 实现1~100累加求和 

1+2+3+4+5+...+100 //数列求和  --循环的方式 


1+2 //sum 
sum+3 //sum
sum+4 

sum = sum + i;  //积累
++i;


初始条件:  
i = 1;
sum = 0; 

循环体:
sum = sum + i; //每一次和 加上新的数 实现累加效果 
使循环趋于结束的语句(操作) 
++i

结束条件:
i == 100

goto  //禁用 

goto //慎用 

不同方法的1~100求和:

嵌入式day6_第2张图片
  嵌入式day6_第3张图片
  嵌入式day6_第4张图片
实现阶乘的操作
n! 
//输入n 
1*2*3*4   
  

  
初始条件:
n  
i = 1;  
ret = 1;
循环体:
ret = ret * i;

使循环趋于结束的语句(操作) 
++i

结束条件:
i == n 

  
while 
格式:
while (表达式)
{
    语句;

含义:
 判断"表达式" //条件
 真
   执行"语句"
   "语句"执行完,继续判断"表达式"  
   直到,"表达式"为假,while结束,程序继续往下   
 假 
   "表达式"为假,while结束,程序继续往下 
 
// 
while (表达式)
{
    语句;

 
注意:
   while() //后面不要写 分号  

嵌入式day6_第5张图片
  
练习:
   累加求和  


练习1:
编写一个程序,
找出被2,3,5整除时余数均为1的最小的10个自然数。

n%2==1&&n%3==1&&n%5==1 

0 1 2 3 4 

//1.准备数据 
int n ;

//2.处理数据 

循环的条件 --- 找够10个自然数 
n%2==1&&n%3==1&&n%5==1  ? //判断是不是 --- ?

循环体 
   
  
    
2. 输出所有的水仙花数。---- 三位数

水仙花数是指一个 3 位数,
它的每个数位上的数字的 3次幂之和等于它本身。

例如:
1^3 + 5^3+ 3^3 = 153。

100~999 //n  

1^3 + 5^3+ 3^3 = 153。

n  //水仙花 

嵌入式day6_第6张图片
拆数 
求和 

//1.准备数据 
int n = 100; //循环的初始条件 

//2.处理数据 
n [100~999]
    拆数 
        个位 
        十位
        百位
    求和 
        个位 立方 + 十位 立方 +百位 立方 
    比较 
       n 
       相等 就打印 
       否则 就继续往下找 
    
do-while 

格式:
do
{
  循环体语句;
}while(表达式); //注意: 这块有分号 

含义:
 先,执行"循环体语句",
 之后,判断"表达式"
 真,继续 执行"循环体语句",
 假,while结束,程序继续往下

对比:
while
do-while() //结束条件 

for(i = 0; i < 100; ++i) //一定范围 


注意:
   1.表达式2 省略 表示 判断条件一直为真 
  
 for(;;) //死循环
 {
    
 } 
  
 while (-1)
 {
 
 }
 
 do
 {
 
 }while('a');
 
 break 语句 
 
 break;
 应用:
    switch 
    循环语句中(while ,do-while,for)
 表示: 
    跳出本层循环
 continue 语句;
 继续
 表示: 
    结束本次循环,继续下一次循环
    
    
    for (i = 0; i < 100; ++i)
    {
       sum = sum + i; 
    }
 

你可能感兴趣的:(学习,c语言,linux)