分支结构程序/选择语句(if语句、switch语句)

本文详细介绍了C语言中的if语句及其用法,包括基本结构、嵌套条件判断和else子句,以及switch语句的使用,强调了语法注意事项和常见问题。通过实例演示了如何根据不同条件执行不同的代码块。
摘要由CSDN通过智能技术生成

if语句  

if语句是c语言中的流程控制语句,在程序运行中用来根据一个条件的真假来决定是否执行某段代码。

一般形式: 关系表达式逻辑表达式 和 数值表达式

1、if  (表达式)

//输入的整数能被5整除吗?


代码如下:
#include<stdio.g>

int main()
{
   int n;
   scanf("%d",&n);
   if(n%5==0)
     printf("这个数能被5整除");
   return 0;
}

2、if(表达式) (多用于两种情况的场景)

            语句1;

          else

            语句2;

//输入的整数能被5整除吗?


代码如下:
#include<stdio.g>

int main()
{
   int n;
   scanf("%d",&n);
   if(n%5==0)
     printf("这个数能被5整除");
   else
     printf("这个数不能被5整除");
   return 0;
}

3、if(表达式1)       (在else的行列中套了多层if语句,用于判断多个条件是否符合某些标准)

         else if(表达式2)

        else if(表达式n-1)

        else(表达式n)

【注意】“==”和“!=”统称为相等运算符。

“==”    a==b   如果a和b的值相等则为1,不等则为0(结果的类型是int)

“!=”    a!=b   如果a和b的值不相等则为1,相等则为0(结果的类型是int)

题目示例:

编写程序,输入一批学生的成绩,遇0或负数则输入结束,要求统计并输出优秀(大于85)、通过(60~84)和不

及格(小于60)的学生人数。

思路:

(1)先是定义,然后以do-while实现循环。

(2)从score【0】开始存,存一个判断一个,while构成死循环,遇到break就跳出,从而将学生的成绩分为优秀、通过和不及格。

AC代码:

#include<stdio.h>

int main()
{
    int a=0,b=0,c=0;
    int i=0,score[100]={0};
    do
    {
        scanf("%d",&score[i]);
        if(score[i]>85)
        {
            a++;
        }
        else if(score[i]>=60)
        {
            b++;
        }
        else if(score[i]>0)
        {
            c++;
        }
        else
        {
            break;
        }
    }while(1);
printf(">=85:%d\n60-84:%d\n<60:%d\n",a,b,c);
 
}

if语句的注意事项:

(1)if语句书写可一行,可多行。

(2)if语句无论多少行,都是为一个整体。

(3)内置语句可为简单句,也可为复合句。

(4)嵌套时,else与之前未配对的、最近的进行配对,注意其与空格和回车无关。

写代码中出现的问题:

(1)容易出现格式错误:输出内容中多余空格造成的输出不符合题目要求。

(2)输出成分赘余,切记题目要求。

switch语句  

if语句将程序分为两支,而switch语句将程序分为多个分支。

1、一般形式:

switch(表达式)

    case 常量表达式1:  语句1;
    case 常量表达式2:  语句2;
    … 
    case 常量表达式n:  语句n;
    default:  语句n+1;

}

示例代码:

#include<stdio.h>

int main()
{
    int a;
    printf("input integer number: ");
    scanf("%d",&a);
    switch (a)
    {
         case 1:printf("Monday\n"); break;
         case 2:printf("Tuesday\n"); break;
         case 3:printf("Wednesday\n"); break;
         case 4:printf("Thursday\n"); break;
         case 5:printf("Friday\n"); break;
         case 6:printf("Saturday\n"); break;
         case 7:printf("Sunday\n"); break;
         default:printf("error\n");
     }
}

碰到break语句时,switch语句执行结束。没有break时,程序则会落到下一条语句上。

希望大家有所收获!!

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值