bc命令的语句
1) 分号 和 换行符号newline 完整语句标识号,标识了一条可被bc执行的完整语句 \newline字符组合,则取消newline的完整语句标识号作用,此时bc将这个newline看作是spcace 2) 表达式/语句按顺序依次执行 --------------------------------------------------------------------------------------------------- 语句 含义 ----------------------------------------------------------------------------------------------- expr 1) 当expr是var[<op>]= expression ,即是赋值语句时:仅完成赋值功能 2) 当expr不是赋值语句,则计算expr的值并显示 1)使用obase进制显示最终的计算结果 2)显示数值后再自动显示newline,即显示完毕后光标自动换到下一行行首 ----------------------------------------------------------------------------------------------- string 终端显示字符串string(不显示字符串开始,结束标记) 1) 字符串string开始标记 结束标记,二者间的所有字符都被当作字符串中的字符 2) 显示字符串string后不会自动显示newline,即显示完毕后光标不移动 》POSIX标准:字符串中可以包含全部的基本ASCII的字符 》本版本bc :字符串中不能包含NUL字符 ----------------------------------------------------------------------------------------------- print list 依次输出显示list列表中的值 1) list是string和expr组成的列表,用逗号分割 2) 依次显示list中的每个string,expr的值(显示完毕后不自动换行) 3) 先计算expr的值,后显示计算得到的结果(显示后将其赋值给预定义变量last) 4) print显示的字符串可以包如下含转义序列: \a表示振铃 \b表示退格 \f表示走纸 \n表示换行 \r表示回车 \q表示符号 \t表示水平制表 \\表示\符号 其它任何转义字符组合都会被忽略(非合法组合会被直接删除) 》POSIX标准:不包含print语句 ----------------------------------------------------------------------------------------------- {statement-list} 组合语句,逻辑上相当于一条语句 ----------------------------------------------------------------------------------------------- if(expr) statemet-1 POSIX标准 if(expr) statemet-1 else statement-2 非POSIX标准 如果expr的值非0,则执行statement-1,否则执行statement-2 ----------------------------------------------------------------------------------------------- while(expr) statement 如果expr的值非0,则执行statement,否则终止循环(break亦可用于终止循环) ----------------------------------------------------------------------------------------------- for([expr-1];[expr-2];[expr-3]) statement expr-1,expr-2,expr-3均可省略,expr-2省略时表示条件一直为真 》POSIX标准要求三个表达式均不可省略 ----------------------------------------------------------------------------------------------- break 结束(一层)while/for循环 ----------------------------------------------------------------------------------------------- continue 开始(一层)下一次while/for ----------------------------------------------------------------------------------------------- halt 执行时,退出bc(非POSIX) -----------------------------------------------------------------------
示例 $a=0 $a=0 $if(a) halt $if(a) quit 由于a为0假,所以halt未执行,bc没有退出 quit命令在'编译'时就被执行,bc退出 ----------------------------------------------------------------------------------------------- return 从函数返回0 return(expr) 从函数返回expr的值 return expr 从函数返回expr的值 》POSIX标准要求expr必须放在圆括号中,即return(expr)
伪语句
==============================================
非传统上的可执行语句,它们在'编译'时执行 ----------------------------------------------------------------------------------------------- limits 显示本机bc程序的'限制'信息(非POSIX) ----------------------------------------------------------------------------------------------- quit 出现,即退出bc ----------------------------------------------------------------------------------- $a=0 $a=0 $if(a) halt $if(a) quit 由于a为0假,所以halt未执行,bc没有退出 quit命令在'编译'时就被执行,bc退出 ----------------------------------------------------------------------------------------------- warranty 显示完整格式的bc软件信息(非POSIX)