C语言入门-2.运算符与表达式-3.选择、循环

运算符与表达式

算术运算符及算数表达式

%:取模运算符,返回值是余数而不是商。

关系运算符与关系表达式

1.关系表达式的值只有真和假。

2.0值代表假,非0值即为真

3.关系运算符的优先级低于算术运算符。

#include <stdio.h>

int main() {
    int a;
    while (scanf("%d",&a)){
        if(3<a && a<10){//不可以写成3<a<10
            printf("a is between 3 and 10 \n");
        }else{
            printf("a is not between 3 and 10 \n");
        }
    }
    return 0;
}

逻辑运算符与逻辑表达式

!逻辑非
&&逻辑与
||逻辑或

💦 逻辑非的优先级高于算术运算符,逻辑与与逻辑或的优先级低于关系运算符。

#include <stdio.h>
//判断闰年
int main() {
    int year;
    int i =1,j = 7;
    while (scanf("%d",&year)){
        if(year%4==0 && year%100!=0 || year%400==0){
            printf("%d is leap year\n",year);
        }else{
            printf("%d is not leap year\n",year);
        }
    }
    i =!! j;
    printf("i value = %d\n",i);
}
//输出
2024
2024 is leap year
2089
2089 is not leap year
m
i value = 1

短路运算 

#include <st0000000000dio.h>
//逻辑与 逻辑或 短路运算
int main() {
    int i = 0;
    i && printf("you can't see me!\n");//当i为假时,不会执行逻辑与后的表达式,成为短路运算
    i= 1;
    i || printf("you can't see me\n");//当i为假时,执行逻辑与后的表达式
    return 0;
}

赋值运算符

  1. 左值:能够出现在赋值符号左边的东西。右值反之。a = b + 16
  2. 复合赋值运算符 a += 3;

求字节运算符(sizeof)

用于求常量或变量所占空间大小。

!不是函数

选择、循环

关系表达式与逻辑表达式

👩‍💻 算术运算符的优先级高于关系运算符,关系运算符的优先级高于逻辑与、逻辑或运算符

双目运算符:左操作数+右操作数

单目运算符:!操作数

❓ 5 > 3 && 8 < 4 - ! 0

✅ (自左向右运算考虑短路运算) 5>3逻辑值为1 → !0逻辑值为1 → 4-1值为3 → 8<3逻辑值为0 → 1&&0逻辑值为0 (表达式值为0)

if-else语句

🥕 在if语句中的语句列表前后加上花括号,可以防止不小心加了一句代码后,使实际未被包含的语句被包含在某个if语句中的错误。

循环while\for,continue、break

while循环

“当型”循环结构。先判断表达式,后执行语句。

#include <stdio.h>
//计算1到100的和
int main() {
    int i = 1,total =0;
    while(i<=100){
        total += i;
        i++;
    }
    printf("total = %d\n",total);
}

for循环

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

⚠️ for循环中必须且只能有两个分号

continue语句

#include <stdio.h>
//计算1到100的和,只求奇数
int main() {
    int i,total;
    for (i = 1,total = 0;i<=100;i++) {
        if(i % 2 == 0){
            continue;//直接执行i++,后面语句不执行
        }
        total += i;
    }
    printf("total = %d\n",total);
}

在while循环中要谨慎使用continue。 

break语句

#include <stdio.h>
//计算1到100的和
int main() {
    int i,total;
    for (i = 1,total = 0;i<=100;i++) {
        if(total > 2000){
            break;
        }
        total += i;
    }
    printf("total = %d,i = %d\n",total,i);
}
//输出
total = 2016,i = 64
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Annabelle.02

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

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

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

打赏作者

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

抵扣说明:

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

余额充值