C语言学习------程序设计之流程控制

 

任何一个程序都是可以由三种结构的组合:

1、顺序结构        2、分支结构    3、循环结构

选择(分支)及结构:                      //从众多的分支中选择一个

选择的条件构造:1-关系运算 2-逻辑运算

1、关系运算:

运算符: ==,< , >, <= , >= ,!=

运算:

eg:    int a;

            int b;

         a > b;           

这个关系式的结果反应的是关系运算的成立与否,即因为计算机只能存入0 和 1 两个数字,所以

按照规定C语言中用int类型来记录关系运算的结果:

关系成立-----------结果为1

关系不成立 ------------结果为0     //这里的都是逻辑值 也可以理解为 0的时候关系不成立 ,!0的情况关系都是成立的

2、逻辑运算:

与  &&
     运算规则:
     一假则假
运算特性:截断特性(短路特性)  运算顺序 始终先算左边的第一个式子 并且若第一个是假则后面的式子不继续进行运算
     
或  ||
     运算规则:
     一真则真
     也有截断特性(短路特性)
非  !
     运算规则:
     真假相对

注意:                            && 的优先级高于 || 的优先级

C语言中实现选择的语句:
1、if
2、switch

1、if 

语法:

if(表达式)

{

           语句1;

}

语义:如果表达式判断为真则执行if中的语句,如果表达式判断为假,则继续运行程序下面的代码。

if(表达式)

{

           语句1;

}else

{

          语句2;

}

语义:
如果表达式判断为真,则执行语句1 ,否则执行语句2。(语句1  或者是 语句2 执行完之后 表示if 语句的结束 ,程序继续往下进行。)

if -else -if   //多分支语句
语法:
if(表达式1)
{
         语句1;
}else if(表达式2)
{
         语句2;
}else if(表达式3)
{
         语句3;    
}.....

语义:
如果表达式1 判断为真,则执行语句1。
否则,继续判断表达式2,如果表达式2为真,则执行语句2。
否则,继续判断表达式3,如果表达式3为真,则执行语句3。.............

注意:
1、if  后面不能加分号 ;

2、if- else 的配对关系                  //else 总是和离他最近的前面的尚未使用的if配对
允许单独的 if 语句出现,不允许单独的else出现
3、每一个else必然对应一个if

条件运算符:
?  :  // 三目运算符号  ------> 运算符

格式:
表达式1?表达式2:表达式3

运算过程:                                                         //实际上是if-else语句的简写
表达式1?   表达式1是真还是假
若是判断为真    执行表达式2
若是判断为假    执行表达式3

2、switch

语法:
 switch(表达式)
 {
      case 常量表达式1;
 语句1;
      case 常量表达式2;
 语句2;
      case 常量表达式n;
 语句n;
     default :                                         //缺省 (默认)
 语句n + 1;
 }

语义:求解 表达式,根据表达式的结果,去匹配case后面的常量表达式的结果,
 匹配(值相当)成功之后,
 则执行对应的case 下面的语句。
 直到遇到了 break 或者是 switch 语句的 } (右花括号)
 
 (switch 只匹配一次 若是第一次匹配成功了 没有遇到break 也没有遇到 } ,那么switch 不会结束 ,下面的语句都会进行输出。)

注意:
1、 switch 表达式 与 case 只会匹配一次
2 、switch 中的表达式必须是一个整型的表达式 或者是与整型兼容的类型的表达式
3 、case 后面 必须是一个常量表达式
4 、case xxx:
                    default     // 标签
                                       标签 用来 程序中某些代码 做个标记
5 、default 位置 是灵活的 但在每个语句的后面最好偶读加上break。
 
 
 switch 可以多种情况匹配同一种操作
  eg: switch 
       {
        case 1:
        case 2;
        case 5:
           printf(“xxx\n”):
       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值