C语言中的运算符大全(内附优先级表) 您所在的位置:网站首页 c语言所有类型 C语言中的运算符大全(内附优先级表)

C语言中的运算符大全(内附优先级表)

2024-07-02 07:26| 来源: 网络整理| 查看: 265

C语言中的运算符 总述 由一个或多个操作数(变量,常量,字面值)及运算符组成的复合C语言规则的式子叫做表达式表达式经由计算得到的结果称为表达式的值C语言中可以分为左值和右值: 左值:可以写的内存块(变量)。 右值:可以读的内存块(变量,常量,字面值)。C语言中的运算符包括: 算术运算符:+ (加) , - (减) ,* (乘) ,/ (除) ,%(取余,模运算) ,++ (自增) ,–(自减) 关系运算符:>(大于) ,=(大于等于) ,>,, int printf("%f\n", c); // 3.000000 c = (double)a/b; printf("%f\n", c); // 3.333333c = 1.0*a/b; printf("%f\n", c); // 3.333333

/ 除法运算符 和 % 取余运算符 的右操作数不能为0。 % 取余运算符:取余运算要求左右操作数必须为整数。C语言中取余运算结果的符号由左操作数决定。

printf("%d\n", 5%3); // 2 printf("%d\n", 5%-3); // 2 printf("%d\n", -5%3); // -2 printf("%d\n", -5%-3); // -2

C语言与Python对于负数取余结果是不一致的,原因是C语言与Python在处理整除运算时取值方向不一致,C向0取整,Python向负无穷取整。 **1.2 ** ++称之为自增运算符、–称之为自减运算符,都属于一元运算符。 拿++举例:(–规则与++相同) 前自增(前加加):++操作数先在操作数自身基础上自加1,再取操作数的值。 后自增(后加加):操作数++先取操作数的值,再在操作数自身基础上自加1。

int i = 0;printf("%d\n", ++i); // 1 printf("%d\n", i); // 1 i = 0; printf("%d\n", i++); // 0 printf("%d\n", i); // 1

在同一个表达式中,不要多次对一个变量进行自增操作,最好保证一个表达式中涉及到自增操作的变量只出现一次。(不要出现这种表达式:++i + ++i + i++)

二、赋值运算符

**2.1 简单赋值运算符 ** =(简单赋值运算符),是一个二元运算符。 优先级很低(倒数第二低,除了逗号运算符,赋值运算符最低)。结合性从右到左。

int a, b;b = a = 10; printf("%d\n", a); // 10 printf("%d\n", b); // 10

2.2 复合赋值运算符 op=(op表示算术运算符及位运算符)(+=、-=、%=…)a+=3; // 表示在a自身基础上自加3 a = a + 3;

三、关系运算符

>(大于)、=(大于等于)、 假 假 && 真 -> 假 假 && 假 -> 假 || 逻辑或 真 || 真 -> 真 真 || 假 -> 真 假 || 真 -> 真 假 || 假 -> 假 ! 逻辑非 !真 -> 假 !假 -> 真

int num; scanf("%d", &num);// [1,99] printf("%d\n", num>=1 && num=1 && num 0 1 ^ 1 -> 0 0 ^ 1 -> 1 1 ^ 0 -> 1 异或特性:一个数a位异或另外一个数b两次,结果还是这个数a本身。交换两个元素的值: ** 6.2 **位移运算符 (位右移) 位移:将操作数的每一位向左(或向右)移动指定位数。位移运算符通常操作对象是无符号整形。位移运算符要求两个操作数都必须是正数。 *


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有