镜花水月(二)
其它运算
本回开讲前我们先回顾一下上回书的内容。
上回书我们学习了:
== > >= < <= !=
&& || !
& | ~ ^ >> <<
本回书我们学习算术运算:
赋值运算:
x = 10; //把 x 的值设置为 10, 把 10 写到变量 x 中。
x = 10 + a;
赋值运算左边必须是变量
“优先级”很低,只比 “,”(逗号元素符)高。
复合赋值运算
x += 10; // x = x + 10
x -= 10; // x = x - 10
类的还有: *= , /=, %= 等。
自增自减运算
i++ => i = i+1
++i => i = i+1
i-- => i = i-1
- - i => i = i-1
i = 100;
x = i++; // x = 100
i = 100;
x = ++i; // x= 101
注意:
-
只能对变量做++和 - - 运算,不能对常量和表达式做++和 - - 运算
5++; //ERROR
(3+x)++; //ERROR -
建议尽量使用前缀自增(自减),以避免错误。
逗号运算符
逗号运算符优先级最低。康康下面例子中的代码。
#include <stdio.h>
int main(void) {
int x;
// 先计算 x = 3+5, 再计算 3*5 ,因为逗号优先级最低,
//赋值运算算出3+5后赋给x整个赋值运算结束
x = 3+5, 3*5, 10/5;
printf("x=%d\n", x); //x=8
//取最后一个表达式的值,作为整个“逗号表达式”的值
//因为括号的原因,三个值依次赋给x,最后值为10/5
x = (3+5, 3*5, 10/5);
cout << x << endl; //x=2
return x;
}
三目运算符
条件 ? 表达式 1 :表达式 2
如果条件为真,就取表达式 1 作为整个表达式的值
如果条件为假,就取表达式 2 作为整个表达式的值
#include <stdio.h>
#include <Windows.h>
using namespace std;
int main(void) {
int salary;
printf("请输入您的月薪: ");
scanf("%d", &salary);
//salary大于30000为真,结果为“老鸟”,否则为“菜鸟”
cout << (salary > 30000 ? "老鸟" : "菜鸟") << ", 晚上好!" << endl;
system("pause");
return 0;
}
上一篇: webug4.0—显错注入
下一篇: MTU(2) 进阶/思考
推荐阅读
-
镜花水月(二)
-
Django第二篇
-
redis常用命令(二)
-
使用二进制替代解决全排列问题 博客分类: java算法 算法全排列字符串二进制
-
【算法百题之二十一】20网易面试题-二进制计数
-
Netcdf (二) 博客分类: J2EE J#AccessIED语言prototype
-
海老师的技术博客: OCA 考试 准备笔记(二):Operators and Statements
-
第二章 面向对象的几个基本原则 博客分类: J2EEJava设计模式设计Java基础
-
第二章 面向对象的几个基本原则 博客分类: J2EEJava设计模式设计Java基础
-
求二进制数中1的个数 博客分类: java 服务 java算法二进制