基本操作符(改一) 📅 发布时间:2026/9/7 19:29:33 👁 浏览次数: 一.单目操作符1.表正数【可略】2.-表负数3.1前置 ——先加再使用2后置 ——先使用后加4.- -1前置-- ——先减后使用2后置-- ——先使用后减5.取地址操作符用于打印地址查找地址printf(%p,a)6.sizeof1定义sizeof 是 C语言中的一个关键字也是一个一元操作符专门用来计算数据类型/变量/表达式的长度单位是字节2语法sizeof(类型)sizeof表达式打印时要用%zu打印printf(%zu,sizeof(类型))3特点sizeof计算的是占用内存大小不是字符串长度sizeof会将字符串末尾的\0计算在内sizeof的返回值返回的是字节数sizeof后的中的表达式是不赋值的二.算数操作符1.正常加法计算2.-正常减法运算3.*正常乘法运算4./1两边为整数——整数除法精确不到小数2至少一个是小数——小数除法精确到小数5.%求余数得到两数相除后的余数1可用来算一个整数的最后一位2负数的求模结果的 / -号由第一个运算符的 / -号决定三.赋值操作符1.常规2.连续赋值从右向左依次赋值3.特殊表达四.复合赋值即 /- 在 前五.强制类型转换注强制转化会导致数据丢失1基本形式类型 变量(想转化成的类型)想转化的值2示例六.关系操作符用于比较的表达式注“是赋值”才是等于符号意义大于小于大于等于小于等于等于!不等于关系表达式返回的是0假/ 1真常用在if/while语句中注关系操作符不能连用在C语言中关系操作符如、、等不能像数学中那样连续使用。例如数学表达式 0 a 10 在C语言中会被解释为 (0 a) 10。首先计算 0 a得到一个布尔值0或1然后将这个布尔值与10进行比较这通常不是程序员的意图会导致逻辑错误。正确的写法应该是使用逻辑操作符见下文连接两个关系表达式0 a a 10。七.条件操作符三目操作符注exp指表达式exp1?exp2:exp3运行逻辑exp1exp2exp3为真执行不执行为假不执行执行exp1为真exp1为假八. 逻辑操作符1. 1定义指并且的意思两个操作数都为真非零时结果为真12真值表exp1exp2exp1 exp2假 (0)假 (0)假 (0)假 (0)真 (非0)假 (0)真 (非0)假 (0)假 (0)真 (非0)真 (非0)真 (1)3示例inta5,b10;if(a0b0){printf(a和b都大于0\n);}// 当a和b都大于0时条件为真2.||1定义指或者的意思两个操作数至少一个为真时结果为真12|| 真值表exp1exp2exp1 || exp2假 (0)假 (0)假 (0)假 (0)真 (非0)真 (1)真 (非0)假 (0)真 (1)真 (非0)真 (非0)真 (1)3示例intscore85;if(score90||score60){printf(成绩优秀或不及格\n);}// 当score90或score60时条件为真3.1定义逻辑取反运算符对操作数取反真变假0假变真12! 真值表exp!exp假 (0)真 (1)真 (非0)假 (0)3示例intflag0;if(!flag){printf(flag为假取反后条件为真\n);}// 当flag为0时!flag为真4. 短路求值这是逻辑操作符的一个重要特性能提升效率并避免错误 (逻辑与)如果第一个操作数为假0则整个表达式结果已确定为假不会计算第二个操作数。|| (逻辑或)如果第一个操作数为真非0则整个表达式结果已确定为真不会计算第二个操作数。九.下标引用操作符([ ])在数组中使用1格式arr_name[要引用的该数组内元素的下标]2用法举例