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

if语句  

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

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

分支结构程序/选择语句(if语句、switch语句)_第1张图片

1、if  (表达式)

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


代码如下:
#include

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

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

            语句1;

          else

            语句2;

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


代码如下:
#include

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

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;

}

分支结构程序/选择语句(if语句、switch语句)_第2张图片

示例代码:

#include

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时,程序则会落到下一条语句上。

希望大家有所收获!!

你可能感兴趣的:(算法,学习)