for循环的语句表达是什么意思?
它的执行过程如下:
执行表达式1,对循环变量做初始化;
判断表达式2,若其值为真(非0),则执行for循环体中执行代码块,然后向下执行;若其值为假(0),则结束循环;
执行表达式3,(i++)等对于循环变量进行操作的语句;
执行for循环中执行代码块后执行第二步;第一步初始化只会执行一次。
循环结束,程序继续向下执行。
注意:for循环中的两个分号一定要写
在for循环中:
表达式1是一个或多个赋值语句,它用来控制变量的初始值;
表达式2是一个关系表达式,它决定什么时候退出循环;
表达式3是循环变量的步进值,定义控制循环变量每循环一次后按什么方式变化。
这三部分之间用分号 ; 分开。
使用for语句应该注意:
for循环中的“表达式1、2、3”均可不写为空,但两个分号(;;)不能缺省。
省略“表达式1(循环变量赋初值)”,表示不对循环变量赋初始值。
省略“表达式2(循环条件)”,不做其它处理,循环一直执行(死循环)。
省略“表达式3(循环变量增减量)”,不做其他处理,循环一直执行(死循环)。
表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。
表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分割。
中缀表达式转换为后缀表达式
由后缀表达式的特点可以知道,后缀表达式的操作数与中缀表达式的操作数先后次序相同,只是运算符的先后次序不同,因此,可以利用栈来保存运算符,具体转换过程如下:
1、设置一个存放运算符的栈(运算符栈),并置栈顶元素为“#”。“#”作为标识表达式开始的标志,另外在表达式的尾部添加一个“#”,把它作为标识表达式结束的标志。
2、从左到右依次扫描表达式,每次取出一个字符(操作数、运算符和括号均看作一个字符)。
3、若字符是操作数,则直接输出到后缀表达式中。
4、若字符是运算符,则与栈顶运算符进行比较。如果它的优先级比栈顶运算符优先级高,则直接入栈;如果它的优先级比栈顶运算符优先级低或相等,则栈顶运算符出栈并输出到后缀表达式中。
5、若字符是“(”,则直接入栈。