黑马程序员 C语言 - 02 基本运算
来源:互联网 发布:学都塔尔软件 编辑:程序博客网 时间:2024/06/05 07:14
若排版有错误,请查看pdf版:C语言 - 02 基本运算
第三章 基本运算
一、 算术运算
1. 基本使用
int a = 10 + 1 + 2 -3 +5;
int b = -10;
int c = 10 * b;
int d = 10 /2;
2. 取余运算(% 模运算)
1) %两边都是整数
2) %取余结果的正负性只跟%左边的正负有关
int e = 10 % -3;// 1
3. 自动类型转换(double--->int)
int a = 10.8;
4. 强制类型转换(double--->int)
int b = (int)10.5;
5. 自动类型提升(int--->double)
double c = 10.6 + 6;
double d = 1 /3;
二、 赋值运算
a = 5 + 6 *5 +8;
a += 5; // a = a + 5;
a *= 5; // a = a * 5;
a+= 5 + 6 +4;// a = a + (5 + 6 + 4);
三、 自增自减
++a是先把a的值+1,再把a值放入公式;a++是先把a值放入公式,再把a值+1
int b;
int a = 10;
b = (a++) +(++a);
// b = 10 + 12; a=12;
b = (++a) + (a++);
// b = 13 + 13; a=14
四、 sizeof
1. 作用:用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。
2. 基本形式
1) sizeof( 变量\常量 )
2) sizeof 变量\常量
3) sizeof( 数据类型 ) 不能是sizeof 数据类型
int size = sizeof(10);
int size = sizeof 10.9;
int a = 10;
int size = sizeof(a);
int size = sizeof a;
int size = sizeof(char);
int size = sizeof char; // 错误写法
int size = sizeof(sizeof) // 不能是sizeof类型
五、 关系运算(比较运算)
1. C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。也就是说,108、-18、4.5、-10.5等都是“真”,0则是“假”。
2. 关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。
3. 关系运算符中==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者
4. 关系运算符的结合方向为“从左往右”: 4>3>2
5. 关系运算符的优先级小于算术运算符:3+4>8-2
六、 逻辑运算
(一) 逻辑与 &&
1. 使用格式:条件A && 条件B
2. 当条件A和条件B都成立时,结果才为1,也就是“真”
3. 总是先判断条件A是否成立(逻辑与的结合方向是“自左至右”)
1) 如果条件A成立,接着再判断条件B是否成立
2) 如果条件A不成立,就不会再去判断条件B是否成立
4. 若想判断a的值是否在(3, 5)范围内,千万不能写成3<a<5,因为关系运算符的结合方向为“从左往右”。比如a为2,它会先算3<a,也就是3<2,条件不成立,结果为0。再与5比较,即0<5,条件成立,结果为1。因此 3<a<5的结果为1,条件成立,也就是说当a的值为2时,a的值是在(3, 5)范围内的。这明显是不对的。正确的判断方法是:(a>3) && (a<5)
5. C语言规定:任何非0值都为“真”,只有0才为“假”。因此逻辑与也适用于数值。比如 5 && 4的结果是1,为“真”;-6 && 0的结果是0,为“假”
(二) 逻辑或 ||
1. 使用格式:条件A || 条件B
2. 条件A、条件B只要有一个成立(也包括条件A和条件B都成立),结果就为1
3. 总是先判断条件A是否成立(逻辑或的结合方向是“自左至右”)
1) 如果条件A成立,就不会再去判断条件B是否成立
2) 如果条件A不成立,接着再判断条件B是否成立
4. 逻辑或也适用于数值。比如 5 || 4的结果是1,为“真”;-6 || 0的结果是1,为“真”;0 || 0的结果是0,为“假”
(三) 逻辑非 !
1. 使用格式:! 条件A
2. 对条件A进行取反:若条件A成立,结果就为0,即“假”;若条件A不成立,结果就为1,即“真”
3. 对非0值进行逻辑非!运算的结果都是0,对0值进行逻辑非!运算的结果为1。
七、 三目运算
1. 使用格式:条件 ? 数值1 : 数值2
2. 条件成立返回数值1,条件不成立返回数值2
// 计算3个整数之间的最大值
int a = 10;
int b = 999999;
int c = 1000;
// 求出a、b的最大值
int abMax = (a > b) ? a : b;
// 求出最终的最大值
int d = (abMax > c) ? abMax: c;
八、 运算符的优先级
优先级
描述
运算符
1
括号
()、[]
2
正负号
+、-
3
自增自减,非
++、--、!
4
乘除,取余
*、/、%
5
加减
+、-
6
移位运算
<<、>>、>>>
7
大小关系
>、>=、<、<=
8
相等关系
==、!=
9
按位与
&
10
按位异或
^
11
按位或
|
12
逻辑与
&&
13
逻辑或
||
14
条件运算
?:
15
赋值运算
=、+=、-=、*=、/=、%=
16
位赋值运算
&=、|=、<<=、>>=、>>>=
- 黑马程序员 C语言 - 02 基本运算
- 黑马程序员-C语言基本运算
- 黑马程序员---c语言基础--基本运算
- 黑马程序员-IOS-C语言基础-基本运算
- 黑马程序员—C语言_基本运算
- 黑马程序员-C语言学习日记(二)基本运算
- 黑马程序员——C语言中的基本运算
- 黑马程序员--c语言:scanf、sizeof、基本运算
- 黑马程序员————C语言基本运算
- 黑马程序员------C语言几种基本运算
- 黑马程序员——C语言基础(三)基本运算
- 黑马程序员——C语言基本运算符
- 黑马程序员——[C语言]基本运算符
- 黑马程序员——C语言——基本运算
- 黑马程序员——C语言的基本运算
- 黑马程序员IOS基础---C语言学习之基本运算
- 黑马程序员—IOS基础(C语言基本运算)
- 黑马程序员——C语言基础---基本运算
- 事件:事件的类型 作用
- Flash Builder4.0新建Flex应用程序切换主题出错
- Java读取txt文件中内容作为测试用例中的参数
- universe里面的限制:如何定义限制,使用限制
- xcode 4.2 不再支持 Window-Based Application 的解决办法:
- 黑马程序员 C语言 - 02 基本运算
- Managing Access Level in the CMC
- cocos2d-x CCDirector管理CCScene
- 题目1387:斐波那契数列
- mciSendString用法
- UVA 10054 The Necklace
- 认识WebRoot和WebContent目录
- 安卓美化——添加下拉菜单图片或下拉菜单透明
- StringBuffer类和String