keil_C_运算符和表达式

合集下载

KeilC的运算符

KeilC的运算符

Keil C的运算符一、算术运算符:执行算术运算功能的操作符号。

表1:算术运算符符号功能范例说明+ 加A=x+y 将x与y的变量的值相加,其和存入A变量- 减B=x-y 将x变量的值减去y变量的值,其差存入B变量* 乘C=x*y 将x与y的变量的值相乘,其积存入C变量/ 除D=x/y 将x变量的值除以y变量的值,其商数存入D变量% 取余数E=x%y 将x变量的值除以y变量的值,其余数存入E变量二、关系运算符:处理两个变量的大小关系表2:关系运算符符号功能范例说明== 相等X==y 比较x与y变量的值是否相等,相等则其结果为1,否则为0!= 不相等X!=y 比较x与y变量的值是否相等,不相等则其结果为1,否则为0 > 大于X>y 若x变量的值大于y变量的值,其结果为1,否则为0< 小于X<y 若x变量的值小于y变量的值,其结果为1,否则为0>= 大于等于X>=y 若x变量的值大于或等于y变量的值,其结果为1,否则为0<= 小于等于X<=y 若x变量的值小于或等于y变量的值,其结果为1,否则为0三、逻辑运算符表3:逻辑运算符符号功能范例说明& 与运算(x>y)&&(y>z)若x变量的值大于y变量的值,且y变量的值大于z变量的值,其结果为1,否则为0|| 或运算(x>y)||(y>z)若x变量的值大于y变量的值,或y变量的值大于z变量的值,其结果为1,否则为0! 非(反向)运算!(x>y)若x变量的值大于y变量的值,其结果为0,否则为 1 四、布尔运算符表4:布尔运算符符号功能范例说明& 按位与运算A=x&y 将x与y变量的每个位进行AND运算,其结果存入A变量| 按位或运算B=x|y 将x与y变量的每个位进行OR运算,其结果存入B变量^ 异或运算C=x^y 将x与y变量的每个位进行XOR运算,其结果存入C变量~ 取反运算D=x~y 将x变量的值进行NOT运算,其结果存入D变量<< 左移E=x<<n 将x变量的值左移n位,其结果存入E变量>> 右移F=x>>n 将x变量的值右移n位,其结果存入F变量五、赋值运算符表5:赋值运算符符号功能范例说明= 赋值A=x 将x变量的值存入 A+= 加法赋值B+=x 将B变量的值与x变量的值相加运算,其和存入B,等同于B=B+x -= 减法赋值C-=x 将C变量的值减去x变量的值运算,差值存入C,等同于C=C-x*= 乘法赋值D*=x 将D变量的值与x变量的值相乘运算,积存入D,等同于D=D*x/= 除法赋值E/=x 将E变量的值除以x变量的值运算,商数存入E,等同于E=E/x%= 取余赋值F%=x 将F变量的值除以x变量的值运算,余数存入F,等同于F=F%x&= 逻辑与赋值G&=x 将G变量的值与x变量的值逻辑与运算,结果存入G,等同于G=G&x |= 逻辑或赋值H|=x 将H变量的值与x变量的值逻辑或运算,结果存入H,等同于H=H|x ^= 逻辑异或赋值I^=x 将I变量的值与x变量的值逻辑异或运算,结果存入I,等同于I=I^x <<= 逻辑左移赋值J<<=n 将J变量的值左移n位,结果存入J ,等同于J=J<<x>>= 逻辑右移赋值K>>=n 将K变量的值右移n位,结果存入K,等同于K=>>x六、自增/减运算符符号功能范例说明++ 自加1 X++ 执行运算后,再将x变量的值加 1-- 自减 1 X-- 执行运算后,再将x变量的值减 1。

C语言基本运算符与表达式

C语言基本运算符与表达式

