C语言分支结构

(一)if相关知识

           ①if:

if(表达式)   //理解成如果,如果为真,就会实现,否则不然。
{
    //满足条件执行
}   //尽量带上这个{},不带只管理一条语句

//No.1 基本if语句
    if ("很帅")            //非零表示成立
    {
        printf("你真帅!\n");
    }
    int a = 1;
    if (a = 0)   //赋值语句充当条件,最终是赋的值充当条件 if(0)
    {
        printf("赋值语句!\n");
    }
     
    //No.2 if处理多个条件使用逻辑运算符&& ||
    //判断一个数字是否能够被3和5整除
    int num = 45;
    if (num % 3 == 0 && num % 5 == 0) 
    {
        printf("满足条件的数字\n");
    }
    //判断一个数字是否能够被3但是不能被5整除
    //num % 3 == 0 && num % 5 != 0
    //判断一个数字能够被3或者被5整除
    //num % 3 == 0 || num % 5 == 0

//No.3 if语句嵌套:条件逐步筛选,可以通过逻辑运算符去描述

if(“高”)

{

  if(“富”)

  {

     if(“帅”)

                   {

 printf(“你是高富帅“);

                  }

          }

}
等价于 if(“高”&&“富”&&“帅”)

{
 printf(“你是高富帅“);

}

②if else

//复合语句
if(表达式)
{
    //条件成立执行这里  
    printf("1");
}
else           
{
    //条件不成立执行这里
    printf("1");

注意:---  else不能单独存在!!! else只和最近的if搭配   

if else 嵌套:

③if elseif ……else

//实质是条件细化
//条件的逐步筛选
if(表达式1)

{

       printf(“表达式1成立\n”);

}

else if(表达式2)

{

       printf(“表达式2成立\n”);

}

else if(表达式3)

{

       printf(“表达式3成立\n”);

}

.....
else

{

       printf(“上述表达式均不成立\n”);

}

//整个语句一条复合语句,只会做一次成功的比较,执行一个地方               

该语句的else if 可无限嵌套。

(二)switch语句

switch(表达式1)
{
    case 常量1:  //表达式1 和常量1比较
        语句1;
    case 常量2:
         语句2;
    case 常量3:
         语句3;
    default:
         其他情况执行的地方;    
}
//1.switch执行过程:从上至下执行;switch语句只做一次成功的比较,后面的语句不需要比较,都会一次执行
//2.case后面必须是常量,一般写的数字,或者字符,不能写字符串
//3.default的位置是随便放的,一般是放在最下面的
//4.switch语句不执行case和default以外的其他语句
//5.一般switch都是结合break语句(用来跳出switch语句)来使用的

//如果多个case  不同的值是相同的处理方案,则可以合并

break语句:是用来中断当前循环,通常在 switch 语句和 while、for、for...in、或 do...while 循环中使用 break 语句。 最一般的是在 switch 语句中使用 label 参数,但它可在任何语句中使用,无论是简单语句还是复合语句

(三)变量的作用域和生命周期

  Ⅰ  作用域: 使用范围,有效范围

  • 局部变量:被{}包含的变量一般是局部变量,不会默认初始化

  • 全局变量:没有被{}包含的变量一般是局部变量,默认初始化为0

  • 外部变量:extern  

 Ⅱ  生命周期: 变量产生到死亡的时间段  

        一般变量的生命周期跟作用域有关,作用域结束就死亡。 

  • 静态变量:以static存储类声明的变量。其生命周期:从程序运行到程序关闭(才死亡)

  • 自动变量(auto):

作用域重叠问题:

相同作用域的变量不能同名;访问就近原则、若想访问全局变量使用“::”;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

尘 关

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值