【C语言笔记5】C语言分支与循环1(if语句,else语句,关系操作符,条件操作符,逻辑操作符,switch语句,break语句,default语句)

本文详细介绍了C语言中的if-else语句、关系和逻辑操作符、以及switch语句的使用,包括它们的基本概念、示例代码和运行结果。通过比较if和switch在处理除数余数问题上的应用,展示了不同场景下的选择策略。
摘要由CSDN通过智能技术生成


所有运行结果均在编译器VS2022,Debug,x86的环境下得出

一、if语句

1.if

  • if ( 表达式 )
  • 语句

在C语言中,0表示假,非0为真
如果表达式的结果为真,则执行下面语句,表达式结果为假,则不执行

2.else

else常常与if一起使用,如果不满足表达式的情况,则会执行语句2.

  • if ( 表达式 )
  • 语句1
  • else
  • 语句2

3.if与else语句的常用说明

  • if语句和else语句后面默认只控制一条语句
  • 如果需要控制多条语句,常常使用大括号{}
  • else总是和最近的if相匹配

4.代码及运行结果

4.1代码示例

#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;
//}

4.2运行结果

运行结果

二、操作符

1.关系操作符

1.1介绍

主要有以下6个

  • > 大于运算符
  • <小于运算符
  • >=大于等于运算符
  • <=小于等于运算符
  • ==等于运算符
  • !=不相等运算符

1.2示例

关系操作符示例
表达式通常返回0和1,表示真假。

1.3==和=

  • ==为相等运算符
  • =为赋值运算符
  • 通常写成 if(3==x)的形式

1.4多个运算符不能连在一起用

i < j < k为错误写法

上⾯式⼦中, i < j 返回 0 或 1 ,所以最终是 0 或 1 与变量 k 进⾏⽐较。如果想要判断变量 j
的值是否在 i 和 k 之间,应该使⽤下⾯的写法。

i < j && j < k

2.条件操作符

条件操作符也叫三目操作符。

  • exp1 ? exp2 : exp3

条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果
exp1 为假, exp3 计算,计算的结果是整个表达式的结果。

3.逻辑操作符

  • ! :逻辑取反运算符(改变单个表达式的真假)。
  • && :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
  • || :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。

三、switch语句

1.基本介绍

switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。它把多重
的 else if 改成更易⽤、可读性更好的形式。

switch (expression)
{
case value1: statement
case value2: statement
default: statement
}

  • switch 后的 expression 必须是整型表达式
  • case 后的值,必须是整形常量表达式
  • case 和后边的数字之间必须有空格
  • 每⼀个 case 语句中的代码执⾏完成后,需要加上 break ,才能跳出这个switch语句。
  • case语句与break语句没有顺序要求

2.if语句与switch语句的区别示例

2.1用if语句计算任意数除3之后的余数


#include <stdio.h>

int main()
{
	int num = 0;
	scanf("%d", &num);
	if (num % 3 == 0)
		printf("被3整除,余数为0\n");
	else if (num % 3 == 1)
		printf("余数是1\n");
	else
		printf("余数是2\n");

	return 0;
}

2.2用switch语句计算任意数除3之后的余数

#include <stdio.h>
int main()
{
	int num = 0;
	scanf("%d", &num);

	switch (num % 3)
	{
	case 1:
		printf("余数是1\n");
		break;
	case 2:
		printf("余数是2\n");
		break;
	case 0:
		printf("余数是0\n");
		break;
	}
	return 0;
}

2.3小总结

可以根据情况的复杂程度去选择,使用哪种语句,情况不太复杂时可多用if语句,具体用哪种还是看个人喜好。

  • 53
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹小白_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值