黑马程序员——循环语句while和for的用法

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


第一讲 while语句用法


循环结构概述:

循环结构是程序中一种很重要的结构,其特点是,在给定条件成立时, 反复执行某程序段,知道条件不成立为止,给定的条件为循环条件,反复执行的程序称为循环体。

循环结构简单来说就是:一次又一次的执行相同的代码块。

如图所示:



构成循环条件的几个条件:

1)循环控制条件

       循环退出的主要依据,来控制循环到底什么时候退出

2)循环体

       循环的过程中重复执行代码段

3)能够让循环结束的语句(递增、递减、真假等)

      能够让循环为假的依据,否则退出循环

 while语句的格式

while(表达式){

        语句块;

}

例:

//说999次我爱你
int main(){
 
     int num = 0;
     while(num<1000){                //控制循环的条件,当num=1000时,退出循环

            printf("我爱你");          
            num++;                   //使num进行自增
  }
       return 0; 
}

//用while语句实现从1加到100的运算
int main(){

     int sum = 0;
     int i = 1;
     while(i<=100){                //控制循环的条件,当i=101时,退出循环

          sum=sum+i;               //实现加法运算
           i++;                    //使i进行自增
  }
       printf("sum=%d",sum);
      return 0;
}


int main(){

      int count;                  //定义接受字符数量
      char ch;
      scanf("%c",&ch);           //接受输入的字符
      while(ch!='\n'){

          count++;
          scanf("%c",&ch);      //scanf的原理,如果缓冲区不为空,不会让用户继续输入字内容,而是直接在缓冲区获取
   }
       printf("%d",count);
      return 0;
}


while语句使用注意事项:

1)死循环:任何数值都有真假性,0为假非0为真

while(-1){

    printf("死循环");

}

2)当一个变量与一个常量进行==或!=的时候,通常把变量写在前面

int num =3;

while(3==num){

     printf("xxxxxxx");

}

3)while后如果只有一条语句可以省略大括号

i 空语句也是一条语句

ii while小括号后面不可以直接写分号

4)作用域:内部代码块中定义的变量不可以在外边代码块中访问


第二讲   for循环语句用法

for循环概述:

C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,他完全可以替代while语句。

一般形式:

for表达式1;表达式2;表达式3){

          语句块;

}

for循环执行过程:

1)先求解表达式1;

2)求表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第3步,若值为假,则跳出循环

3)求表达式3

4)转回第2步骤继续执行

5)循环结束,执行for语句下面的一个语句


for循环的嵌套:

//打印图形,每边为5个*号              
int main(){            
     
    for(int j=0;j<5;j++){             //控制打印行数      
          for(int i=0;i<5;i++){       //控制每行打印的个数
              printf("*\t");          //运用嵌套实现双循环的功能
      }
          printf("\n");               //每行打印完进行换行
   }
}
其中有个打印99乘法表的例子非常经典

int main(){

      for(int i=1;i<=9;i++){                   //用i和j代表因子,外层循环控制层数
           for(int j=1;j<i+1;j++){             //里层循环控制列数
                 printf("%d*%=%d",i,j,i*j);    //再逐一打印出来
            }
      }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值