c:条件判断语句——if、switch

if

基本语法

if(表达式)
 {
   语句
 }

如果表达式成立为真的时候,语句将会被执行,如果表达式不成立为假的时候,语句不执行。举个简单的例子如下所示

#include<stdio.h>
int main()
 {
    int num = 0; //设num初始化为0;
    scanf("%d",&num); //输入一个num的数
    if(num >= 10)
     {
      printf("%d这个数字是大的\n",num);
     }
    return 0;
 }

if....else

如果你想表达不是这个是另外一个就得用到if.....else....语句

语法形式如下所示

if(表达式)
  {
   语句1;
  }
else
 {
   语句2;
 } 

在这里我们举一个简单的例子

#include<stdio.h>
int main()
{
	 int age = 0;
	 scanf("%d", &age);
	 if (age >= 18)
	 {
		 printf("%d是成年\n", age);
	 }
	 else
	 {
		 printf("%d不是成年\n", age);
	 }
	 return 0;
}

多分支语句

多分支语句用大白话来讲就是我去找对象,如果我对象想去看电影就会执行看电影,如果去吃火锅就会执行吃火锅,反正总之条件总会执行一个结果,从上到下依次判断看是否满足if的条件一直会找到符合条件的为止,如果条件都不符合,就是如果我的女朋友不想看电影不想吃火锅我就会选择带她吃她最喜欢的土豆粉执行我的else语句。

if(判断条件1)
{
当判断条件1为真的时候执行
}
else if(判断条件2)
{
当判断条件2为真的时候执行
}
。
。
。
。
else if(判断条件n)
{
当判断条件n为真的时候执行
}
else
{
当上面条件均不为真的时候执行
}
#include<stdio.h>
int main()
{
	int xu = 0;
	scanf("%d", &xu);
	if (xu == 1)
	{
		printf("吃火锅\n");
	}
	else if (xu == 2)
	{
		printf("看电影\n");
	}
	else
	{
		printf("吃土豆粉\n");
	}
	return 0;
}

一旦有一个else if匹配成功的时候,其他的else if 和else将不会被执行。

嵌套if语句

在c语言之中嵌套if—else语句是合法的,在if语句或者if...else语句之中可以插入另一个if或者else if语句。

if(判断语句1)
{
   //当判断语句1为真的时候执行
    if(判断语句2)
    { 
    //当判断语句2为真的时候执行
    }
}

这里我们举一个简单的例子

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 0;
	scanf("%d", &a);
	scanf("%d", &b);
	if (a == 50)
	{
		printf("a = 50");
		if (b == 30)
		{
			printf("b = 30");
			}
		else
		{
			printf("b不符合");
		}
	}
	return 0;
}

我们在条件赋值的时候要注意在c语言之中两个等号是判断,一个等号是赋值。

以上是我对于if语句的看法。欢迎大家指正和补充。

switch

switch语句就类似于做出大量选择的时候,我们不可能一直要书写if语句那样效率太低而且代码行量太多,我们需要进步对于冗余的代码进行简化,这时候就会出现我们的switch语句。

switch是一个多分支的选择语句,并且与if语句一样都是可以进行嵌套调用的。

switch语句的基本格式。

switch(表达式)       //多分支选择语句
{
case 常量1:语句1;      //情况1
case 常量2:语句2;      //情况2
。
。
。
case 常量n:语句n;      //情况n
default :语句x;       //均不满足时执行x语句
break;                 //跳出循环
}

switch语句就是通过将表达式之中的值与常量值进行对比,如果相同将执行准备这一条语句否则将继续下一个语句,其中语句终止的条件是braek语句,break语句是当语句运行到break就不会再继续往下走的意思,switch终止。接下来我们举几个简单的例子

#include<stdio.h>
int main()
{
	int grade = 0;
	printf("输入你的成绩:");
	scanf("%d", &grade);
	switch (grade / 10)
	{
	case 10:printf("a\n"); break;
	case 9:printf("b\n"); break;
	case 8:printf("c\n"); break;
	case 7:printf("d\n"); break;
	case 6:printf("e\n"); break;
	case 5:printf("f\n"); break;
	default:
		printf("g\n"); break;
	}
	return 0;
}

上述情况是最常见的并且是最普通的情况,假如老师说我们60分之上就是a我们如果都这样写就会显得很麻烦所以我们就有可以以下的代码进行表示;

#include<stdio.h>
int main()
{
	int grade = 0;
	printf("输入你的成绩:");
	scanf("%d", &grade);
	switch (grade / 10)
	{
	case 10:
	case 9:
	case 8:
	case 7:
	case 6:printf("a\n"); break;
	case 5:printf("b\n"); break;
	default:
		printf("c\n"); break;
	}
	return 0;
}

那你可能就会想问如果我随机输一个数字是不是都是a?答案是否定的,因为我们有default语句就将没出现在这个判断之中的常量解决了。如下所示

switch语句可以进行嵌套使用如下所示

#include<stdio.h>
int main()
{
    int grade = 0;
    printf("请输入你的成绩:");
    scanf("%d", &grade);
    switch (grade / 10)
    {
    case 10:
    case 9:
    case 8:
    case 7:
    case 6:
        printf("A\n");
        break;
    case 5:
        printf("B\n");
        break;
    default:
        switch (grade > 100)
        {
        case 1:
            printf("你的成绩太高了!\n");
            break;
        default:
            switch (grade < 0)
            {
            case 1:
                printf("你的成绩太低了!\n");
                break;
            default:
                printf("C\n");
                break;
            }
            break;
        }
        break;
    }

    return 0;
}

我们对于条件的判断语句就到这里,关于循环执行条件我们放在下次

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鼓楼fcblow

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

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

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

打赏作者

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

抵扣说明:

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

余额充值