短路求值
在逻辑与和逻辑或运算中,如果 根据前面的操作数已经可以确定 整个逻辑表达式的结果,则后面 的操作数将不会被求值,这种特
性称为短路求值。
逻辑运算注意事项
逻辑运算符的优先级
在使用逻辑运算符时,需要注意它们 的优先级。为了避免出错,可以使用 括号来明确表达式的运算顺序。
逻辑运算符的短路特 性
在编写程序时,可以利用逻辑运算符 的短路特性来提高程序的效率。但是 ,也需要注意这种特性可能会导致一 些潜在的问题,比如在逻辑或运算中 ,如果第一个操作数为真,则整个表 达式的结果为真,此时第二个操作数 将不会被求值,这可能会导致一些错 误没有被发现。
逻辑运算优先级
在复杂的表达式中,需要注意逻辑 运算符的优先级问题,必要时可以 使用括号来改变运算顺序。
05
逻辑运算符与表达式
逻辑运算符及其功能
01
02
03
逻辑非(!)
对操作数的逻辑值取反。 如果操作数为真,则结果 为假;如果操作数为假, 则结果为真。
逻辑与(&&)
当且仅当两个操作数都为 真时,结果才为真。
赋值运算符
用于将右侧的值赋给左侧的变量,如等 于号(=)及其扩展赋值运算符(+= 、-=、*=、/=、%=等)。
条件运算符
也称为三目运算符,用于根据条件选择 值,其格式为“条件 ? 值1 : 值2”。
逗号运算符
用于将多个表达式组合在一起,从左到 右依次执行,并返回最右侧表达式的值 。
运算符优先级和结合性
小于(<)
判断左操作数是否小于右操作数,如果是,则结果为真 (1),否则为假(0)。
大于等于(>=)
判断左操作数是否大于或等于右操作数,如果是,则结 果为真(1),否则为假(0)。

C51运算符和表达式

C51运算符和表达式

1.4关系运算符
关系运算符用于判断某个条件是否满足,条件满足结果 为1,条件不满足结果为0。
C51支持的关系运算符有:>(大于)、<(小于)、>= (大于等于)、<=(小于等于)、==(等于)和!=(不 等于)。其中前4种是高优先级,后2种是低优先级。
用关系运算符将2个表达式连接起来的式子称关系表达式, 关系表达式的格式如下:
1.2 算术运算符
由算术运算符将运算对象连接起来的式子称算术表达式, 算术表达式的格式如下:
表达式1 算术运算符 表达式2 各算术运算符的优先级参见表3-7,计算时按“从左至右”
的结合方式,即相同优先级算术运算符按照从左至右原则。
运算符 + - * / %
功能 加或取正 减或取负
乘 除 取余
举例 19+23、+7 56-41、-9
13*15 5/10=0、5.0/10.0=0.5
9%5=4
1.3 增减运算符
增减运算符是单目运算符,它对运算对象加1或减1操作 后回存至自身。增减运算符参见表3-5。增减运算符运算 对象只能是变量,不能是常数或表达式。
运算符 ++ ――
功能 自加1 自减1
举例 ++i:先执行i+1,再使用i值 i++:先使用i值,再执行i+1 ――i:先执行i-1,再使用i值 i――:先使用i值,再执行i-1
1.9 条件运算符
条件运算符(?:)是一个三目运算符。其一般格式如 下: 逻辑表达式?表达式1:表达式2
条件运算符先计算逻辑表达式,若其值为真(或非0值), 将表达式1作为整个条件表达式的值;若其值为假(或0 值),将表达式2作为整个条件表达式的值。 如:max = (a > b)?a : b, 执行结果是将a和b中较大的值赋值给变量max。

keilc语言 10进制写法

keilc语言 10进制写法

keilc语言 10进制写法一、概述Keilc语言是一种广泛应用于嵌入式系统开发的编程语言,它支持多种数据类型和语法结构。

在Keilc语言中,数值的表达方式有两种:十进制和二进制。

在本篇文章中,我们将介绍如何在Keilc语言中使用十进制写法。

二、十进制数的表示方法在Keilc语言中,十进制数的表示方法与常规的数学表示方法相同。

可以直接使用阿拉伯数字进行表示,例如:123、4567、890123等。

需要注意的是,当需要表示较大的数时,可以使用科学计数法,例如:1.23e+3、4.56e-5等。

三、十进制数的运算在Keilc语言中,可以进行常规的十进制数运算,如加减乘除、开方、平方等。

在进行运算时,需要确保参与运算的数都是十进制数。

同时,在进行运算时,需要注意数据类型转换的问题,确保运算结果的正确性。

四、常见问题及解决方法在使用十进制数时,可能会遇到一些常见的问题,如数据类型不匹配、数值超出范围等。

针对这些问题,可以采取以下解决方法:1.确保参与运算的数都是十进制数,避免出现二进制数或其他数据类型的数值。

2.在进行大数运算时,使用科学计数法可以避免数值溢出。

