5分支和循环1

1

;空语句

2

   

1)if

   if(非0真)则执行,多分支只能被执行一个

   ①单分支

 

②双分支

#include<stdio.h>
int main() {
    int age=17;
    if(age <18)//不要分号
    printf("未成年禁止玩游戏\n");
    else if(age>= 18 && age< 28)      X if (18<= age < 25)//18<=17为假(0)<25为真(错误写法)
    printf("青年\n");
    return 0;
}

③多分支

#include<stdio.h>
int main() {
    int age=35;
    if (age < 18)
        printf("未成年\n");
    else if (age >= 18&&age < 28)//不要分号
        printf("青年\n");
    else if (age >= 28 && age < 50)
        printf("壮年\n");
    else if (age >= 50&&age < 90)
        printf("老年\n");
    else
        printf("老不死的\n");(可省略)

    return 0;
}

 另一种if else(里嵌套if-else)//if else{if else}

int main() {
    int age=35;
    if (age < 18)
        printf("未成年\n");
    else 
    {

    if (age >= 18 && age < 28)//不要分号
    printf("青年\n");
    else if (age >= 28 && age < 50)
    printf("壮年\n");
    else if (age >= 50 && age < 90)
    printf("老年\n");
    else
    printf("老不死的\n");
    };
    return 0;

3.1

 3.2 if /else控制多条语句用{ }

    int age=35;
    if (age < 18)
    { 一对{}叫做代码块
        printf("未成年\n");//
        printf("不能谈恋爱\n");//多条语句
    }
    else 
    {
    if (age >= 18 && age < 28)//不要分号
    printf("青年\n");
    else if (age >= 28 && age < 50)
    printf("壮年\n");
    };

   3.3 悬空else

将代码复制到VS编译器中

 if else就近原则,打印结果无,走到if(a==1),跳出循环

等价于                                                                打破就近原则加上大括号,打印结果haha

                           

 3.4  代码各种形式

              

                ①×  不建议                    ② √                              ③ ×                       ④√(左长右变)                  

if条件成立返回X,否则返回Y

(尽量避免着这种写法) 

③ 

      ③写成if(5=num);报错 演变成 ④

3 switch

          

   

 case决定入口,break决定出口。switch适合多分支,switch后面只能是整型,定义int day=0;case 可接表达式,结果是整型即可(eg:case 1+0:),case后面必须是常量。

如果case 2及其后面的case语句都没有break,就跳不出循环,一直往下执行。如图

 

   break最后也要写!

           

当输入情况没有对应的case时,就走default,default可有可无。如果需要,应该是处理非法的状态,如图这样写也可。

 

case和default没有一定的顺序

 

 

 例题:

 结果  5 3

4 while循环

eg:

int main() {
    while(1)//1为真,死循环
    printf("周五\n");
    return 0;
}//循环打印周五

while语法结构

while((条件)表达式)

循环语句;

两条以上语句while后面带{}

表达式为真则执行语句,执行语句。执行完后在判断表达式,为真继续执行,在判断表达式为真继续执行....,直到条件为假跳出循环。

 expr(表达式),expr的结果为非0真,stmt(语句)被执行。

在判断表达式结果还为非0真,在执行语句,结果为真,以此类推。

有一次表达式为0假了,跳出循环。

eg:用while屏幕打出1-10;

先写出基本的部分,看哪里循环int main() {
    int i = 1;
    while (i <= 10) 
    { 

      //只将循环的部分用{}
        printf("%d\n", i);
         i++;

    //打印1234567890
    }
        return 0;
}

while 里面包含if  break:

    if(非0真)则执行,假则跳出语句。

int i = 1;
    while (i <= 10)
    {
        if (i == 5)     if假不执行后面语句,if真执行后面语句(break)跳出整个循环
            break;
        printf("%d\n", i);
         i++;
    }

                           

                     i=5时死循环,跳到while                                             

  continue后面循环便不在执行。直接跳到循环的判断部分

     int ch=getchar(); getchar叫从键盘上输入

      putchar(ch);叫输出

       printf(%c\n,ch);//两个输出对比

 

记得将ch=getchar()括起来,while()后面不要加;

ctrl+z获取到 EOF(文件结束标志)程序结束

EOF右击转到定义

    

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值