传智播客-C语言-第二版本-基础班-0824-运算符
运算符
数据对象:泛指数据在内存的存储区域
左值:表示可以被更改的数据对象
右值:能赋给左值的量
实例
#include<stdio.h>
int main()
{
int a = 0;
int b = 0;
scanf("%d", &a);
scanf("%d", &b);
printf("%d\n", a / b);
system("pause");
return 0;
}
实例
#include<stdio.h>
int main()
{
double a = 0;
double b = 0;
scanf("%lf", &a);
scanf("%lf", &b);
double c = c / b;
printf("%lf\n", a / b);
system("pause");
return 0;
}
+、-、*、/、
% - 取模,取余数
+=、-=、*=、/=、%=、++、--
实例
#include <stdio.h>
int main()
{
int i = 0;
i++;
int a = 10;
a += ++i + a++ + i + a;
printf("%d\n", a);
system(pause);
reutrn 0;
}
逗号运算符
int I = 6 + 5, 3 + 2
逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值。
运算符优先级
|
优先级 |
运算符 |
结合性 |
|
1 |
++(后缀),--(后缀),()(调用函数),{}(语句块),.,-> |
从左到右 |
|
2 |
++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化) |
从右到左 |
|
3 |
*, /, % |
从左到右 |
|
4 |
+,- |
从左到右 |
|
5 |
<< >> |
从左到右 |
|
6 |
< > <= >= |
从左到右 |
|
7 |
== != |
从左到右 |
|
8 |
& |
从左到右 |
|
9 |
^ |
从左到右 |
|
10 |
| |
从左到右 |
|
11 |
&& |
从左到右 |
|
12 |
|| |
从左到右 |
|
13 |
? |
从右到左 |
|
14 |
=,*=,%=,+=,-=,<<=,>>=,&=,|=,^= |
从右到左 |
|
15 |
,(逗号运算符) |
从左到右 |
复合语句
{}代码块
类型转化
实例
#include <stdio.h>
int main()
{
double d = 10.2;
int a = d; //隐式转换
int a1 = 3;
int a2 = 2;
double mid = a1 / a2;
printf("mid=%f\n", mid);
double mid2 = (double)a1 / (double)a2; //显示的强转
printf("mid2=%f\n", mid2);
int hex = 0x12345678;
char chex = hex;
printf("chex = %d\d", chex);
printf("chex = %x\d", chex);
short chex = hex;
printf("chex = %x\d", chex);
int a = d / 2;
double f = d / 2;
printf("%d\n", a);
printf("f = %f\n", f);
system(pause);
reutrn 0;
}
posted on 2019-11-05 21:58 herisson_pan 阅读(12) 评论(0) 收藏 举报
浙公网安备 33010602011771号