C编程从入门到实践
上QQ阅读APP看书,第一时间看更新

6.1.1 C语句简介

C语言程序的组成比较复杂,不但有变量和常量等简单元素,还有函数、数组和语句等较大的个体。但是从整体上看,C语言程序的结构比较清晰。具体组成结构如图6-1所示。

图6-1 C语言程序的结构

C程序的执行部分是由语句组成的,程序功能也是由执行语句实现的。C语言的语句可分为如下5类。

1.表达式语句

表达式语句由表达式加上分号“;”组成,其一般格式如下。

    表达式;

经常说的执行表达式语句就是计算表达式的值,例如下面是一个赋值表达式。

    x=3

而下面都是语句。

    x=y+z;                           //赋值语句
    y+z;                             //加法运算语句,但不保留计算结果,无实际意义
    i++;                             //自增1语句,i值增1

从上面的代码可以看出,语句的最显著特点是有分号“;”。

2.函数调用语句

函数调用语句由函数名、实际参数和分号“;”组成,其一般格式如下所示。

    函数名(实际参数表);

经常说的执行函数语句,就是调用函数体并把实际参数赋值给函数定义中的形参,然后执行被调函数体中的语句来求取函数值。例如下面的函数语句。

    printf("C Program");

上述函数语句可调用库函数,输出字符串。

注意:函数语句也属于表达式语句,因为函数调用也属于表达式的一种。为了便于理解和使用,才把函数调用语句和表达式语句分开来讲。

3.控制语句

C语言中的控制语句用于控制程序流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。在C语言中有9种控制语句,具体可以分为以下3类。

❑ 条件判断语句:包含if语句、switch语句。

❑ 循环执行语句:包含do while语句、while语句、for语句。

❑ 转向语句:包含break语句、goto语句、continue语句、return语句。

上述语句都将在后面的内容中进行详细介绍。

4.复合语句

复合语句就是把多个语句用括号“{}”括起来组成的语句,复合语句通常又称为分程序。在程序中应该把复合语句看成是单条语句,而不是多条语句。例如下面的语句就是一条复合语句。

    x=m+n;
    a=b+c;
    printf("%d%d"x, a) ;

在复合语句内各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。

5.空语句

只有分号“;”的语句称为空语句。空语句是什么也不执行的语句,在程序中空语句可用来作为空循环体。例如下面的第2行语句就是空语句。

    while(getchar()! ='\n')
    ;

上述语句的功能是,只要键盘输入的字符不是回车符就重新输入。

在C语言中,允许在一行上同时写几个语句,也允许将一个语句拆开后写在几行上,书写格式可以不固定。

注意:在C语言中,编译器在读取源代码时,只会查找语句中的字符和末尾的分号“; ”,而会忽略里面的空白(包括空格、制表符和空行)。所以在编写C程序代码时,程序可以写成如下格式。

    a=b+c;

也可以写成如下格式。

    a=b+       c;

甚至可以写成如下格式。

    a=
    b+

    c;

空白可以忽略并不代表C程序中的所有空白都应忽略。字符串中的空白和制表符就不能忽略,应认为它们是字符串的组成部分。字符串常量会用引号将一系列的字符括起来,在编译时会逐字进行解释,而不会忽略其中的空格。例如下面的两段字符串是不相同的。

    "My name is Guan Xijing"
    "My  name is  Guan  Xijing"

执行后,后者的间隔会大于前者的,具体间隔的大小和代码中的间隔大小一致。