3.遇到数值超出范围的问题时,可以尝试使用浮点数类型或更高精度的数值类型。

五、示例代码下面是一个使用十进制数进行运算的示例代码:```c#include<stdio.h>intmain(){inta=123;//十进制整数变量a的声明和初始化intb=4567;//十进制整数变量b的声明和初始化floatresult;//声明一个浮点数变量用于存储运算结果result=a+b;//使用加法运算符进行运算printf("a+b=%d\n",result);//输出结果result=a-b;//使用减法运算符进行运算printf("a-b=%d\n",result);//输出结果result=a*b;//使用乘法运算符进行运算printf("a*b=%f\n",result);//使用浮点数类型输出结果(注意精度问题)return0;}```六、总结在本篇文章中,我们介绍了如何在Keilc语言中使用十进制数进行表示和运算。

c语言运算符及其表达式

c语言运算符及其表达式

c语言运算符及其表达式(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--C语言的数据类型运算符表达式1.基本数据类型基本数据类型最主要的特点是,其值不可以再分解为其它类型。

也就是说,基本数据类型是自我说明的。

2.构造数据类型构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。

也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。

每个“成员”都是一个基本数据类型或又是一个构造类型。

在C语言中,构造类型有以下几种:·数组类型·结构类型·联合类型3.指针类型指针是一种特殊的,同时又是具有重要作用的数据类型。

其值用来表示某个量在内存储器中的地址。

虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。

4.空类型在调用函数值时,通常应向调用者返回一个函数值。

这个返回的函数值是具有一定的数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为: int max(int a,int b);其中“int ”类型说明符即表示该函数的返回值为整型量。

又如在例题中,使用了库函数 sin,由于系统规定其函数返回值为双精度浮点型,因此在赋值语句s=sin (x);中,s 也必须是双精度浮点型,以便与sin函数的返回值一致。

所以在说明部分,把s说明为双精度浮点型。

但是,也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为“空类型”。

其类型说明符为void。

在第五章函数中还要详细介绍。

在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。

其余类型在以后各章中陆续介绍。

对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。

在程序执行过程中,其值不发生改变的量称为常量,取值可变的量称为变量。

它们可与数据类型结合起来分类。

例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。

C语言运算符和表达式用法

C语言运算符和表达式用法

C语言运算符和表达式用法C语言作为一种广泛使用的编程语言,其运算符和表达式的使用方式是每个程序员都需要了解和掌握的基本知识。

在本文中,将介绍C语言中常用的运算符和表达式的用法,帮助读者更好地理解和使用这些重要的概念。

一、算术运算符在C语言中,算术运算符用于执行基本的数值计算。

常见的算术运算符包括加法(+)、减法(-)、乘法(*)、除法(/)和求余(%)。

以下是这些运算符的用法示例:1. 加法运算符:用于将两个数值相加,例如:a + b。

2. 减法运算符:用于将一个数值减去另一个数值,例如:a - b。

3. 乘法运算符:用于将两个数值相乘,例如:a * b。

4. 除法运算符:用于将一个数值除以另一个数值,例如:a / b。

5. 求余运算符:计算两个数值相除后的余数,例如:a % b。

二、赋值运算符赋值运算符用于将一个值赋给变量。

在C语言中,最常见的赋值运算符是等号(=)。

下面是一些常用的赋值运算符及其用法:1. 简单赋值运算符:用于将右侧的值赋给左侧的变量,例如:a = b。

2. 加法赋值运算符:将右侧的值与左侧的变量相加,并将结果赋给左侧的变量,例如:a += b(相当于a = a + b)。

3. 减法赋值运算符:将左侧的变量减去右侧的值,并将结果赋给左侧的变量,例如:a -= b(相当于a = a - b)。

4. 乘法赋值运算符:将右侧的值与左侧的变量相乘,并将结果赋给左侧的变量,例如:a *= b(相当于a = a * b)。

5. 除法赋值运算符:将左侧的变量除以右侧的值,并将结果赋给左侧的变量,例如:a /= b(相当于a = a / b)。

三、关系运算符关系运算符用于比较两个值之间的关系,其结果为真(非零)或假(零)。

以下是C语言中常用的关系运算符及其用法:1. 等于运算符(==):判断两个值是否相等,例如:a == b,如果a等于b,则结果为真。

2. 不等于运算符(!=):判断两个值是否不相等,例如:a != b,如果a不等于b,则结果为真。

keil c51中的异或运算

keil c51中的异或运算

Keil C51中的异或运算1. 引言在Keil C51开发环境中,异或运算是一种常见的位运算,它在嵌入式系统开发中具有重要的应用。

本文将从基础概念、实际应用和个人观点等方面全面评估Keil C51中的异或运算,并撰写一篇有价值的文章,以便读者能全面、深刻地理解这一主题。

2. 基础概念1) 异或运算的定义异或运算,也称为“异或操作”,是一种逻辑运算符,通常用符号“^”表示。

