一个C程序是由若干语句组成的,每个语句以分号作为结束符。C语言的语句可以分为5类,它们是:控制语句、表达式语句、函数调用语句、空语句和复合语句。其中,除了控制语句外,其余4类都属于顺序执行语句,下面分别介绍。
在表达式的后面跟一个分号就构成了一个表达式语句,最常见的是赋值语句,它是由一个赋值表达式后跟一个分号形成,程序中的很多计算都由赋值语句完成。例如:
n=10; /*将10赋值给n变量*/
x=2*x; /*将变量x的值乘以2的结果赋给变量x*/
事实上,任何表达式都可以加上分号而成为语句,例如,经常在程序中出现如下的语句:
i++; /*使i变量的值加1*/
任何表达式加上分号都可以构成语句,需要注意的是,有些写法虽然是合法的,但是它们没有保留计算结果,因而并没有实际意义。例如:
a-1;
i++-2;
由函数调用加上分号组成,如:
printf("%f",a); /*输出实型变量a之值*/
当然,函数是一段程序,这段程序可能存在于函数库中,也可能是由用户自己定义的,当调用函数时会转到该段程序执行。但函数调用以语句的形式出现,它与前后语句之间的关系是顺序执行的。
空语句是指只有一个分号的语句,即:
;
它也是一个语句,虽然不产生任何动作。在程序中,如果没有什么操作需要进行,但从语句的结构上来说必须有一个语句时,可以书写一个空语句。
用大括号“{}”把一些语句括起来,对外视做一个语句,就构成了一个复合语句。
例如:
{
a=2;
b=10;
c=sqrt(a*a+b*b);
}
复合语句可以出现在允许语句出现的任何地方,在选择结构和循环结构中都会看到复合语句的用途。
下边举一个例子来说明顺序结构的程序设计方法。
【程序3-1】设变量x=10.2、y=20.5,编程序实现两个变量的值互换。
图3-4 程序流程图
|
/* 文件名:chap03_1.cpp */
#include <stdio.h>
void main()
{
double x,y,t;
printf("Enter x and y:\n");
scanf("%lf%lf",&x,&y);
t=x;
x=y;
y=t;
printf("x=%f,y=%f\n",x,y);
}
运行程序:
Enter x and y:
输入:12.34□34.12↙(↙表示回车,□表示空格)
输出:x=34.120000,y=12.340000
第一个printf函数输出的是提示信息,提醒用户输入x和y的值;x、y值交换后用%f格式输出x和y的值(输出double型数据可以用%f格式,但输入double型数据必须用%lf或%le格式)。在格式字符串中用"x=","y="是为了对输出的数据进行说明,使输出数据更明确。