《C编程.计算机科学》1.声明

语句是给予该指示计算机执行特定操作,例如显示在屏幕上,或收集输入计算机的命令。计算机程序由一系列语句组成。

在C中,语句可以是以下任何一种:

标记语句

声明前面可以有一个标签。C中存在三种类型的标签。

后跟冒号(:)的简单标识符是标签。通常,此标签是goto声明的目标。

switch报表,casedefault标记报表存在。表格声明

case 常量表达式 : 语句

表示如果语句的控制表达式switch的值与constant-expression的值匹配,则控件将传递给此语句。(在这种情况下,constant-expression的类型必须是整数或字符。)表单的声明

default : 声明

指示将控制将传递到该语句,如果控制表达switch语句不匹配任何的恒定表达的内switch声明。如果default省略该语句,则控件将传递到语句后面的switch语句。在一个switch语句中,只能有一个default语句,除非该switch语句在另一个switch语句中。

复合语句

一个复合语句就是这样,C三组多个语句合并为一个语句。它由大括号内的多个语句和声明组成(即{})。在1989-1990的ANSI C标准中,复合语句包含一个可选的声明列表,后跟一个可选的语句列表; 在最近的标准修订版中,声明和声明可以通过代码自由交织。函数体也是规则的复合语句。

表达式声明

一个表达式语句由一个可选的表达,随后分号(的;)。如果表达式存在,则该语句可能具有值。如果不存在表达式,则该语句通常称为空语句

printf函数调用是表达式,那么语句如printf ("Hello World!\n");在表达式语句。

选择陈述

C中存在三种类型的选择语句:

if ( 表达 ) 陈述

在这种类型的if语句中,仅当表达式为非零时才会执行子语句。

if ( 表达式 ) 语句 else 声明

在这种类型的if语句中,只有当表达式为非零时,才会执行第一个子语句; 否则,将执行第二个子语句。每个else匹配最接近的不匹配if,以便以下两个代码片段不相等:

 if  (表达式)
   if  (secondexpression ) statement1 ; 
 else 
   statement2 ;

 if  (表达式)
   { 
     if  (secondexpression ) statement1 ; 
   } 
 else 
   statement2 ;

因为在第一个else语句中,语句与secondexpression用于控件的if语句匹配,但在第二个语句中,大括号强制它else与控件的if语句匹配expression

Switch语句也是一种选择语句。他们有格式

switch ( 表达 ) 陈述

这里的表达式是整数或字符。这里的语句通常是复合语句,它包含大小写标记的语句和可选的默认标记语句。

迭代语句

C有三种迭代语句。第一个是带有表单的while语句

while ( 表达 ) 陈述

只要控制表达式在每次迭代开始时评估为非零,一段时间的子语句就会重复运行。如果控制表达式在第一次计算到零时,则子语句可能根本不运行。

第二个是表格的do-while声明

do 陈述 while ( 表达 ) ;

这类似于while循环,除了控制表达式在循环结束而不是开始时计算,因此子语句必须至少执行一次。

第三种迭代语句是for语句。在ANSI C 1989中,它具有形式

for ( 表达选择 ; 表达选择 ; 表达选择 ) 语句

在C标准的更新版本中,声明可以替代第一个表达式。在选择下标表示该表达式是可选的。

该声明

  for  (e1 ;  e2 ;  e3 )
    s ;

是粗略的等价物

  { 
    e1 ; 
     (e2 )
      { 
        s ; 
        e3 ; 
      } 
  }

除了continue内部的陈述行为s

e1表达式表示的初始条件; e2控制表达; 以及e3循环的每次迭代会发生什么。如果e2缺少,则表达式在每次迭代时都被认为是非零的,并且只有一个break语句s(或对非返回函数的调用,如exitabort)将结束循环。

跳转声明

C有四种类型的跳转语句。第一个,goto声明,是谨慎使用并具有形式

goto 识别码 ;

此语句将控制流转移到标有给定标识符的语句。该声明必须与该声明具有相同的功能goto

第二个是break语句,带有表单

break ;

在迭代语句和switch语句中用于将控制流传递给while,do-while,for或switch之后的语句。

第三个是继续声明,带有表格

continue ;

在迭代语句的子语句中用于将控制流转移到子语句结束之前的位置。在for语句中,迭代表达式(e3上面)将在e2评估控制表达式(上面)之前执行。

第四种类型的跳转语句是return带有表单的语句

return 表达选择 ;

该语句从函数返回。如果函数返回类型是void,则函数可能不返回值; 否则,表达式表示要返回的值。

猜你想读:《C编程.计算机科学》2.副作用和序列点

THE END
分享