2_C语言中的数据类型 (八)运算符
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 ;
}
资料来源:传智播客 仅供学习研究
2_C语言中的数据类型 (八)运算符的更多相关文章
- 2_C语言中的数据类型 (七)printf与scanf
1 字符串格式化输出和输入 1.1 字符串在计算机内部的存储方式 字符串是内存中一段连续的char空间,以’\0’结尾 “”是C语言表达字符串的方式 1.2 ...
- 2_C语言中的数据类型 (四)整数与无符号数
1.1 sizeof关键字 sizeof是c语言关键字,功能是求指定数据类型在内存中的大小,单位:字节 sizeof与size_t类型 1.1 int类型 1.1.1 ...
- 2_C语言中的数据类型 (九)逻辑运算符与if语句、switch、条件运算符?、goto语句与标号
1 条件分支语句 1.1 关系运算符 在C语言中0代表false,非0代表真 1.1.1 < 小于 1.1.2 <= 小于 ...
- 2_C语言中的数据类型 (一)2.1.常量和字符串常量
2.1 常量就是在程序中不可变化的量,常量在定义的时候必须给一个初值. 1.1.1 #define 定义一个宏常量 1.1.2 const 定义一个const常量 ...
- 2_C语言中的数据类型 (十)数组
1 字符串与字符数组 1.1 字符数组定义 char array[100]; 1.2 字符数组初始化 char array[100] = {'a', 'b', ...
- 2_C语言中的数据类型 (九)数组
1 数组 1.1 一维数组定义与使用 int array[10];//定义一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型的 array[0] = ...
- 2_C语言中的数据类型 (二)进制
1.1 二进制数.位.字节与字 我们习惯于十进制的数:10,12等 一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit 一个字节为8个二进制,称为8位,简称BYTE,8个比特 ...
- 2_C语言中的数据类型 (十)while、for
1 循环语句 1.1 while while(条件),如果条件为真,循环继续,条件为假,循环结束 while (1)..是死循环的写法 1.2 continu ...
- 2_C语言中的数据类型 (七)类型限定
1.1 类型限定 1.1.1 const const是代表一个不能改变值的常量 1.1.2 volatile 代表变量是一个可能被CPU指令之外的地方改 ...
随机推荐
- 显示脉冲效果的PulsingView
显示脉冲效果的PulsingView 效果如下: 源码: PulsingView.h 与 PulsingView.m // // PulsingView.h // PulsingView // // ...
- [翻译] SSKeychain
SSKeychain https://github.com/soffes/sskeychain SSKeychain is a simple wrapper for accessing account ...
- 程序员减少代码BUG的7种方法,拒绝编程5分钟,查代码2小时!
0.别对警告视而不见 相信不少的程序员会使用IDEA,使用它敲代码,有时候会出现警告,那么这时你对警告就不能视而不见了. 我们的目标是,写干净的代码,做风一样的男子! 1.编程习惯 种瓜得瓜种豆得豆, ...
- 关于strip(切割)和 split(分开) 的区别
plit(), 以括号里的东西为标准,把字符串分开成一个列表 strip(), "删除",括号里出现的东西,从两头开始往中间删除,直到遇到阻碍.中间就算有,也不会受影响 s10 = ...
- JS和css实现检测移动设备方向的变化并判断横竖屏幕
这篇文章主要介绍了JS和css实现检测移动设备方向的变化并判断横竖屏幕,本文分别给出实现代码,需要的朋友可以参考下 方法一:用触发手机的横屏和竖屏之间的切换的事件 [自测可用, chrome , 手 ...
- 微信公众平台OAuth2.0授权
1. 配置授权回调页面域名 进入微信公众平台后台后,依次进入开发者中心-权限表,找到网页授权获取用户基本信息,点击右侧的修改. 授权回调域名配置规范为全域名并且不带http,比如需要网页授权的域名为: ...
- JS 事件冒泡、捕获。学习记录
作为一个转行刚到公司的新人,任务不多,这一周任务全部消灭,闲暇的一天也别闲着,悄悄的看起了书.今天写一下JS的事件冒泡.捕获. 也是今天看的内容有点多了,有些消化不了,就随手记录一下.纯属自我理解,如 ...
- 1015. [JSOI2008]星球大战【并查集】
Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的 机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...
- 【bzoj 4710】 [Jsoi2011]分特产
题目 容斥加组合计数 显然答案是 \[\sum_{i=0}^n(-1)^i\binom{n}{i}f_{n-i}\] \(f_i\)表示至多有\(i\)个人没有拿到特产 考虑求\(f\) 发现\(m\ ...
- tbb静态库编译
源自Intel论坛 Jeff的方法https://software.intel.com/en-us/forums/intel-threading-building-blocks/topic/29779 ...