2-C语言的运算符和表达式

语句:A=B;

表达式:A=B

两者区别就是有没又分号

运算符

1.算术运算符
  • + (加法)

  • - (减法)

  • * (乘法)

  • / (除法)

  • % (取模,即求余数)

  • ++ (自增,使变量值增加1)

  • -- (自减,使变量值减少1)

注意:整数相除结果会是整数,如果想要得到一个实型(浮点型)可以在最前面*1.0进行类型转换。

注意:%(取余)符号,在C语言中要求两个操作数都是整数,并且不能对0进行取余操作。

常见错误

  1. 除以零:尝试除以零会导致运行时错误。

  2. 整数除法:当两个整数相除时,结果也是整数,小数部分会被截断。

  3. 自增自减位置i++++i 的区别,前者是后增,后者是前增。

2.逻辑运算符

逻辑运算符用于表示程序中的逻辑关系,主要有以下几种:

  • ! (逻辑非):用来表示逻辑上的取反。

    • 用法示例:!(1 > 0) // 表示对表达式的结果进行取反操作。如果表达式为真,则取反为假;如果为假,则取反为真。
  • && (逻辑与):用来表示逻辑上的"并且"。

    • 用法示例:1 > 0 && 1 > 2 // 表示两个式子中只要有一个式子逻辑不成立,那么整个表达式就为假。
  • || (逻辑或):用来表示逻辑上的"或者"。

    • 用法示例:1 > 0 || 2 > 0 // 表示两个式子中只要有一个式子的逻辑成立,那么整个表达式就为真。

注意事项

  • 惰性运算(Short-circuit evaluation):在逻辑运算中,如果可以通过部分表达式提前知道整个表达式的结果,那么剩余的表达式就不会再进行计算。这种操作称为惰性运算。

    • 逻辑或(||):如果第一个表达式为真,则不再计算第二个表达式,因为整个表达式的结果已经确定为真。

    • 逻辑与(&&):如果第一个表达式为假,则不再计算第二个表达式,因为整个表达式的结果已经确定为假。

这种特性在编写程序时非常有用,特别是当你需要避免在已知结果的情况下执行可能引发错误的代码时。例如,你可以在访问对象成员之前检查对象是否为null,从而避免空指针异常。

前缀自增和后缀自增的求值顺序在标准中有明确的规定,前缀自增会先于后缀自增执行。

cpp 复制代码
#include<stdio.h>
int main(){
    int i = 2;
    printf("%d\n",i++ + ++i);//6
    return 0;
}

//1.先执行++i->i变成3 i=再执行i++ 但是他是先计算,再自增,所以先执行**i++ + 3,**所以i++整体为3,所以结果是6.

3.位运算符

tips:判断一个数的二进制最低位是否为1

4.赋值运算符
5.复合赋值远算符
6.条件远算符

tips:C语言中怎么区分或者说辨别出表达式这种东西?

  1. 包含运算符 :如 +-*/ 等。

  2. 函数调用 :如 sqrt(9)

  3. 赋值语句 :如 a = 3

  4. 括号内的代码 :如 (2 + 2)

  5. 条件运算符 :如 a > b ? x : y

语句:A=B;

表达式:A=B

两者区别就是有没又分号

7.逗号运算符
8.指针运算符
9.自增运算符

......

其他
相关推荐
牧羊人.3332 分钟前
Python 办公自动化从入门到入土|09 数据容器之字典
开发语言·python
小僧景贤16 分钟前
嵌入式C语言 第二篇:基础语法|嵌入式C与标准C的核心差异
c语言·开发语言·嵌入式c语言
阿pin27 分钟前
Android随笔-AIDL
android·开发语言·aidl
LiLiYuan.1 小时前
【字符串常量池】
java·开发语言·面试
瑞码空间2 小时前
Python爬虫进阶实战笔记
开发语言·python·计算机·python爬虫
16月6日-晴2 小时前
Java面向对象进阶—static
java·开发语言
爱跳舞的烤冷面2 小时前
自学嵌入式第16天(数据结构篇--链表进阶操作)
开发语言
持敬chijing2 小时前
PHP开发-环境搭建-安装phpstudy-vscode工具
开发语言·vscode·php
charlie1145141912 小时前
Cinux · 第一次跳进 Ring 3:用户态与特权隔离
开发语言·c++·操作系统·开源项目
wuyk5553 小时前
1.栈:后进先出的线性数据结构
c语言·数据结构·stm32·单片机