C++循环与关系表达式

目录

循环与关系表达式

for、while是入口条件循环,do while 是出口条件循环; 输入:cin » ch;忽略空格、换行符和制表符“\t”。cin.get(ch) 和 ch=cin.get()成员函数调用,返回下一个输入字符,包括空格、换行符和制表符“\t”。

循环

for循环

for(初始化表达式; 测试表达式; 更新表达式) {循环体}

副作用:判定表达式为“=”时,会带来副作用,即修改被赋值者的值,因为这种操作改变了内存中数据的值。

顺序点:语句中的分号是一个顺序点,程序处理下一条语句之前,赋值运算符、递增运算符和递减运算符执行的所有修改都必须完成。任何一个完整的表达式(不是其他表达式的子表达式)末尾都是一个顺序点。

eg1:

while (guessts++ < 10)
	cout << guessts << endl;  //测试条件是一个完整的表达式,末尾是一个顺序点,C++确保副作用 guessts 在进入cout之前完成+1.

eg2:

y = (4 + x++) + (6 + x++); //整个表达式末尾分号标示了顺序点,是一个完整表达式,C++只保执行到下条语句前x自增两次,不能保证在每次子表达式计算后将x值增加.

while 循环

while (判断表达式)
	循环体

do while 循环

do
	循环体
while(循环条件)

表达式

递增与递减运算符和指针

1、前缀递增、前缀递减(++X、–X)和 解除引用运算符(*X)的优先级相同,以从右到左的方式进行结合;

2、后缀递增、后缀递减(X++、X–)优先级相同,但比前缀运算符优先级高,以从左到右的方式进行结合。

eg:

*++pt; //将++应用于pt,然后 * 应用于被递增后的pt.

++*pt; //pt先解除指针引用,将pt指向地址中存储的值加1.

*pt++; //pt指针先递增,然后解除引用.

组合运算符

=+、-+、*=、/=、%=

复合语句

如果在一个语句块中声明一个变量,而外部语句块中也定义了一个这种名称的变量,在声明位置到内部语句块结束的范围内,新变量将隐藏旧变量,然后旧变量再次可见。

逗号运算符

1、合并表达式: 允许将两个表达式放到C++语法只允许放一个表达式的地方。如 ++j,++i

2、分开变量列表相邻的名称: 如 int x, y;

3、顺序点: 逗号运算符是一个顺序点。所有运算符中逗号运算符优先级最低。

eg1:

i = 20, j = 2 * i     //逗号表达式的值是第二部分的值,40

eg2:

x = 17,240;  //等价于 (x=17), 240  后面的值不起作用

eg3:

x = (17,240);  //x的值为240,逗号右侧的表达式值


字符串比较

不能用关系运算符来比较字符串,但可以比较字符,字符本质上是整形。

比较string类字符串

可以将关系运算符用于string类

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