分支与循环语句(1)

ps:总结近期所学,供复盘复习使用,有不足请指出,共同进步!

总括:

分支:

  • if

  • switch

循环

  • while

  • for

  • do while

goto语句


语句

C语言中语句可分为五大类:

1. 表达式语句:

eg: 2+3

2. 函数调用语句

3. 控制语句:

  • 条件判断语句也叫分支语句:if语句、switch语句;

  • 循环执行语句:do while语句、while语句、for语句;

  • 转向语句:break语句、goto语句、continue语句、return语句。

4. 复合语句

5. 空语句


控制语句:

分支语句(选择结构)

if语句

  • if..if..else

  • 多分支:if...else if...else

else语句

  • 一个小例子:

适当的使用{}可以使代码的逻辑更加清楚。

代码风格很重要

//形成良好代码风格:《高质量的c++编程》

else的匹配:是和它离最近的if匹配的

  • 练习代码


include <stdio.h>
//其他写法
int main()
{
int i = 1;
while(i <= 100)
{
printf("%d",i);
i += 2;
}
return 0;
}

switch语句

常用于多分支

  • eg:星期x


//用if语句:

int main()
{
    int day = 0;
    //输入
    scanf("%d", &day);

    if (1 == day)
        printf("星期1\n");
    else if(2 ==day)
        printf("星期2\n");
    else if(3 == day)
        printf("星期3\n");
    else if(4 == day)
        printf("星期4\n");
    else if(5 == day)
        printf("星期5\n");
    else if(6 == day)
        printf("星期6\n");
    else if(7 == day)
        printf("星期天\n");
return 0;
}

//switch语句
int main()
{
    int day = 0;
    //输入
    scanf("%d", &day);
switch (day)
    {
    case 1:
        printf("星期1\n");
        break;
    case 2:
        printf("星期2\n");
        break;
    case 3:
        printf("星期3\n");
        break;
    case 4:
        printf("星期4\n");
        break;
    case 5:
        printf("星期5\n");
        break;
    case 6:
        printf("星期6\n");
        break;
    case 7:
        printf("星期天\n");
        break;
    default:
        printf("选择错误\n");
        break;
    }
    return 0;
}

    
//    //1,2,3,4,5 工作日
//    //6,7       休息日
int main()
{
    int day = 1;
    switch (day)
    {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("工作日\n");
        break;
    case 6:
    case 7:
        printf("休息日\n");
        break;
    default:
        printf("选择错误\n");
        break;
    }
    return 0;
}
  • switch使用注意:

  1. break语句使用:

(1)实际效果是把语句列表划分为不同的分支部分

(2)好习惯:在最后一个 case 语句的后面加上一条 break语句。

  1. default子句使用

每个switch语句中只能出现一条default语句

  1. switch()

{

语句项://语句项即:case语句

}

(1).()内是整型表达式;

eg:

(2).case语句:case 整形常量表达式:语句;

  • 练习代码

switch语句中允许嵌套


循环语句

  • while

  • for

  • do while

while语句

  • 引入:

当条件满足的情况下,if语句后的语句执行,否则不执行。

但是这个语句只会执行一次。

由于我们发现生活中很多的实际的例子是:同一件事情我们需要完成很多次。

那我们怎么做呢?

C语言中给我们引入了:while语句,可以实现循环。

  • while语法结构:

while(表达式)

循环语句:

流程:

eg:


int main()
{
    //使用while循环在屏幕上打印1~10
    int i = 1;
    while (i <= 10)
    {
        printf("%d ", i);
        i++;
    }

    return 0;
}
whlie语句中的break语句
  • break在while循环中的作用:

只要在循环中遇到break,就停止后期的所有的循环,直接终止循环

所以:while中的break是用于永久终止循环的。

eg:

whlie语句中的continue语句
  • continue在while循环中的作用就是:

continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行

而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

eg:

其他(getchar/putchar了解)

  • scanf输入

  • printf输出

  • getchar读取一个字符

  • putchar输出/打印一个字符

  • getchar 读取到字符的时候返回的是字符的ASCII码值

  • 如果读取失败,返回的是 EOF ---> -1 ASCII:0~127

以上代码工作原理:


//

int main()
{
    printf("请输入密码:>");
    char password[20] = { 0 };
    scanf("%s", password);
    //清理缓冲区
    while (getchar() != '\n')
    {
        ;
    }
    printf("请确认密码(Y/N):>");
    int ch = getchar();
    if (ch == 'Y')
    {
        printf("确认成功\n");
    }
    else
    {
        printf("确认失败\n");
    }

    return 0;
}

int main()
{
    char arr[20] = {0};
    scanf("%[^\n]", arr);//[^\n]实际没啥价值
    //scanf("%s", arr);
    printf("%s\n", arr);

    return 0;
}

//只打印数字字符
int main()
{
    char ch = '\0';
    while ((ch = getchar()) != EOF)
    {
        if (ch < '0' || ch > '9')
            continue;
        putchar(ch);
    }
    return 0;
}

以上是2023-1-8所学内容知识整理复述,有不足请指出,共同进步!

感谢观看!!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值