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.自增运算符

......

其他
相关推荐
Hx_Ma1610 分钟前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode1 小时前
原子操作类LongAdder
java·开发语言
极客数模1 小时前
【2026美赛赛题初步翻译F题】2026_ICM_Problem_F
大数据·c语言·python·数学建模·matlab
lly2024062 小时前
C 语言中的结构体
开发语言
JAVA+C语言2 小时前
如何优化 Java 多主机通信的性能?
java·开发语言·php
青岑CTF3 小时前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php
Li emily3 小时前
如何通过外汇API平台快速实现实时数据接入?
开发语言·python·api·fastapi·美股
APIshop4 小时前
Java 实战:调用 item_search_tmall 按关键词搜索天猫商品
java·开发语言·数据库
血小板要健康4 小时前
Java基础常见面试题复习合集1
java·开发语言·经验分享·笔记·面试·学习方法
淼淼7634 小时前
安装jdk1.8
java·开发语言