C语言中分支语句的易错点

#C语言的分支语句
在C语言中的分支语句包括if语句switch语句等,下文,分别介绍if语句和switch语句的易错点。

##关于if语句

  1. if语句只能控制紧接着的一条语句,控制多条语句需要加{ }。
  2. else后没有表达式,同样默认控制一条语句,也可加上{ }控制多条语句。
  3. 嵌套if语句
//判断整数的值
#include<stdio.h>
int main()
{
	int num = 0;
	scanf("%d" , &num);
	if(num == 0)
	{
		printf("输入的数字是0\n");
	}
	else *if(num > 0)
	{
		printf("输入的数字是整数\n");
	}
	else
	{
		printf("输入的数字是负数\n");
	}*
	//斜体代码与前面的else嵌套构成嵌套的if语句
	return 0;
}
  1. else总是和最近的if匹配,“就近原则”
  2. 判断数值是否相等切记是两个==
  3. 短路问题
    由于C语言逻辑运算符的特点是先对左侧的表达式进行求值再对右侧的表达式求值,这个顺序是一定的
    如果左边的表达式满足逻辑运算符的条件,就不再对右侧表达式进行求值。
    这种情况就称为“短路”
int main()
{
   int i = 0, a = 0, b = 2, c = 3, d = 4;
   i = a++ && ++b && d++;
   printf("a = %d\n b = %d\n c = %d\n d = %d\n i = %d\n", a, b, c, d, i);
   //a++ 后置++ 先使用后++ 先将a = 0的值返回给表达式,0为假 与运算导致整行代码被短路 导致++b d++没有被执行
   return 0;
}

##关于switch语句

  1. switch语句更适合实现多分支的情况
  2. switch语句的语法形式
 switch (expression)
{
case value1:statement
case value2:statement
default:statemrnt
}
  1. switch后的表达式必须是整形表达式
  2. case后的值必须是整型常量表达式
  3. case语句后要加上break, 否则将会继续向下执行后面的case
  4. switch的强项是处理离散的数据
  5. default子句用来处理错误的输入
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值