语句分支与循环 (1)

1.if语句

        (1)样式:if(表达式)

                                语句1

                        else

                                语句2

        (2)else:和if搭配表示“if的表达之外的

                例子:输⼊⼀个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印数偶数。

#include <stdio.h>
int main()
{
        int num = 0;
        scanf("%d", &num);
        if(num % 2 == 1)
                printf("%d 是奇数\n", num);
        else
                printf("%d 是偶数\n", num);
        return 0;
}                                                           注意 :没有{}的时候只会执行一条语句,需要多条语句的时候要加上{}

        (3)嵌套if:构成多重判断

                ⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数

int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
        printf("输⼊的数字是0\n");
else if(num > 0)           这⾥的if 相当于嵌套在els语句中,形成了嵌套结构
        printf("输⼊的数字是正数\n");
else
        printf("输⼊的数字是负数\n");
return 0;
}

          (4)悬空else的问题:else遵循就近原则,与较近的if匹配,如果前面的if是假的就会不输出了;要是想将第一个if和后面的else匹配 可以将{}引入到中间的if中,将其变成嵌套

               

2,关系操作符

a == b;   
a != b;
a < b;
a > b;
a <= b;
a >= b;
通过表达式返回0/1表示真假
注意:(1) =是赋值,==才是相等的关系; (2) 避免一种错误:多个关系运算符不可以连用,比如a<b<c,系统会看成(a<b)<c,将前面的判断真假,再用真假去比较c,想要一个式子用多个关系就要用&&在中间连接。
3,条件操作符:也叫三目操作符(唯一一个)
        (1) exp1 ? exp2 : exp3
                        逻辑:如果exp1为真,运行exp2;如果假,运行exp3
                例如:
    int a = 0;
    int b = 0;
    scanf("%d %d", &a, &b);
    b = a > 5 ? 3 : -3;
    printf("%d\n", b);
    return 0;
4,逻辑操作符:&&,||,!
        
!:反运算符,改变真假
&&:并且(一个假就全假)
||:或者(一个真就全真)
短路: 从左到右判断,&&一旦判断到假就停止,||判断到真就停止。
        给出一串代码方便理解:
int main()
{
        int i = 0,a=0,b=2,c =3,d=4;
        i = a++ && ++b && d++;
        / = a++||++b||d++;
        printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
        return 0;
}      判断结果是:1234//1334
5,switch语句:判断多种情况
        例如:
switch (expression)
{
        case value1: statement
        case value2: statement
        default : statement         //如果找不到对应的值就进入default
}
(1)switch有开关的意思,可以形象的将其想象成一个开关,case是它对应的不同结果;
注意: 每个case后面都要有空格与数字连接,并且每个case语句执行完之后要加上break才可以跳出switch。
(2)switch语句中的default:
默认到不做处理的句子
(3)switch语句中case和default没有顺序问题;但是不可以在共同处理的case中插入default。
6,while循环:和if部分相似,但是可 以循环处理
(1)流程:判断表达式,表达式为0就结束,不为0就重复进行
(2)样式:while()
                {
                }
7,for循环
表达式:for(表达式1;表达式2;表达式3)
                语句
(1)表达式1:用于循环变量的初始化;
(2)表达式2:用于循环结束条件的调整;
(3)表达式3:用于循环变量的调整
  • 13
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值