运算符在数学和C语言中的区别
刚开始学C语言的人,一般都认为C语言中的运算符跟数学中的运算符完全相同,没必要去考虑和研究,从而在利用过程中经常出错而把学习C语言越来越难或神秘化,其实学C语言并不是很难的事,要把握有些重要技巧,很容易学会.著名计算机科学家沃思(Nikiklaus Wirth)说“程序=算法+数据类型”,要好好学会程序,首先要深入了解算法,而了解算法事实上指的是就是正确地了解和利用运算符.研究过C语言的同学们可能都意识到运算符在数学和C语言中有着很大的区别,虽然发明历史长久来观察,数学运算符有着几千年的悠久历史而C语言运算符最多只有60年的短暂历史,我们能预测到C语言一开始出现时利用的运算符都来自于数学中的运算符,但后来因为C语言运算方法的不断发展,需要的大量新的运算符,而很多在C语言中的运算符跟原有数学中的意义和用法发生了很大的区别,下面我给大家介绍这两种运算的共同特点和区别.下面表格中运算符优先级排列(优先级指的是几个运算符同出现在一个算法中第一级的先计算然后按级别来计算其他的,比如:加法运算符“ + ” 和乘法运算符“ * ”同时出现时先计算乘法运算然后计算加法运算,如果第一级运算符“()”来把加法运算符抱起来,那先计算“()”运算符中的加法运算然后计算乘法运算)。
级
别
数学中表示
C语言中的表示
汉语名称
英语名称
例子
第
一
级
()
()
圆括号
parenthesis or round brackets
a=b * (c+d)/(e-f);
[ ]
下标运算符
Subscript operator
array[4] = 2;
第
二
级
!
逻辑非运算符
Logical negation
if( !done ) …
++
自增运算符
Pre-increment
for(int i=1;i<=100;i++)
--
自减运算符
Pre-decrement
for(i=3;i>0; i --)
*
指针运算符
FILE *fp
&
取地址运算符
scanf("%d",&n);
sizeof
长度运算符
GetDlgItemText(hwnd,IDC_EDIT1,
str1,sizeof(str1));
第
三
级
×
*
乘法运算符
Multiplication
sum=sum * i;
÷
/
除法运算符
Division
float f = 11.0 / 2.0;
%
求余运算符
Modulus
if( i %2==1)…
第
四
级
+
+
加法运算符
Addition
sum=sum+i;
-
-
减法运算符
Subtraction
int i = 5 - 1;
第
五
级
<<
左移动运算符
Bitwise shift left
int flags = 33 << 1;
>>
右移动运算符
Bitwise shift right
int flags = 33 >> 1;
第
六
级
>
>
大于
关
系
运
算符
greater-than
if( i > 1 ) …
<
<
小于
less-than
if( i < 100 ) …
≥
>=
大于等于
greater-than-or-equal-to
if( i >= 1 ) ...
≤
<=
小于等于
less-than-or-equal-to
if( i <= 100 ) ...
第
七
级
=
==
等于运算符
equal
if( disk == 0 ) ...
≠
!=
不等于运算符
not-equal
if( disk != 0 ) ...
第八级
&
按位与运算符
Bitwise AND
flags = flags & 20;
第九级
【^】
按位异或运算符
Bitwise exclusive
flags = flags ^ 20;
第十级
|
按位或运算符
Bitwise inclusive
flags = flags | 20;
第十一级
和
&&
逻辑与运算符
Logical AND
if(n%3==0 && n%5==0)
第十二级
||
逻辑或运算符
Logical OR
if( conditionA || conditionB ) ...
第十三级
?:
条件运算符
Ternary conditional
int i = (a > b) ? a : b;
第十四级
=
赋值运算符
Assignment operator
int a = b;
+=
Increment and assign
sum += i ;
﹣=
Decrement and assign
a﹣= 5 ;
*=
Multiply and assign
b *= 4 ;
/=
Divide and assign
c /= 3
%=
Modulo and assign
d %= 2 ;
第十五级
【,】
逗号运算符
double a , b , sum;
展开阅读全文