计算机科学

首页 > 计算机科学

语句 (程序设计)

2018-08-31 09:32:04     所属分类:程序架构

语句(statement)又称述句陳述式描述式語句陈述句等。在计算机科学的编程中,一个语句是指令式编程语言中最小的独立元素,表达程序要运行的一些动作。多数语句是以高级语言编写成一或多个语句的序列,用于命令计算机运行指定的一系列操作。单一个语句本身也具有内部结构(例如表达式)。

许多语言(例如说,C语言)将语句与定义句(definition)分隔的很明确,因为语句只会有运算符号以及一些宣告标识符号(identifier)的定义。我们也可以找出简单语句与复合语句之间的差异;后者会在一个段落中包含了许多语句。

目录

  • 1 语句的种类
    • 1.1 简单语句(simple statement)
    • 1.2 复合语句(compound statement)
  • 2 表示式
  • 3 编程语言
  • 4 参见
  • 5 参考资料

语句的种类

以下是主要通用的语句种类,加上典型的指令式语言的示例:

简单语句(simple statement)

  • 指定(赋值)
    • C, Fortran: A = A + 5
    • Pascal: A := A + 5
  • 调用
    • C: CLEARSCREEN()
  • 回传return 5;
  • goto
    • C: goto 1
  • 断言
    • C: assert(ptr != NULL);

复合语句(compound statement)

  • blockbegin integer NUMBER; WRITE('Number? '); READLN(NUMBER); A:= A*NUMBER end
  • if语句if A > 3 then WRITELN(A) else WRITELN("NOT YET"); end
  • Switch语句switch (c) { case 'a':alert(); break; case 'q':quit(); break; }
  • While循环while NOT EOF DO begin READLN end
  • Do-while循环do { computation(&i); } while (i < 10);
  • For循环for A:=1 to 10 do WRITELN(A) end

表示式

在大多数编程语言中,语句与表达式互相对比,两者不同之处在于,语句是为了运作它们的副作用而运行;表达式则一定会传回评估后的结果,而且通常不产生副作用。在指令式编程中,Algol 68是语句可有回传值的少数几种语言。在混合指令式和函数式的编程语言(如Lisp)中,表达式和语句之间的分野并不存在:即段落中只为了副作用且不返回值,而依序运行的表达式,也被认为是“表达式”。在纯函数式编程中没有语句;一切都是可被评估的表达式。

在措辞中经常出现这样的区别:一个语句是被“运行”(execute),而一个表达式是被“评估”或对其“求值”(evaluate)。一些语言中具备了exec和eval函数:比如在Python中,exec应用于语句,而eval应用于表达式。

编程语言

语句的语义(sematic)以及句法(syntax)是依据每个编程语言的定义来规定的。

许多的编程语言不允许自我修改代码(self-modifying code)。或者说,多数编程语言不允许在运行时间创造新的语句(Snobol 4则是一个允许这样作的例子)或者修改现有的语句(Lisp则是一个反例)。

参见

  • 控制流程
  • 表示式(作为对比)
  • Comparison of Programming Languages - Statements

参考资料

  • 1

上一篇:类型双关
下一篇:临界区块
相关推荐