L-C-005 运算符

C语言中,较为关键的是运算符,在总体运行的过程中运算符往往可以对内部变量进行处理得到所需求的答案。其中运算符分为四类:
(对后续进行调整会进行字体颜色变更)

1. 算术运算符

算术运算符就是平常的加减乘除,其中除还附带了一个取余。
加(+)减(-)乘(*)除(/)(向左倾斜) 取余(%)

2. 逻辑运算符

关系运算符有大小于以及等号等等。
大于(>)小于(<)等于(==)
大于等于(>=) 小于等于(<=) 不等于(!=)

3. 关系运算符

关系运算符有与 或 非 三种 ,表示的是多个数据之间的关联性。
(以下返回值是按照变量类型来返回的)

  1. 与(&&)
    在两边的变量都为"是"的时候返回"是"或1,否则返回"否"或0

  2. 或(||)
    在两边的变量只要存在"是"的时候返回"是"或1,否则返回"否"或0

  3. 非(!)
    (只在右边添加变量)对右边的变量取反,如果右边的变量是"是"则,返回"否"或0,反之,返回"是"或1。

4. 赋值运算符

赋值运算符就是平常写的 =
(注意与上方的等号==区分开)
将右方的数值赋值给左边的变量。

5.优先级

运算符之间必须要存在先后顺序,否则很容易乱套。
首先,括号的优先级最高,也就是说可以用括号来强制改变运算顺序
然后,括号以下是 算术运算符>逻辑运算符>关系运算符>赋值运算符。
一般情况下如果记不太清楚的话可以上网翻查,或者直接加括号调整。

其实在实际情况中,除了上述运算符之外还存在一些其他的运算符,比如 自增、自减三目运算符、逗号表达式

在编程中,表达式 `!L->data` 通常出现在 C 或 C++ 语言里,这里的 `L` 一般是指向某个结构体的指针,而 `data` 是该结构体中的一个成员。`!` 是逻辑非运算符,用于对操作数取反。 `L->data` 是使用箭头运算符 `->` 来访问结构体指针 `L` 所指向结构体的 `data` 成员。`!L->data` 则是对 `L->data` 的值进行逻辑取反操作。 如果 `L->data` 是一个指针类型,当 `L->data` 为 `NULL`(也就是空指针)时,`!L->data` 的值为 `true`(在 C 语言里,通常用整数 `1` 表示);当 `L->data` 不为 `NULL` 时,`!L->data` 的值为 `false`(在 C 语言里,通常用整数 `0` 表示)。示例代码如下: ```c #include <stdio.h> #include <stdlib.h> typedef struct { int *data; } List; int main() { List *L = (List *)malloc(sizeof(List)); L->data = NULL; if (!L->data) { printf("L->data 是空指针\n"); } L->data = (int *)malloc(sizeof(int)); if (!L->data) { printf("L->data 是空指针\n"); } else { printf("L->data 不是空指针\n"); } free(L->data); free(L); return 0; } ``` 如果 `L->data` 是一个整数类型,当 `L->data` 的值为 `0` 时,`!L->data` 的值为 `true`(也就是 `1`);当 `L->data` 的值不为 `0` 时,`!L->data` 的值为 `false`(也就是 `0`)。示例代码如下: ```c #include <stdio.h> typedef struct { int data; } List; int main() { List L; L.data = 0; if (!L.data) { printf("L.data 的值为 0\n"); } L.data = 10; if (!L.data) { printf("L.data 的值为 0\n"); } else { printf("L.data 的值不为 0\n"); } return 0; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值