它的基本原理是:两个操作数的对应位相同则结果为0,不同则结果为1。

a ^ b的结果是c,其中a、b、c均为二进制数。

2) 异或运算的特性在计算机系统中,异或运算具有以下特性:- 交换律:a ^ b = b ^ a- 结合律:(a ^ b) ^ c = a ^ (b ^ c)- 对称性:a ^ b ^ b = a3) Keil C51中的异或运算符在Keil C51中,异或运算符“^”用于执行异或运算,可用于位操作和条件判断。

它与其他位运算符(如与“&”和或“|”)具有相似的语法和优先级。

3. 实际应用1) 位操作在嵌入式系统开发中,异或运算常用于对某些位进行修改或切换。

可以使用异或运算清除某个特定位的值,或者将某个特定位的值置为1。

2) 条件判断异或运算还可用于条件判断,例如判定两个变量的值是否相等。

通过a ^ b == 0来实现,若结果为真,则a与b相等;若结果为假,则a与b不等。

4. 个人观点和理解在实际开发中,我发现异或运算在嵌入式系统中有着广泛的应用。

它不仅可以简化位操作的步骤,还可以提高代码的可读性和效率。

我认为在Keil C51开发中,熟练掌握异或运算是非常重要的。

5. 总结和回顾通过对Keil C51中的异或运算进行全面评估,我们了解了其基础概念、实际应用和个人观点等内容。

异或运算作为一种重要的位运算,在嵌入式系统开发中具有广泛的应用,对于提高代码的效率和可读性具有重要意义。

总体而言,异或运算作为一种重要的逻辑运算符,在Keil C51开发中具有非常重要的地位。

keil C

keil C
22
两个头文件: reg51.h和 AT89X51.H
23
7,运算符,表达式及其规则
有些乘除可以用左移和右移代替.
24
强制类型转换 (double) a (int) (x + y) (float) (5 % 3)
25
26
27
注意:移位运算并不改变原变量本身, 只能将移位的结坚果赋给另一变量.
42
10,函数
标准库函数(见KeiC51库函数原型列表) 自定义函数 参数和函数值 对被调用函数的说明: a.如果是库函数,或另外一个文件中的自定义函 数,要在开头用#include b. 如果是同一个文件中的自定义函数,则要根据 被调用函数的位确定是否要申明被调用函数.
43
递归函数,若传递参数,限制在4~5层,不传 递参数,限制在5~10层.
49
interrupt n 中n所对应的中断源
using m 中m为0-3的常整数,对应选择的寄 存器组,相当于指定PSW.4和PSW.3 50 (RS1,RS0)
指定中断服务程序使用的寄存器组. 当指定中断程序的工作寄存器组时,保护工作寄存 器的工作就可以被省略,使用关键字using 后跟 0 3 4 一个0 到3 的数对应着4 组工作寄存器当指定工作 寄存器组的时候,默认的工作寄存器组就不会被 推入堆栈,这将节省32 个处理周期因为入栈和出 栈都需要2个处理周期.为中断程序指定工作寄存 器组的缺点是,所有被中断调用的过程都必须使 用同一个寄存器组,否则参数传递会发生错误.
1
2
3
4
单片机的C语言应用程序设计
一,语言特点 二,KeiC调试环境
5
一,语言特点
1,数据类型67源自bit, sbit sfr,和sfr16为8051硬件和C51及 C251编译器所特有. 它们不是ANSI C 的一部分也不能用指针对 它们进行存取 .
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

