C语言入门经典读书笔记 ----第三章 条件判断

判断过程

1.算术比较

这些运算都会得到int类型的值,如果比较结果为真,每个操作的结果都是1,如果比较结果为假,每个操作的结果都是0.

2.基本的if语句
int my_weight = 170;
int your_weight = 200;
if(your_weight > my_weight)
    printf("你比我重");
if(my_weight > your_weight)
    printf("我比你重");
复制代码

这里有两个if语句,比较表达式位于if后面的括号中,如果比较的结果为true,就执行if后面的语句,如果表达式是false,就跳过if后面的语句。

3.扩展if语句 : if-else
if(expression)  
    statement1;
else
    statement2;
Next_statement;
复制代码
  • 如果expression的值是true,就执行statement1,然后继续执行Next_statement;
  • 如果expression的值是false,就执行statement2,然后继续执行然后继续执行Next_statement;
4.在if语句中使用代码块

还可以用{}括号中的一个语句块来替换if语句中的statement1或statement2,或者都替换,因为如果不加{},那么if语句后面只能执行一条语句,可以使用{}来执行多条语句,不管多少条,都建议使用{},使得程序简洁明了。

5.逻辑运算符
  • 逻辑与运算符 && 逻辑与运算符&&是一个二元运算符,因为它合并两个逻辑表达式,即两个值为true或false的表达式。
    test1 && test2
    如果两个表达式test1和test2的值都为true,这个表达式就等于true,如果一个或两个操作数为false,该操作的结果就为false。
  • 逻辑或运算符 ||
    逻辑或运算符||用于两个或多个条件为true的情形,如果运算符的一个或两个操作数是true,那么结果就是true,只有两个操作数都是false,其结果才是false
  • 逻辑非运算符 !
    !运算符是一元运算符,因为它只有一个操作数,逻辑非运算符翻转逻辑表达式的值,使true变为false,false变为true。
  • 运算符的优先级
    (哈哈,这部分先不管了,在写代码的时候还是多使用小括号括起来,使得程序清晰易懂,也不会造成逻辑混乱)
6. switch语句

switch语句允许根据一个整数表达式的结果,从一组动作中选择一个动作,

switch(ticket_number){
    case 35:
        printf("you win first prize!");
        break;
    case 122:
        printf("you win second prize!");
        break;
    case 144:
        printf("you win third prize!");
        break;
    default:
        printf("you lose!");
        break;
}
复制代码

在关键词switch后面是一个表达式,如果表达式的值和下面case中的一个对应上,就执行响应的case后面的语句,遇到break语句跳出switch。如果没有匹配的值,就执行default语句后面的语句。

按位运算符

位运算符是对整数的二进制进行操作。

这些运算符都只能用于整数类型,~运算符是一元运算符,只能处理一个操作数,其他都是二元运算符。

  • 按位与运算符&合并操作数的对应位,只有两个位都是1才是1
  • 按位或运算符|,只要对应位中有一个或以上的1,结果就是1
  • 异或运算符^,如果两个位是不同的,按位异或就生成1,否则就是0
  • 一元运算符~会翻转其操作数,将1变成0,将0变成1.
  • 移位运算符会把左操作数的位移动右操作数指定的位数: 左移位运算符会把二进制值向左移指定的位数,同时在右边补0;右移位运算符会向右位移,对于无符号的数据,会在左边的空位中填充0,对于带符号的负值,其最左一位是1,则位移结果取决于系统,在大多数情况下,符号位会扩散,所以向右位移时补入的是1,但在一些系统上,补入的是0.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值