黑马程序员————C语言——基础语法4



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

一、流程控制
 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
 循环结构:在给定条件成立的情况下,反复执行某一段代码。


二、选择结构-if
   1. 简单使用
   if (表达式)  语句1;
   if(count>50)  开班;  上课;

   if(表达式)  语句1;  else 语句2;
   if(count>50)  开班;  else 不开班;

   if(表达式)  {  }
   if(count>50)  {开班; 布置课室;}  else {}
   { }的作用域

   if -else if-else
   if(a==0) else if (a>0)  else
   特点:只有一个括号会被执行

   复合条件
   上课时间的取值范围(9~12 ||  14 ~17)

    陷阱
    if(a!=0)  { a不是0;} else {a是0;}
    if (a); {  }
    if (a=0) 
    a == 0;
    if (10) int a = 9;

三、选择结构-switch
   1. 简单使用
    switch(表达式) { case 数值1: break; … default: break;}
    举例

int a = 10;
 switch (a) {
     case 0:
         printf("这是一个0");
         break;
     case 5:
         printf("这是一个5");
         break;
     case 10:
         printf("这是一个10");
         break;
     default:
         printf("什么也不是");
         break;
 }

       

    2. if和switch的对比
    很多情况可以互换
    if用得比较多,比较灵活,switch只能某个单值

    3. 实例

/*输入一个整数score代表分数,根据分数输出等级A-E 
 A:90~100
 B:80~89
 C:70~79
 D:60~69
 E:0~60
 */
 #include <stdio.h>
 void score_judge(int score)
 {//利用switch判断score的等级
       char c;
     switch(score/10)//score的除10,只判断十位的就可以判定级别
     {
         case 10:
         case 9: c='A';break;
         case 8: c='B';break;
         case 7: c='C';break;
         case 6: c='D';break;
         default: c='E';break;

     }
     printf("%c\n",c);
 }
 int main()
 {
     int score ;
     while(1)//多次输入数据
     {
         printf("输入成绩:\n");
         scanf("%d",&score);
         score_judge(score);
         }
     return 0;
 }

四、循环结构-while
   1. 简单使用
   连续printf(“俯卧撑”)20次;
   while(表达式) { }
   continue:输出5次休息一下

#include <stdio.h>
{
    int i = 20;
    while (i<=20)
    {   
        printf("俯卧撑\n");
    }
}

   break的使用:某次的时候停止循环
   2. 特点
       只有条件成立才会执行循环体

五、循环结构-do while
   特点:一定会执行一次循环体
    while和do while循环对比:

//while()是先判断条件,在执行循环体,此时i<0 不符合条件,因此不执行i++

       int i=0;
       while(i<0)

    {
              i++;
      }

//do while是先执行一遍循环体,再判断条件,此时i++;然后判断i<0退出循环

      int i=0;
    do{
          i++;
      } while(i<0);

六、循环结构for

    1.基本结构

for (语句1; 条件; 语句2)
 {
    循环体
 }
 
 语句1:初始化语句
 语句2:增量语句(执行完循环体后再执行的语句)
 
 1.for一开始就会执行一次语句1(整个for循环只会执行一次)
 2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立

     2.使用注意

      1>不要随便在for()后面写分号
    for (int i=0; i<5; i++);
    {
        printf("哈哈\n");
    }
    
       2>变量a的作用域不明确
           如果要在循环体中定义新的变量,必须用大括号{}包住
           for (int i=0; i<5; i++)

                 int a = 10;
    
       3>
            for (int i = 0; i<10; i++, a++)
         {
              // a只能用在循环体{}中
              int a = 10;
          }

    
       4>最简单的利用for循环实现死循环
                for(;;);

         3.循环嵌套

/*
 好友列表1
    好友1
    好友2
 好友列表2
    好友1
    好友2
 好友列表3
    好友1
    好友2
 */

#include <stdio.h>
int main()
{
    
    for (int i = 1; i<=4; i++)
    {
        //printf("好友列表%d\n", i + 1);
        printf("好友列表%d\n", i);
        
        /*
        printf("    好友1\n");
        printf("    好友2\n");
        printf("    好友3\n");
        printf("    好友4\n");
        printf("    好友5\n");*/
        
        for (int j = 1; j<=7; j++)
        {
            printf("    好友%d\n", j);
        }
    }
    
    return 0;
}

        4.break和continue

              break:
             (1).使用场合
               1> switch语句:退出整个switch语句
               2> 循环结构:退出整个循环语句
           * while
           * do while
           * for
             (2)注意点
                  只对最近的循环结构有效
            continue:
              1.使用场合
                 循环结构:结束当前这次的循环体,进入下一次循环体
                 * while
                 * do while
                 * for
              2.注意点
                  只对最近的循环结构有效


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值