C语言中的运算符和表达式

 2024-02-22 05:02:35  阅读 0

表达式是C语言的主体。 C语言的表达式很简单也很简单,但基础知识是最重要的。 就像盖房子一样,基础知识就像地基。 基础打不好,一切都会失败。 都是废话。

1、表达式的构成:

表达式由运算符和操作数组成。 表达式可以只包含一个操作数或一个不带操作符的变量名(可分为基本表达式和常量表达式),如98、'g'、“ags”,表达式根据不同可分为简单表达式和复杂表达式操作员的数量。 简单表达式仅包含一个运算符,复杂表达式包含两个或多个运算符。

一个表达式可以由多个较小的表达式组成,称为子表达式。 例如,表达式b×c是表达式a+b×c的子表达式。

2、表达式的作用:

表达式本身不执行任何操作,它只是返回结果值。 如果程序不对表达式执行任何操作,则表达式将失去其含义。

表达式一般在以下两种情况下生效:

1. 赋值,放在赋值语句的右侧。

2. 将其放入函数的参数中。

任何表达式都会产生一个值,当然这个值必须有一个类型(两个属性:value和type),因为在C语言中任何值都必须有一个对应的类型。

3. 操作员优先级:

其实运营商的优先级不难知道。 例如,乘法和除法的优先级高于加法和减法。 每个人在学习数学的时候都会接触到它,除非你数学不好到一定程度。 当然,下面的逻辑运算符也有优先级。 如果实在不清楚,可以使用括号。 我不会在这里解释它们。

4.算术运算符:

算术运算符包括两个一元运算符、五个双目运算符、两个一元运算符(+、-)。 我就不做过多的介绍了。 没人知道正负,除非你小学没毕业,而这五个双目运算符(+、-、×、/、%),主要说的是%(模数),这不是数学百分号,这里是模数,例如8%6=1,实际上是8除以6的余数。

5、自增和自减运算符:

自增(++)、自减(––)、自增、自减加1,不能是其他数字,并且自增、自减分为前缀和后缀,放置在在变量前面作为前缀,比如整型变量i,前缀是++i,后缀是在i后面。

前缀和后缀的区别:

表达式内部,作为运算的一部分,如果将​​运算符放在变量前面,则在参与表达式运算之前完成自增或自减,如int i=1; int值=++i; 完成这两句代码,value的值为2。如果运算符放在最后,那么加上表达式后就完成了自增自减操作,上面改为value=i++; 那么这段代码完成后value的值还是1,然后我自动加1。

6.关系运算符:

关系运算符一共有六种,分别是小于<、大于>、大于等于>=、小于等于<=、等于==、不等于!=,它们的范围值为所有布尔值,即真或假,0为假,非零位为真。 这里不多做介绍。

7、逻辑表达式:

很多时候,我们需要语句满足多个条件才可以执行。 这时候就必须将多个语句组合在一起,于是逻辑运算符就发挥了作用,由逻辑运算符组成的表达式就变成了逻辑表达式。 共有三个逻辑运算符(&& AND、|| OR、! NOT)。

(条件表达式)&& (条件表达式)&&...,逻辑AND 仅当两边都为真时,结果才为真。

逻辑或||,只要两边之一为真,结果就为真。

逻辑! ,很简单,真就是假,假就是真。

逻辑表达式主要用于条件语句和循环语句。

8. 位运算符:

C语言中的按位运算符包括按位与(&)、按位或(|)、按位异或(Λ)、按位求反(~)、左移(<<)、右移(>>)。

按位与:1&1=1、1&0=0,只有两者都为1时结果才为1,如1011&1100=1000。

按位或:1 | 1 = 1, 1 | 1 = 1, 1 | 0 = 0, 0 | 0 = 0, 0 | 0 = 0,只要其中之一为1,结果就是1,如1011 | 1100 = 1111。

按位异或:1 Λ 1 = 0, 1 Λ 0 = 1, 0 Λ 0 = 0。只有两边不同时结果才为真,如 1011 Λ1000 = 0011。

按位取反:即1变成0,0变成1,比如~1011=0100。

左移<<:a<<n,将a的二进制数左移n位,左移与操作数符号无关,如<<3=,右侧空出的位置为填充0。

右移>>:a>>n,将a的二进制位右移n位。 右移与操作数的符号有关。 如果符号位为1(负数),则右移留下的空位补1,如>>3=,正数加0,如>>3=。

九:逗号运算符:

在C语言中,多个表达式可以用逗号分隔。 逗号也是一个运算符。 它的本质就是将多个表达式组合在一起,然后从左到右一一操作,最后将右边的值赋值给等号左边的变量,如int a=2,b=8 ; int值=a+b,a×b,b/a; 由于=的优先级高于逗号运算符,因此value本质上直接等于a+b= 10。然后程序将继续计算a×b和b/a。 若加上括号value=(a+b,a×b,b/a); 那么数值结果将是b/a=4。

10.复合赋值运算符:

复合赋值运算符实际上是一种简写形式,可以使更改变量更加简洁。 如+=、-=、*=、/=、%=、&=、<<=、>>>=等。实际上,a+=b等价于a=a+b。 其他的都一样,只是把加法换成了 其他运算符,赋值运算符和复合赋值运算符的区别主要有两点: 1、为了简化程序,让程序更加简洁。 ②.为了提高编译效率。 因为a+=b比a=a+b多了一次计算。

11. 运营商:

该运算符用于计算字节数。 不同的计算机数据类型的长度是不同的。 为了测量计算机数据类型的长度,算子应运而生。 例如,在32位机器上(int) = 4,当然包括括号。 你也可以在 中说表达式(表达式)。 其他的基本都是一样的,就不详细介绍了。

12. 分隔符:

顾名思义,定界符是C语言中用来区分或定界不同数据对象的。 分隔符在语句中广泛使用。 它们分为单个分隔符和组合分隔符。 单分隔符是除下划线、数字和字母之外的 ASCII 字符。 。

单个分隔符,例如','(char a, b)、'#'(预处理指令#)、'*'(代表指针 int *p)等。

伪指令中的伪字表示它既不控制机器的操作,也不将其汇编成机器代码。 它的作用只是告诉汇编器如何汇编指令。 算了,就不多介绍了,毕竟涉及到汇编知识。

组合分隔符是除下划线、数字和字母之外的多个 ASCII 字符的组合。 如>=、+=等。

标签: 表达式 运算 操作

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码