算术运算符和表达式

C语言的运算符范围很宽,除了控制语句和输入输出以外的几乎所有的基本操作都作为运算符处理,下图是C运算符的分类

1  算术表达式

用算术运算符和括号将运算对象(也称操作数)连接起来的,符合语法规则的式子成为算术表达式。运算对象包括 常量 变量 函数。

C语言规定了各种运算符的结合方向,这是C语言特点之一,是别的高级语言所没有的。算术运算符的结合方向为“自左至右”又称为“左结合性”,以后还可以看到有些运算符的结合方向为“自右至左”即“右结合性”。

2 强制类型转换

(类型名)(表达式)

( double ) a    将a转换成double类型

3 自增自减运算符

作用是使变量的值增加或者减少1

++i   --i 先加/减再使用

i++   i-- 先使用再加/减

 4 有关表达式使用问题(不同的编译系统不一样)

C并没有具体的规定表达式的字表达式的顺序 允许编译系统自己安排 例如 a=f1()+f2(); 并不是所有的编译系统都是先调用f1函数再调用函数f2,又例如 i=3;(i++)+(i++)+(i++)有的编译系统求的结果是12有的编译系统求的结果是9。 还比如i=3;printf("%d,%d",i,i++);在有的系统中是按照从左至右求值,输出3,3.而多数编译系统中是按照自右而左输出4,3,所以不提倡printf("%d,%d",i,i++),提倡printf("%d,%d",j,i++)这种写法。

5 算术运算符

1.1  " + " 加法运算

1.2  " - "减法运算

1.3  " * "乘法运算

1.4  " / " 除法运算(不同的编译系统不一样)。这里需要说明的是如果除数或者被除数有一个为负数舍入的方向是不固定的,跟编译系统有关,大多数系统是"向零靠拢"。例如:-5%3 有的系统结果为-1,有的结果为-2.,多数系统是-1.更接近零。

1.5  " % "模运算,或求余运算,%两边均应为整数。

6  赋值运算符和赋值表达式

6.1赋值表达式

< 变量 >< 赋值运算符 >< 表达式 >

赋值表达式是自右至左的, 赋值运算符左侧的标识符成为左值,右侧的称为右值。并不是任何对象都可以作为左值的,变量可以作为左值,常量和表达式不能作为左值。

例如a=12; a+=a-=a*a;

它的运算顺序如下:

① a-=a*a 相当于a=a-a*a=-132;此刻a的值为-132;

② a+=-132 相当于a=a+(-132)=-264;此刻a的值为-264;

7  逗号运算符和逗号表达式

逗号运算符C语言提供的运算符,用它将两个表达式连接起来,又称为 顺序求职运算符 一般形式为 :  表达式1,表达式2 。逗号表达式的求解过程是 先求表达式1,再求表达式2,整个逗号表达式的结果是表达式2的值。

例如 (a=3*5,a*4),a+5

先计算出a=15,再计算出60(a的值仍然是15),再计算出20,最后整个逗号表达式的结果是20.

别的运算符待续......

算术运算符和表达式,布布扣,bubuko.com

时间: 2024-08-26 05:48:57

算术运算符和表达式的相关文章

算术运算符与表达式的综合运用

基本数据类型 int float double char  int a; int b = 0;int c = b;  float f;float f2 = 0.1;float f3 = 1.0;double num; char c = 'A';char C = 'a';char cc = c; NSString:@"hello world" 限定词  long ; long long ;short ;unsigned;signed;      long int a;  long lon

C#程序设计基础——运算符与表达式

运算符就是完成操作的一系列符号,它主要包括算术运算符.赋值运算符.关系运算符.逻辑运算符.条件运算.位操作运算符和字符串运算符. 表达式就是运算符和操作数的组合,如a*b+1-c.表达式主要包括算术表达式.赋值表达式.条件表达式以及布尔表达式等. 算术运算符与表达式 C#提供的运算符有五种:“+”加法运算符.“-”减法运算符.“*”乘法运算符.“/”除法运算符.“%”模运算符.算术运算符的优先级按照先乘除后加减的顺序进行运算. 赋值运算符与表达式 赋值就是给一个变量赋予一个新的值.在C#中赋值运

