C语言 05

流程控制

1.什么是流程控制? 即程序代码的执行顺序 

2.流程控制的分类 :顺序执行 自上而下 逐句执行  选择执行 根据条件选择执行代码  循环执行 某些代码执行多次 

3.关系运算符 : > >= < <= == != 

BOOL 类型 一种结果只有0 和1 的数据类型 非真即假 非零为真 只要不是0 结果就为真.

== 用于判断两个数据是否相等 相等返回值为1 不等返回值为0  != 与==刚好相反 表达式的值为一个BOOL类型

&& ||  ! 

逻辑与 当表达式两边的值都为真的时候值才为真 否则为假 即 一假必假 具有短路现象 即 左边为假的情况下右边不执行就判断为假.

逻辑或 但表达式两边只要有一为真 值就为真 即 一真即真 具有短路现象 即左边为真的情况下 右边就不执行 就判断为真.

例如 : int a = 10,b  = 20,c =  30;

bool d = a > b && b++;  结果:b = 20 d= 0.

逻辑非 非0为1 非1为0 真假相对  成对出现时互相抵消不起作用 .

4. if语句的分支结构 三种形式:

1).If(条件表达式){
语句1;
}
若条件表达式是真 则执行语句1 否则不执行
2).if(表达式){
语句1
}else{
语句2
}
//当条件表达式成立 执行语句1 否则 执行语句2
3).if (表达式1){
语句1
}else if(表达式2){
语句2
}else{
语句
}
最常用的为第二种形式 if后的条件表达式为真 执行语句1 否则执行语句2 当然 形式三实际上为形式2 的嵌套调用形式.

5. 条件运算符 : 表达式1 ? 表达式2   :  表达式3  若表达式1成立 将表达式2的值作为整个表达式的值 否则将第三个表达式作为整个表达式的值. 相当于if   else 表达式.

例题: 求两个数的最大值 

int  a = 0,b = 0,max = 0;

printf("请输入两个数");

scanf("%d  %d",&a,&b);

if(a >= b ){

max = a;

} else{

max = b;

}

// max = (a > b) ? a : b;同if else语句一样作用 

printf("%d",max);

6. 枚举构造类型 是一种构造类型,是一组整型常量,罗列了所有的可能性

定义枚举类型使用关键字 enum + 枚举类型的名字 {

枚举值1,枚举值2,枚举值3,...

} ; 不可少; 

enum + 名字 为枚举数据类型的名字 

例子: 

enum season {

spring,

summer,

autumn,

winter

//放入所有可能性的值,一一罗列.

};

6.switch 语句

// 根据括号内的表达式的值 与switch中对应的case 后的 常量进行匹配,一旦发现相同 就执行case 后的分支语句,如果没有匹配项 就执行default分支语句.
// default 语句的执行顺序与存放位置没有关系 只要未匹配到对应的分支就会执行default语句.
//break 语句 结束当前分支跳出switch 执行switch之外的语句 每一个case 分支中都会有一个break  如果要在case 分支中定义变量 必须把case分支加{}
switch(变量名)//负责跳转 然后顺序执行与所在的位置无关{
case 常量或字符(常量表达式):
语句;
break;
case 常量或字符:
语句;
break;
case 常量或字符:
语句;
break;
default://与位置无关
语句
break;
}//切记 代码不可写在break后面





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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值