初学C语言——操作符

操作符

C语言中操作符是用于执行各种操作的符号

1.算术操作符

用于执行基本的数学运算,如加法(+)、减法(-)、乘法(*)、除法(/)和取模(%)

#include <stdio.h>

int main()
{
    int a = 9 / 2;
    printf("a=%d\n", a);

    float b1 = 9 / 2;
    printf("b1=%f\n", b1);//输出4.000000,没有小数点后面

    float b2 = 9 / 2.0;//改为2.0即可
    printf("b2=%f\n", b2);

    int c = 9 % 2;//% - 取模(余数)
    printf("c=%d\n", c);

    return 0;
}

打印:

 

2.关系操作符

用于比较两个值,如等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)

3. 逻辑操作符

用于执行逻辑运算,如逻辑非(!)、逻辑与(&&)、逻辑或(||)

 

#include <stdio.h>

int main()
{
    int a = 3;
    int b = 5;
    int c = a && b; //&& - 逻辑与
    printf("%d\n", c);

    int x = 3;
    int y = 0;
    int z = x || y; //|| - 逻辑或
    printf("%d\n", z);

    return 0;
}

&& - 左右两边为真(1),则输出为真(1)

        左右两边为假(0),则输出为假(0)

||  -  左右两边为真,则输出为真

        左右两边有一个为假,则输出也为真

        左右两边都为假,则输出为假

打印:

 

 4. 位操作符

用于对位进行操作,如位非(~)、位与(&)、位或(|)、位异或(^)、位左移(<<)、位右移(>>)

#include <stdio.h>

int main()
{
    int a = 2;
    int b = a << 1;//<< - 左移操作符 - 移动的是二进制位
    printf("%d\n", b);

    return 0;
}

a = 2

2 的二进制  0010        左移一格  0100  为 4

打印:

 

 5. 赋值操作符

用于赋值操作,如简单赋值(=)、加法赋值(+=)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)、取模赋值(%=)、位与赋值(&=)、位或赋值(|=)、位异或赋值(^=)、位左移赋值(<<=)、位右移赋值(>>=)

int a = 5;

a = a + 5; 或 a += 5;//=  赋值
同理 a = a - 3; 或 a -= 3;
        a = a % 3; 或 a %= 3;

 6. 条件操作符(三目操作符)

用于基于条件执行操作

格式为 `表达式1 ? 表达式2 :表达式3`

                exp1   ?  exp2   :exp3

exp1 成立,exp2 计算,整个表达式的结构是:exp2 的结果

exp1 不成立,exp3 计算,整个表达式的结构是:exp3 的结果

#include <stdio.h>

int main()
{
    int a = 0;
    int b = 3;
    int max = 0;

    max = a > b ? a : b;

    printf("max=%d\n", max);

    return 0;
}

打印:

 

 

7. 逗号操作符

用于顺序执行表达式,逗号隔开的一串表达式

#include <stdio.h>

int main()
{
    int a = 0;
    int b = 3;
    int c = 5;
    
    int d = (a = b + 2, c = a - 4, b = c + 2);

    printf("d=%d\n", d);

    return 0;
}

 //逗号表达式,是从左往右依次计算

 //整个表达式的结果是最后一个表达式的结果

打印:

 

 8.单目操作符

单目操作符是指只对一个操作数进行操作的运算符,如逻辑非操作符 (!),一元正操作符 (+) (-),递增操作符 (++) (--),地址操作符 (&),sizeof操作符

逻辑非操作符 (!)  -  把真变假,把假变真

#include <stdio.h>

int main()
{
    int a = 10; // 10不=0,为真(1)

    printf("a=%d\n", !a);

    return 0;
}

打印:

 

 

9.sizeof操作符

返回数据类型或变量的大小(以字节为单位)

#include <stdio.h>

int main()
{
    int arr[10] = { 0 };//int 整形4个字节
    printf("%d\n", sizeof(arr));//arr 有10个元素  sizeof(arr)计算数组的大小
    printf("%d\n", sizeof(arr[0]));//arr[0]中的第一个字节,字节大小为 4

    int sz = sizeof(arr) / sizeof(arr[0]);
    printf("%d\n", sz);

    return 0;
}

打印:

10. 强制类型转换操作符(不推荐)

将表达式转换为指定的类型

#include <stdio.h>

int main()
{
    int a = 3.14;
    
    //3.14为double型,不属于int型
    //int a = (int) 3.14;//强制类型转换
    
    printf("%d\n", a);

    return 0;
}

打印:

 

  • 43
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值