运算符和表达式(类型转换)

和其他程序设计语言一样,C语言中表示运算的符号称为运算符.运算符是告诉编译程序执行特定算术或逻辑操作的符号,运算的对象称为操作数. 对一个操作数进行运算的运算符称为单目运算符,对两个操作数进行运算的运算符称为双目运算符,三目运算符对三个操作数进行运算.用运算符和括号可以将操作数连接起来组成表达式. C语言提供了40多个运算符,其中一部分跟其他高级语言相同(例如"+"."?"."*"等运算符),另外的与汇编语言类似,对计算机的底层硬件(如指定的物理

java运算符和表达式以及java语句需注意的问题总结

运算符和表达式注意的问题 java运算符和表达式包括算术运算符和表达式.逻辑运算符和表达式.逻辑运算符.位运算符等等. (1)逻辑运算符是短路运算符,如op1 || op2 ,当op1是true的时候,就不再考虑op2了:op1&&op2,当op1是false的时候就不再考虑op2了. (2)逻辑位运算不同于逻辑运算符的短路特点,op1 |  op2,运算法会把op1和op2都运算了,才给出位运算结果. (3)利用c=a^b,a=c^b 两次逻辑位运算的异或运算可以实现加密和解密的功能.

算术运算符和算术表达式(优先级,结合性等)

%  得到余数  7 % 2 得到1 运算符的优先级 C语言中,运算符的运算优先级共分为15级.1级最高, 15级最低.在表达式中, 优先级较高 的先于优先级较低的进行晕死.而在一个运算量两侧的运算符优先级相同时, 则按运算符的 结合性所规定的结合方向处理. 运算符的结合性 c语言中各运算符的结合性分为两种, 即左结合性(自左至右)和右结合性(自右至左). 例如: 左结合性: 算术运算符的结合性是自左至右,即先左后右.如有表达式x-y+z则y应先与“-”结合,执行 x-y,在+z的yuns.这种

6、C#的算术运算符和算术表达式

C#这门编程语言和其它的编程语言是非常的相似的,算术运算符和算术表达式也是如出一辙. 1. +  加 - 减 *  乘 /  除 % 求余 这些基本的算术运算符可以对常量或者变量进行算术运算. 此外,还有自增运算符和自减运算符. ++ 可以把++当做是函数名,后面加上一对小括号,这样子可以实现自增. ++在前,表示先自增,后赋值.++在后,表示先赋值,后自增. 比如: int a; int b; b=2; //a=++(b);  //先自增,后赋值. a=(b)++;   //先赋值,后自增.

C++算术运算符与算术表达式

基本的算术运算符 在本章中主要介绍算术运算符与算术表达式,赋值运算符与赋值表达式,逗号运算符与逗号表达式,其他运算符将在以后各章中陆续介绍. 常见算数运算符 运算符 说明 举例 + 加法运算符,或正值运算符 3+5,+3 - 减法运算符,或负值运算符 5-2,-3 * 乘法运算符 3*5 / 除法运算符 5/3 % 模运算符,或称求余运算符 %两侧均应为整型数据,如7%4的值为3 需要说明,两个整数相除的结果为整数,如5/3的结果值为1,舍去小数部分.但是,如果除数或被除数中有一个为负值,则舍入

算术运算符和算术表达式(初学者)

1.C语言的运算符可以分为以下几类: 1.算术运算符:加(+).减(-).乘(*).除(/).求余(%).自增(++),自减(--) 2.关系运算符:大于(>).小于(<).等于(==).大于等于(>=).小于等于(<=).不等于(!=) 3.逻辑运算符:与(&&).或(||),非(!) 4.位操作运算符:参与运算的量,按二进制位进行运算.位与(&).位或(|).位非(!).位异或(^).左移(<<).右移(>>) 5.赋值运算符:用

【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句

学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.--)和其他的一下运算符(sizeof.(type)). 2.声明一个参数就创建了一个被称为形式参数(formal argument)或形式参量(formal parameter).我们称函数调用传递一个值,这个值被称为实际参数(actual argument)或实际参量(actual parameter). 3.编程练习(题8): 1 #include <stdio.h