找回密码
 register

QQ登录

只需一步,快速开始

[*编程自学*] 第十课:选择语句 switch

[复制链接]

[*编程自学*] 第十课:选择语句 switch

[复制链接]
Waylee

主题

0

回帖

7912

积分

仙帝

积分
7912
Waylee 2024-8-2 16:01 | 显示全部楼层 |阅读模式

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×
C语言支持最基本的三种程序运行结构
顺序结构、选择结构、循环结构
顺序结构:程序按顺序执行,不发生转跳
选择结构:依据是否满足条件,右选择的执行相应功能
循环结构:依据条件是否满足,循环多次执行某段代码

1.if语句
if(表达式)
{
    语句1;
}
表达式为真 才会执行语句1;
案例:
#include<stdio.h>
void test01()
{
        int num = 0;
        printf("请输入一个整型数据:");
        scanf("%d",&num);

        //判断能被2整除
        if(num%2 == 0)
        {
                printf("可以被2整除\n");
        }
}
int main(int argc,char *argv[])
{
        test01();
        return 0;
}

2.如果项目只有两种结果,且不会同时出现,请选择 if    else
if(表达式)
{
    语句1;
}
else
{
    语句2;
}
表达式为真执行语句1,否则执行语句2
#include<stdio.h>
void test01()
{
        int num = 0;
        printf("请输入一个整型数据:");
        scanf("%d",&num);

        //判断能被2整除
        if(num%2 == 0)
        {
                printf("余数为0,可以被2整除\n");
        }
        else
        {
                printf("余数为1,不能被2整除\n");
        }
}
int main(int argc,char *argv[])
{
        test01();
        return 0;
}

3.如果一个项目有多个结果 且不同时出现,if .......else if  ......else if ......else
if(表达式1)
{
     语句1;
}
else if(表达式2)
{
     语句2;
}
else //可省略
{
     语句3;
}
只有表达式1为真 执行语句1,只有表达式2为真 执行语句2, 所有表达式都为假 才执行语句n
案例:
#include<stdio.h>
void test01()
{
        int num = 0;
        printf("请输入一个整型数据:");
        scanf("%d",&num);
        //判断num对3的余数 0 1 2 
        if(num%3 == 0)
        {
                printf("余数为0\n");
        }
        else if(num%3 == 1)
        {
                printf("余数为1\n");
        }
        else if(num%3 == 2)
        {
                printf("余数为2\n");
        }
}
int main(int argc,char *argv[])
{
        test01();
        return 0;
}

注意:只有前面的条件不满足,才能判断下一个条件。 如果前面的条件满足,后面的条件不管真假 都不会执行。
4.一个项目有多个结果,不确定 是否同时 出现。
if(表达式1)
{
     语句1;
}
if(表达式2)
{
     语句2;
}
if(表达式3)
{
     语句3;
}
每个if都是独立的。
作业:
键盘输入一个数,能否被3和7同时整除
#include<stdio.h>
void test02()
{
        int num = 0;
        printf("请输入一个int类型数据:");
        scanf("%d",&num);
        if( (num%3 == 0) && (num%7 == 0))
        {
                printf("可以被3和7整除。\n");
        }
        else
        {
                printf("不能被3和7整除。\n");
        }
}
int main(int argc,char *argv[])
{
        test02();
        return 0;
}



switch 选择语句
switch(表达式)
{
    case 值1:  //不能是实型、字符串。只能是数值
        语句1;
        break;

    case 值2:
        语句2;
        break;

    case 值3:
        语句3;
        break;
    default:  //可以省略
        语句n;
        break;
}

案例:

#include<stdio.h>
void test03()
{
        int data = 0;
        printf("请输入一个int数据:");
        scanf("%d",&data);
        switch(data%3)
        {
        case 0:
                printf("余数为0\n");
                break;
        case 1:
                printf("余数为1\n");
                break;
        case 2:
                printf("余数为2\n");
                break;
        }
}
int main(int argc,char *argv[])
{
        test03();
        return 0;
}

案例:省略break;的情况
#include<stdio.h>
void test04()
{
        char ch = 0;
        printf("请输入你的方向:wasd\n");
        ch = getchar();
        switch(ch)
        {
        case 'w':
        case 'W':
                printf("向上移动\n");
                break;
        case 'a':
        case 'A':
                printf("向左移动\n");
                break;
        case 's':
        case 'S':
                printf("向下移动\n");
                break;
        case 'd':
        case 'D':
                printf("向右移动\n");
                break;
        }
}
int main(int argc,char *argv[])
{
        test04();
        return 0;
}

作业:键盘输入1~7的数,用switch判断今天是星期几。
#include<stdio.h>
void test05()
{
        int date = 0;
        printf("请输入一个int数据:");
        scanf("%d",&date);
        switch(date)
        {
                case 1:
                        printf("今天星期一\n");
                        break;
                case 2:
                        printf("今天星期二\n");
                        break;
                case 3:
                        printf("今天星期三\n");
                        break;
                case 4:
                        printf("今天星期四\n");
                        break;
                case 5:
                        printf("今天星期五\n");
                        break;
                case 6:
                        printf("今天星期六\n");
                        break;
                case 7:
                        printf("今天星期七\n");
                        break;

                default:
                        printf("请输入有效数字!\n");
                        break;
        }
}
int main(int argc,char *argv[])
{
        test05();
        return 0;
}



雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2024-11-24 10:17 , Processed in 0.068191 second(s), 7 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表