a = 0xFF;
//将常数十六进制数 FF 赋于变量 a
b = c = 33;
//同时赋值给变量 b,c
d = e;
//将变量 e 的值赋于变量 d
f = a+b;
//将变量 a+b 的值赋于变量 f
由上面的例子可以知道赋值语句的意义就是先计算出“=”右边的表达式的值,然
后将得到的值赋给左边的变量。
和表达式 2 的类型不一样。下面是一个逻辑表达式的例子。
如有 a=1,b=2 这时我们要求是取 ab 两数中的较小的值放入 min 变量中,也许你会这样
写:
if (a
min = a;
else min = b; //这一段的意思是当 a 用条件运算符去构成条件表达式就变得简单明了
了: min = (a 很明显它的结果和含意都和上面的一段程序是一样的,但是代码却比上一段程序
辑的真与假,当指定的条件满足时结果为 1,不满足时结果为 0。
表达式 1 关系运算符 表达式 2
如:I<J,I==J,(I=4)>(J=3),J+I>J
逻辑运算符
关系运算符所能反映的是两个表达式之间的大小等于关系,那逻辑运算符则是用于求条
件式的逻辑值,用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式了。也许你会对为什
少很多,编译的效率也相对要高,但有着和复合赋值表达式一样的缺点就是可读性相对效差。 指针和地址运算符
指针是 C 语言中一个十分重要的概念,也是学习 C 语言中的一个难点。在这里我 们先来了解一下 C 语言中提供的两个专门用于指针和地址的运算符:
* 取内容 & 取地址 取内容和地址的一般形式分别为: 变量 = * 指针变量 指针变量 = & 目标变量 取内容运算是将指针变量所指向的目标变量的值赋给左边的变量;取地址运算是将目标变 量的地址赋给左边的变量。要注意的是:指针变量中只能存放地址(也就是指针型数据),一般情 况下不要将非指针类型的数据赋值给一个指针变量。 sizeof 运算符 sizeof 是用来求数据类型、变量或是表达式的字节数的一个运算符,但它并不像“=”之 类运算符那样在程序执行后才能计算出结果,它是直接在编译时产生结果的。它的语法如下: sizeof (数据类型) sizeof (表达式) 下面是两句应用例句: printf("char 是多少个字节? %bd 字节\n",sizeof(char)); printf("long 是多少个字节? %bd 字节\n",sizeof(long)); 结果是: char 是多少个字节? 1 字节 long 是多少个字节? 4 字节
!=
等于
计算机的语言也不过是人类语言的一种扩展,这里的运算符同样有着优先级别。前
四个具有相同的优先级,后两个也具有相同的优先级,但是前四个的优先级要高于后两个的。
当两个表达式用关系运算符连接起来时,这时就是关系表达式。关系表达式通常
是用来判别某个条件是否满足。要注意的是用关系运算符的运算结果只有 0 和 1 两种,也就是逻
辑非的优先值最高。
如有!True || False && True
按逻辑运算的优先级别来分析则得到(True 代表真,False 代表假)
!True || False && True
False || False && True
//!Ture 先运算得 False
False || False
//False
I++1(或 I-1)
++I(或--I) 是先执行 I+1(或 I-1) ,再使用 I 的值。
增减量运算符只允许用于变量的运算中,不能用于常数或表达式。
关系运算符
对于关系运算符,在 C 中有六种关系运算符:

大于

小于
>=
大于等于
<=
小于等于
==
等于
为假。
逻辑或,是指只要二个运算条件中有一个为真时,运算结果就为真,只有当条件式都不为
真时,逻辑运算结果才为假。
逻辑非则是把逻辑运算结果值取反,也就是说如果两个条件式的运算值为真,进行
逻辑非运算后则结果变为假,条件式运算值为假时最后逻辑结果为真。
同样逻辑运算符也有优先级别,!(逻辑非)→&&(逻辑与)→||(逻辑或),逻
逻辑非:! 条件式 2
逻辑与,说白了就是当条件式 1“与”条件式 2 都为真时结果为真(非 0 值),否则为假
(0 值)。也就是说运算会先对条件式 1 进行判断,如果为真(非 0 值),则继续对条件式 2 进行
判断,当结果为真时,逻辑运算的结果为真(值为 1),如果结果不为真时,逻辑运算的结果为假
(0 值)。如果在判断条件式 1 时就不为真的话,就不用再判断条件式 2 了,而直接给出运算结果
变量 1 位运算符 变量 2
位运算符也有优先级,从高到低依次是:“~”(按位取反)→“<<”(左移) →“>>”(右移)
→“&”(按位与)→“^”(按位异或)→“|”(按位或)。
表 4 是位逻辑运算符的真值表,X 表示变量 1,Y 表示变量 2:
X
Y
~X
~Y
X&Y
X|Y
X^Y
0
0
1
1
0
0
0
0
1
1
0
学的数学几乎是一样的,也不必过多的说明了。
++ 增量运算符
-- 减量运算符
这两个运算符是 C 语言中特有的一种运算符。在 VB,PASCAL 等都是没有的。作用就是对
运算对象作加 1 和减 1 运算。要注意的是运算对象在符号前或后,其含义都是不同的,虽然同是
加 1 或减 1。如:I++,++I,I--,--I。
逻辑表达式? 表达式 1 : 表达式 2
条件运算符的作用简单来说就是根据逻辑表达式的值选择使用表达式的值。当逻辑表达式
的值为真时(非 0 值)时,整个表达式的值为表达式 1 的值;当逻辑表达式的值为假(值为 0)
时,整个表达式的值为表达式 2 的值。要注意的是条件表达式中逻辑表达式的类型可以与表达式 1
赋值运算符
对于“=”这个符号大家不会陌生的,在 C 中它的功能是给变量赋值,称之为赋
值运算符。它的作用就是把数据赋给变量。如,x=10;由此可见利用赋值运算符将一个变量与一个
表达式连接起来的式子为赋值表达式,在表达式后面加“;”便构成了赋值语句。使用“=”的赋
值语句格式如下:
变量 = 表达式;
示例如下
如:a+b*(10-a), (x+9)/(y-a)
除法运算符和一般的算术运算规则有所不同,如是两浮点数相除,其结果为浮点数,如
10.0/20.0 所得值为 0.5,而两个整数相除时,所得值就是整数,如 7/3,值为 2。像别的语言一
样 C 的运算符与有优先级和结合性,同样可用用括号“()”来改变优先级。这些和我们小时候
算术,增减量运算符
对于 a+b,a/b 这样的表达式大家都很熟悉,用在 C 语言中,+,/,就是算术运
算符。C51 的算术运算符有如下几个,其中只有取正值和取负值运算符是单目运算符,其它则都是
双运算符:
+ 加或取正值运算符
- 减或取负值运算符
* 乘运算符
/ 除运算符
% 取余运算符
算术表达式的形式:
表达式 1 算术运算符 表达式 2
%= 取模赋值
-= 逻辑非赋值
<<= 左移位赋值
复合运算的一般形式为:
变量 复合赋值运算符 表达式
其含义就是变量与表达式先进行运算符所要求的运算,再把运算结果赋值给参与运算的变
量。其实这是 C 语言中一种简化程序的一种方法,凡是二目运算都可以用复合赋值运算符去简化表
达。例如:
a+=56 等价于 a=a+56
y/=x+9 等价于 y=y/(x+9)
很明显采用复合赋值运算符会降低程序的可读性,但这样却可以使程序代码简单化,并能提高编译
的效率。对于初学 C 语言的朋友在编程时最好还是根据自己的理解力和习惯去使用程序表达的方
式,不要一味追求程序代码的短小。
逗号运算符
C 语言中逗号还是一种特殊的运算符,也就是逗号运算符,可以用它将两个或
个逗号表达式的值。要注意的还有,并不是在程序的任何位置出现的逗号,都可以认为是逗号运算
符。如函数中的参数,同类型变量的定义中的逗号只是用来间隔之用而不是逗号运算符。
条件运算符
C 语言中有一个三目运算符,它就是“?:”条件运算符,它要求有三个运算对象。
它可以把三个表达式连接构成一个条件表达式。条件表达式的一般形式如下:
0
1
1
1
0
0
1
0
1
1
1
1
0
0
1
1
0
表 4 按位取反,与,或和异或的逻辑真值表
复合赋值运算符
复合赋值运算符就是在赋值运算符“=”的前面加上其他运算符。以下是 C 语言
中的复合赋值运算符:
+= 加法赋值
>>= 右移位赋值
-= 减法赋值
&= 逻辑与赋值
*= 乘法赋值
|= 逻辑或赋值
/= 除法赋值 ^= 逻辑异或赋值
多个表达式连接起来,形成逗号表达式。逗号表达式的一般形式为:
表达式 1,表达式 2,表达式 3……表达式 n
这样用逗号运算符组成的表达式在程序运行时,是从左到右计算出各个表达式的值,而整个用逗号
相关文档
最新文档