一、课程小节——表达式和语句
一个程序是由分号分隔的一系列表达式,表达式的基本单元:数、名字、运算符。每个赋值运算符是一个单独的词法单词,因此对于a+ =1;是个语法错误,因为在+和=之间出现了空格。
二元运算符都有:+ — * / % | & ^ << >>
他们对应的地扶植运算符有:+= -= *= /= %= |= &= ^= <<= >>=
其中,&、| 和 ^ 分别是 按位逻辑“与”、按位逻辑“或”和按位逻辑“异或”运算符。
有一段有意义的代码:(选自BS 。《C++程序设计语言》特别版 99页)
double term(bool get)
{
double left=prim(get);
for( ; ; ) // HERE MEANS FOREVER
switch(curr_tok)
{
case MUL :
left *=prim( ture) ;
break ;
case DIV:
if(double d=prim(ture) )
##############/*变量d正是在需要他的地方才被引进程序,而且立即被作了初始化。一个在条件中引进的名字,其作用与就是这个条件所控制的语句,其结果值被作为这个条件的值。这样,只有在d不是0的情况下除
法赋值left/=d才会进行*/#########################################
{
left /=d ;
break ;
}
return error(" divide by 0") ;
default :
return left ;
}
} //END
赋值也是一个运算符,赋值表达式的结果就是赋给变量的那个值。在一个语句中作两件事对于维护很有帮助。例如
char ch=0;
要比 char ch;
ch=0;
有效率。