分支与循环中的小知识点(附猜数字游戏)

目录

1.if语句

1.1if 

1.2分支中包含多条语句

1.3嵌套if

1.4悬空else问题

2.关系操作符

3.逻辑操作符(&&,||,!)中的短路

4.switch语句

5.for循环,do while循环

5.1for循环

5.2do while循环

6.猜数字游戏


1.if语句

1.1if 

if(表达式)

语句

表达式结果为0(假),语句不执行,表达式结果不为0(即为真),语句执行。

1.2分支中包含多条语句

if和else语句都默认只控制条语句,若要控制条语句要打{}。(个人建议:可以都打{}

1.3嵌套if

if(条件)

{               }   //也可以写成

else if(条件)  //if(条件)

{               }    //{              }

else if(条件)   //if(条件)

{               }     //{             }    但效率会低一点

else 

{               }

1.4悬空else问题

注意:else总是与它上面最近的且未配对的if配对

结果为

因为else和if(b == 2)配对,如果{if(b == 2) printf("hehe\n")}就会打印出haha

所以建议带上适当的{}

2.关系操作符

>,<,>=,<=,==(等于,=为赋值),!=(不等于)

关系表达式通常返回0或1,表示真假。C语言中0为假,非0为真。

一注意:如:if(a == 3)有些人会这样写if(3 == a),这样如果写成if(3 = a)时会报错,方便找错。比较推荐

二注意:多个关系运算符不宜连用,如:a<b<c 这样写错误,应写成a<b&&b<c

3.逻辑操作符(&&,||,!)中的短路

if(表达式1&&表达式2),当表达式1为假时,不会执行表达式2

if(表达式1||表达式2||表达式3),当表达式1为真,不会执行表达式2和3,当表达式1为假,若表达式2为真,不会执行表达式3

4.switch语句

注意:case 和后面的数字之间必须有空格;

每一个case语句最后要加break若没有break,会执行下一个case语句,直到遇到break跳出循环),default后面也要加break。当default在switch语句最后时可以不加

5.for循环,do while循环

5.1for循环

for(表达式1;表达式2;表达式3)

表达式1 用于循环变量初始化

表达式2 用于循环结果条件判断

表达式3 用于循环变量的调整

注意:for循环中的continue时跳过本次循环后面的代码是回到表达式3,再到表达式2,再进行循环

5.2do while循环

注意:do {    }while();,while()后有个;

6.猜数字游戏

#include <stdio.h>
#include <time.h> //引用了time函数
#include <stdlib.h>//引用了rand函数rand()产生随机数
void menu()
{

    printf("*****        *****\n");
    printf("***** 1.play *****\n");
    printf("***** 0.exit *****\n");
    printf("*****        *****\n");
}
void game()
{
    int a = 0;
    int b = rand()%100+1;//想要产生1到100的数字
    int count = 5;
    while (1)
    {
        if (count == 0)
        {
            break;
        }
        printf("你还有%d次机会\n", count--);
        printf("请输入值:>");
        scanf("%d", &a);
        if (a < b)
        {
            printf("猜小了\n");
        }
        else if (a > b)
        {
            printf("猜大了\n");
        }
        else
        {
            printf("恭喜你!猜对了!答案是%d\n", b);
            break;
        }
    }
}
int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));//使产生的随机数发生变化
    do
    {
        menu();
        printf("please choose :>");
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            game();
            break;
        case 0:
            printf("退出游戏");
            break;
        default:
            printf("输入错误请重新输入\n");
            break;
        }
    } while (input);
    return 0;
}

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是分支结构的重要知识点和运用小技巧: 1. if语句的使用:if语句是最基本的分支结构,通过它可以实现简单的条件判断。if语句的基本语法为:if(条件表达式){语句或语句块},其,条件表达式的结果为真时,执行后面的语句或语句块。 2. 多重if语句的使用:多重if语句可以实现多个条件的判断,其基本语法为:if(条件表达式1){语句或语句块1}else if(条件表达式2){语句或语句块2}...else{语句或语句块n},其,条件表达式1为真时执行语句或语句块1,条件表达式2为真时执行语句或语句块2,以此类推,如果所有条件都不为真,则执行else后面的语句块。 3. 嵌套if语句的使用:嵌套if语句可以实现更为复杂的条件判断,其基本语法为:if(条件表达式1){if(条件表达式2){语句或语句块1}else{语句或语句块2}}else{语句或语句块3},其,条件表达式1为真时执行内层if语句,条件表达式2为真时执行语句或语句块1,否则执行语句或语句块2;如果条件表达式1为假,则执行语句或语句块3。 4. switch语句的使用:switch语句可以实现多个选项的判断,其基本语法为:switch(表达式){case 常量1: 语句或语句块1; break; case 常量2: 语句或语句块2; break; ... default: 语句或语句块n; break;},其,表达式的值与各个常量进行比较,如果匹配,则执行相应的语句或语句块,如果没有匹配,则执行default后面的语句块。 5. 运用小技巧:在编写分支结构的代码时,可以使用布尔运算符、逻辑运算符和比较运算符等来简化代码。同时,在使用if语句和switch语句时,可以使用break语句来跳出循环,从而提高代码的效率和可读性。 希望以上信息能够对您有所帮助。如果您有更多问题,可以随时向我提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Lzc217

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

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

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

打赏作者

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

抵扣说明:

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

余额充值