欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

镜花水月(二)

程序员文章站 2024-03-24 22:27:40
...

其它运算

本回开讲前我们先回顾一下上回书的内容。
上回书我们学习了:

     
==   >  >=   <   <=  !=
&&   ||   !
&   |   ~   ^   >>   <<

     
本回书我们学习算术运算:
镜花水月(二)
镜花水月(二)
     
赋值运算:

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

镜花水月(二)
注意:

  1. 只能对变量做++和 - - 运算,不能对常量和表达式做++和 - - 运算
    5++; //ERROR
    (3+x)++; //ERROR

  2. 建议尽量使用前缀自增(自减),以避免错误。

     
逗号运算符

逗号运算符优先级最低。康康下面例子中的代码。

#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; 
}