C语言小白的第七课:简单的运算符与判断语句(if与switch)

注:在更完C语言小白的第十课后(大概把循环语句弄完,也带上一些数组),就进入C语言初阶系列(比如函数,宏,枚举与递归,指针,结构体相关知识)中间会穿插一些补充内容,如数据类型的较全面补充,字符串和指针联系起来,文件处理等等。这些肯定会比十篇博客多不少,至于进阶内容日后再说。

1、三目运算符 例如:下面使用的条件运算符

max的赋值: a ? b : c如果a不为0,则结果是b的值,否则是c的值

max = (n1 > n2) ? n1:n2

这个运算符有很多应用,之一便是绝对值的计算。比如下面计算差的绝对值

printf("%d\n", (n1>n2) ? n1-n2:n2-n1)

[补] if条件句中只能有一个语句,若多于一个,就用大括号括起来,变为一个可以被看作是单一语句的复合句。否则多个语句存在的话后面的else不会与if构成对应关系,出现编译错误。

2、逻辑运算符 1)&&  逻辑与运算符 表示“且”的含义 如a&&b 即若a、b均不为0,则结果为1,否则为0               2) ||     逻辑或运算符 表示“或” 的含义如a||b 即若a或b中至少有一个不为0,则结果为1;若a、b均为0,结果才是0.

【重要补充】不能将两个(不)等式合并,否则只判断前面一个(不)等式。例如:0<a<100,在计算机看来,只要a满足大于0就输出1。因此,要实现a既大于0且小于100,应该使用a>0&&a<100。原因:< > ==这三个符号都是双目运算符。值得一提的是,&&在左操作数为0的时候就不会对右边判断。这很好理解,毕竟它表示的是“且”的意思。||操作符则刚好相反,它在左操作符不为0的时候就不会对右边判断。总的来说,仅根据左操作符就判断输出被称之为短路求值。

3、if语句易错点 

1)多加分号

if(a>0);
   printf("在if的判断的)后多加了分号");

2)判断相等时使用 =

4、switch语句:将程序分为多个分支

格式:(理论上case可以有很多)

switch(){
case 1 :语句1 ;  break;
case 2 :语句2 ;  break;
case 3 :语句3 ;  break;
default : 语句4 ; break;
}

1)当表达式的判断结果与任何一个case都不一致时,程序就会跳转到default继续执行

2)每个case后面可以跟多个语句,中间用分号隔开就行

3)假如case 2中不含break那么在执行完语句2后,程序会自动落入语句3继续执行,直到遇到break跳出switch语句

从多个分支的角度看,switch要比if更加简洁

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值