黑马程序员技术交流社区
标题:
C语言学习之运算符
[打印本页]
作者:
chunhuayun
时间:
2015-9-20 16:50
标题:
C语言学习之运算符
1.运算符
1)运算符是告诉编译程序执行特定算数或逻辑操作的符号
2)分类
1>按功能分类
a)算数运算符,例如 +,-,*,/
b)关系运算符,例如 >,<.>=,<=,!=
c)逻辑运算符
c)按位运算符,&,|
2>按操作数个数分为
a)单目运算符,只有一个操作数,如i++,sizeof,!
b)双目运算符,有两个操作数,如 a = b
c)三目运算符,有三个操作数,a > b ? a :b
3)优先级和结合性
A* 优先级
C语言中,运算符的运算优先级共分为15级。1级最高,15级最低。在表达式中,优先级高的比优先级低得先运算。优先级相同时,则按照结合性来判断谁先运算。
B* 结合性
C语言中,各运算符的结合性分为两种,即左结合性(从左向右)和右结合性(从右向左)。例如算数运算符的结合性是自左至右,即先左后右。如有表达式x-y+z,则应限于“-”号结合,执行x-y运算,然后再执行 +z 运算。这种自左至右的结合,方向就成为“左结合性”。而自右至左的结合方向成为"右结合性”,最典型的右结合性运算是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z,再执行x = (y=z)运算
4)运算符的使用
经典例子 1:倒序输出一个五位数
int a;
printf("input a digit number(>9999):");
scanf("%d",&a);
for (int i = 0; i < 5; i++) {
printf("%d",a%10);
a = a /10;
}
结果:input a digit number(>9999):12345
54321
经典例子 2:
int a = 5 +5 * 5 + 5;
printf("%d",a);//打印35
作者:
荣荣
时间:
2015-9-21 19:15
建议楼主直接在百度下个运算符的优先级的表,一切就OK了!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2