学习笔记:分支与循环(上)

一:if语句

*if else

#include <stdio.h>
int main()
{
 int num = 0;
 scanf("%d", &num);
 if(num % 2 == 1)
 printf("%d 是奇数\n", num);
else 
 printf("%d是偶数",num);
 return 0;
}

*默认在 if 和 else 语句中默认都只控制⼀条语句。使用{}可以控制多条语句

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d";&age);
 if(age >= 18)
   { 
   printf("成年了\n");
   printf("可以谈恋爱了\n");
   }
//if 后使⽤{} 控制多条语句-这个块也叫:程序块,或者复合语句
else
  {
  printf("未成年\n");
  }
//else 后使⽤{}控制多条语句-这个块也叫:程序块,或者复合语句
  return 0;
}

*嵌套if

*在 if else 语句中, else 可以与另⼀个 if 语句连⽤,构成多重判断。

#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d", &age);
 if(age<18)
 printf("少年\n");
 else if(age<=44)
 printf("⻘年\n");
 else if(age<=59)
 printf("中⽼年\n");
}

*悬空else问题

*如果有多个 if 和 else , else 总是跟最接近 的 if 匹配。

#include <stdio.h>
int main()
{
 int a = 0;
 int b = 2;
 if(a == 1)
 {
 if(b == 2)
 printf("hehe\n");
 else
 printf("haha\n");
 }
 return 0;
}

 或者如果我们希望else确实和第⼀个if匹配,可以这样修改代码

#include <stdio.h>
int main()
{
 int a = 0;
 int b = 2;
 if(a == 1)
 {
 if(b == 2)
 printf("hehe\n");
 }
 else
 {
 printf("haha\n");
 }
 return 0;
}

 二:关系操作符

 *关系表达式中通常返回值为0或者1,表示真假

*C 语⾔中, 0 表⽰假,所有⾮零值表⽰真。⽐如, 20 > 12 返回 1 , 12 > 20 返回 0

==表示判断 =表示赋值

*多个关系操作符不宜连用

(i<j<k)
//上⾯式⼦中, i < j 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进⾏⽐较

正确的写法是

(i<j&&j<k)

三:逻辑操作符

! :逻辑取反运算符(改变单个表达式的真假)。

&& :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。

|| :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。

四:短路

*​​​​​​​C语⾔逻辑运算符还有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是 保证的。如果左边的表达式满⾜逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短 路”。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值