【C语言】判断语句(详解)

目录

前言

一、if语句

1.if语句的一般形式

2.级联的if-else语句

3.嵌套的if-else语句

二、switch语句

三、关系、逻辑、条件运算符和表达式

    1.关系运算符与关系表达式

    2.逻辑运算符与逻辑关系式

    3.条件运算符与条件表达式

总结


前言

在C语言中,主要有两种选择语句:if语句和switch语句。

下面是它们各自的基本语法和示例。


一、if语句

if语句:用来实现两个分支的选择结构。

1.if语句的一般形式

//1.没有else子句部分
if(表达式)   语句1

//2.有else子句部分
if(表达式){
  语句1
}else{
  语句2
}

 if 语句基本形式是:if (表达式)语句,“表达式”值可以是任意合法的数值。

2.级联的if-else语句

示例:交电费,分阶段收费

#include<stdio.h>
int main() {
	float x = 0.0;
	float y = 0.0;
	scanf_s("%f", &x);

	if (x <= 100)                   y = x * 0.5;
	else if (x > 100 && x <= 300)   y = 100 * 0.5 + (x - 100) * 0.8;
	else if (x > 300 && x <= 1000)  y = 100 * 0.5 + 200 * 0.8 + (x - 300) * 1.2;
	else                            y = 100 * 0.5 + 200 * 0.8 + 700 * 1.2 + (x - 1000) * 2;
//这里需要注意“&&”符号,区别于数学书写方式
printf("%f\n", y);
	return 0;
}

3.嵌套的if-else语句

 示例:找出三位数中的最大值?

#include<stdio.h>
int main() {
	int a, b, c;
	int max = 0;
	scanf_s("%d%d%d", &a, &b, &c);
	if (a > b) {
		if (a > c) {
			max = a;
		}
		else {
			max = c;
		}
	}
	else {
		if (b > c) {
			max = b;
		}
		else {
			max = c;
		}
	}
	printf("三位数中最大为%d", max);
	return 0;
}

 二、switch语句

switch语句:实现多分支选择结构。

其基本语句为:

switch(控制表达式)
{
  case 常量: 
      语句;
      break;
  default:
      语句;
      break;
}

示例1:常用switch语句处理菜单命令。

#include<stdio.h>
int main() {
	int type;
	scanf_s("%d", &type);
	switch (type) {
	case 1:
		printf("主人,请吩咐妲己"); 
		break;
	case 2:
		printf("没有心,就不会受伤"); 
		break;
	case 3:
		printf("知识就是力量"); 
		break;
	default:
		printf("退出游戏"); 
	    break;
	}
	return 0;
}

switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。

示例2:(假设在示例1的基础上删除第2、3 个break)


三、关系、逻辑、条件运算符和表达式

    1.关系运算符与关系表达式

例如:a>3是一个关系表达式,>是一个关系运算符。

>>=<<===!=
大于大于等于小于小于等于等于不等于
优先级相同(高)优先级相同(低)

运算符优先级(算术运算符>关系运算符>赋值运算符)

例如:(1)c>a+b   等价于 c>(a+b)       算术运算符优先级高于关系运算符           

           (2)a>b==c 等价于 (a>b)==c    大于运算符优先级高于相等运算符

           (3)a==b<c 等价于 a==(b<c)    小于运算符优先级高于相等运算符

           (4)a=b>c   等价于 a=(b>c)      关系运算符优先级高于赋值运算符

    2.逻辑运算符与逻辑关系式

运算符含义举例说明
&&逻辑与(and)a&&b全真则真,一假全假
||逻辑或(or)a||b一真全真,全假才假
逻辑非(not)!a假则为真,真则为假

运算符优先级(!>算术运算符>关系运算符>&&和||>赋值运算符)

    3.条件运算符与条件表达式

条件运算符举例说明
表达式1?表达式2:表达式3(a>b)?a:b如果表达式1为真,取值表达式2;为假,取值表达式3

总结

以上对C语言的选择语句进行了基础性讲解,包括基础语法展示、示例展示和相关运算符。

后期需要搭配训练题加深对C语言的理解。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

琛:D

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

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

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

打赏作者

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

抵扣说明:

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

余额充值