2_C语言中的数据类型 (八)运算符
2024-10-13 03:02:16
1 运算符表达式和语句
1.1 基本运算符
1.1.1 =
数据对象:泛指数据在内存的存储区域
左值:表示可以被更改的数据对象
右值:能赋给左值的量
1.1.2 +
加
1.1.3 –
减
1.1.4 *
乘
1.1.5 /
除
1.1.6 %
取余数
1.1.7 +=
加等于
1.1.8 -=
减等于
1.1.9 *=
乘等于
1.1.10 /=
除等于
1.1.11 %=
取余等于
1.1.12 ++
自加1
,i++先计算表达式的值,然后再++
,++i是先++,再计算表达式的值
1.1.13 --
自减一
1.1.14 逗号运算符
int a = 2; int b = 3; int c = 4; int d = 5; int i = (a = b, c + d); |
逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值。
1.1.15 运算符优先级
优先级 |
运算符 |
结合性 |
1 |
++(后缀),--(后缀),()(调用函数),{}(语句块),.,-> |
从左到右 |
2 |
++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化) |
从右到左 |
3 |
*, /, % |
从左到右 |
4 |
+,- |
从左到右 |
5 |
<< >> |
从左到右 |
6 |
< > <= >= |
从左到右 |
7 |
== != |
从左到右 |
8 |
& |
从左到右 |
9 |
^ |
从左到右 |
10 |
| |
从左到右 |
11 |
&& |
从左到右 |
12 |
|| |
从左到右 |
13 |
? |
从右到左 |
14 |
=,*=,%=,+=,-=,<<=,>>=,&=,|=,^= |
从右到左 |
15 |
,(逗号运算符) |
从左到右 |
1.2 复合语句
{}代码块
1.3 空语句
只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的
1.4 类型转化
double f = (double)3 / 2; |
()为强制类型转化运算符
#include <stdio.h> int main01()
{
int a = ;
int b = ;
int c = a % b;
printf("c = %d\n", c); //a = a + 5;//语法正确,但是是个菜鸟
a += ; a = a + ;
a += ;
a++;
a = a - ;
a -= ;
a--;
return ;
} int main02()
{
int i = ;
//i++;
//++i; //int a = ++i;
//int a = i++;
int a = i++ + ++i;
//i = i + 1;
//int a = i + i;
//i = i + 1; printf("%d\n", a);
printf("%d\n", i);
return ;
} int main03()
{ int a = ;
int b = ;
int c = ;
int d = ;
int i = (a = b, a + d); printf("i = %d\n", i); a = ; b = ; c = ; d = ;
i = (a + (b - c)) * d;
printf("i = %d\n", i); a = ;
b = ;
c = ; i = a = b = c;
printf("i = %d\n", i); {
i = ;
a = ;
} ;//空语句 printf("i = %d\n", i); for (; ; )//循环语句,代表复合语句内部的代码要执行3次
{
printf("hello\n");
} return ;
} int main()
{
//double f = 3 / 2;//c语言两个整数相除的结果自动转化为一个整数
//double f = (double)3 / 2;//(double)3,意思是将整数3强制转化为double型
//double f = 3.0 / 2; int a = ;
int b = ;
double f = (double)a / b;
printf("%f\n", f);
return ;
}
资料来源:传智播客 仅供学习研究
最新文章
- wex5 实战 手指触屏插件 hammer的集成与优劣
- 传感器之超声波测距HC-SR04
- [知识点]计算几何I——基础知识与多边形面积
- eclipse创建web项目
- JQuery基础一
- 关于UID和GID的创建、修改、删除;简要举例
- Git合并开发代码分支到测试代码分支
- C 栈 链式存储
- python基础教程_学习笔记1:序列-1
- 抽出SqlHelper
- U盘安装Centos后拔除U盘无法启动问题解决方法
- Jetty入门(1-2)eclipse集成jetty插件并发布运行应用
- [HEOI2014]平衡(整数划分数)
- JS数据交换的三种方式
- 【batch】批处理文件多参数处理和for循环字符串连接
- 使用springboot actuator监控应用
- post方式接口测试(二)_参数化
- MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
- Python 中的map、reduce函数用法
- Python中赋值、浅拷贝与深拷贝