第二章:c语言中的表达式和运算符

ops/2024/10/25 16:29:43/
三、表达式和运算符
理解:表达式由字面值、变量、运算符组成的式子,通常有一个结果。
  1. 算术运算符

    运算符含义举例结果
    +正号运算符+aa的值
    -符号运算符-aa的负数值
    +加法运算符a+ba和b相加
    -减法运算符a-ba和b相减
    *乘法运算符a*ba和b的乘积
    /除法运算符a/ba除以b
    %取模(求余数)a%ba除以b对应的余数
    注意:
    (1) 优先级:先乘除、后加减,求余运算符和乘除同级
    (2) 结合性均为"左结合性",即同优先级的算术运算符按照 "从左往右" 进行
    
    注意:
    (1) 两个类型相同的操作数进行运算,其结果类型与操作数类型相同例如: 7/4  的结果为 1
    (2) 不同类型的数据要先转换成同一类型,然后进行计算,规则如下:char/short -> int -> unsigned -> long -> doublefloat -> double
    
  2. 自增、自减 运算符

    运算符含义举例结果
    ++自增a++ / ++aa变量自身加1
    自减a-- / – aa变量自身减1
    注意:
    (1) a++; / ++a; : 都是满足对a变量结果加1a--; / --a; : 都是满足对a变量结果减1
    (2) 对于表达式,前置 和 后置的区别: 【考试高频】int c = a++; // 先使用a的值,再对a进行加1 (先使用,再加1)int c = ++a; // 先对a自身加1,再使用a的值 (先加1,再使用)
    
  3. 赋值运算符

    赋值运算符运算符含义
    =赋值
    +=a+=2; 对a变量值加2
    -=a-=3; 对a变量值减3
    *=a*=5; 对a变量值乘5
    /=a/=2; 对a变量值除以2
    %=a%=3; 对a变量值取3对应的余数
  4. 关系运算符

    关系运算符运算符含义
    >大于
    > =大于等于
    <小于
    <=小于等于
    ==等于
    !=不等于
    注意:关系表达式的运算结果有两种:"真" 或是"假",关系成立-真-用1表示;关系不成立-假-用0表示
    例如:printf("%d",3>5); // 结果为:0
    
  5. 逻辑运算符

    逻辑运算符运算符含义
    &&逻辑与,两边同时为真,结果为真
    ||逻辑或,两边只要有一边为真,结果就为真
    !逻辑非,在结果上取反
    优先级,从高到低:!(逻辑非) -> &&(逻辑与) -> ||(逻辑或) 
    
  6. 条件运算符(三元运算符)

    条件运算符条件运算符含义
    关系表达式?表达式1:表达式2关系成立,结果为真,则执行表达式1,否则执行表达式2
    例如: int a = 5>8 ? 100:50; // 结果为 a=50
    

http://www.ppmy.cn/ops/8352.html

相关文章

web自动化系列-selenium的3种弹框操作(十二)

在进行功能测试时 &#xff0c;经常会遇到出现各种的弹出的提示 &#xff0c;比如删除数据给出提示 、做某个操作时也会弹框给出一些友好提示 &#xff0c;因为这些弹框都是做web操作时的一些常用组件 &#xff0c;所以&#xff0c;selenium就不得不支持这些组件 。 1.弹框介绍…

小球反弹(蓝桥杯)

文章目录 小球反弹【问题描述】答案&#xff1a;1100325199.77解题思路模拟 小球反弹 【问题描述】 有一长方形&#xff0c;长为 343720 单位长度&#xff0c;宽为 233333 单位长度。在其内部左上角顶点有一小球&#xff08;无视其体积&#xff09;&#xff0c;其初速度如图所…

03-JAVA设计模式-命令模式

命令模式 什么是命令模式 命令模式&#xff08;Command Pattern&#xff09;是一种行为设计模式&#xff0c;它将请求封装为对象&#xff0c;从而使你可用不同的请求把客户端与请求的处理者解耦,也称动作模式或事物模式。 在命令模式中&#xff0c;命令对象封装了接收者对象…

JS stacktrace 堆内存耗尽

javascript 堆内存耗尽 问题 是 npm run dev 的时候 报错 如下 <--- JS stacktrace --->FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory在大多数情况下&#xff0c;默认情况下 Node.js 的堆内存…

基于SSM+Jsp+Mysql的文物管理系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

2024.4.19作业

1.总结二进制信号量和计数型信号量的区别&#xff0c;以及他们的使用场景。 二进制信号量只有0和1两个状态&#xff0c;如果信号被一个线程接收&#xff0c;那别的线程就无法接收此信号 计数型信号可以累计&#xff0c;可以被多个线程接收 2.使用计数型信号量完成生产者和消费…

千锤百炼之算法Scanner和System.out引起超时解决办法

题外话 觉得这个内容还是很关键的,过来写一下吧 本次内容有点抽象大家试着听一下 正题 做过算法题的人都知道,无论是在力扣还是牛客或者别的网站刷题,很多情况下都会遇到输入输出的情况,当我们用Scanner和System.out.print()就有可能产生超时问题 如下图 接下来会有一段代…

vue-router学习2:路由导航方式

声明式导航 声明式导航方式在Vue Router中主要通过<router-link>组件来实现&#xff0c;它允许你直接在模板中创建导航链接&#xff0c;而无需编写额外的JavaScript代码。以下是一些常见的声明式导航方式及其示 1. 基本的导航链接 使用<router-link>组件&#x…