第4章顺序结构程序设计
学习目标:
了解C语句的分类
理解C语言中的九种控制语句
掌握数据的输入与输出的使用
掌握顺序结构程序设计方法
从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构、选择结构以及循环结构。这三种基本结构可以组成所有复杂的程序。C语言提供了多种语句来实现这些程序结构。本章从介绍数据的输入与输出着手,着重介绍三种基本结构中最基本的一种――顺序结构的设计方法及其运用。
C语句概述
在C程序结构中,一个C程序可以由若干个源程序文件组成,一个源文件可以由若干个函数、预处理命令以及全局变量的声明部分组成,一个函数由数据定义部分(声明部分)和执行语句组成。
在前面已经介绍过,程序应该包括数据描述(声明部分)和数据操作(执行部分)。数据描述主要定义数据结构(如定义数据的类型)和数据的初始化值。数据操作的任务是对已定义的数据进行进一步的加工。C程序的执行部分是由语句组成的, 程序的功能也是由执行语句实现的。
C语句可分为以下五类:
控制语句,由特定的语句定义符组成,用于控制程序的流程, 以实现程序
的各种结构方式。
C语言有九种控制语句。 可分成以下三类:
(1) 条件判断语句
if () ~ else~ (条件语句)
switch (转向语句)
(2) 循环执行语句
do ~ while (循环语句)
while (循环语句)
for ()~ (循环语句)
(3) 转向语句
continue (结束本次循环语句)
break (中止执行switch或循环语句)
goto (转向语句)
return (从函数返回语句)
上述中()表示限制条件,~表示内嵌的语句。例如:if(a<=b) c=a;else c=b;
表达式语句由表达式组成的,在一个表达式的最后加上一个分号“;”就成了一个语句。分号是语句中不可缺少的一部分。表达式语句的一般形式为:表达式;
下面的例子能让读者了解表达式与表达式语句的差别:
a=10
可以看到,表达式最后没有“;”作为结束符,故a=10是一个赋值表达式,而
a=10;
是在赋值表达式后加上了“;”,故是一个赋值语句。
同理:i=i+1是一个表达式而不是语句,i=i+1;是一个语句。
任何表达式都可以在其后面加上分号而使其变成语句,例如:
i++;
是一个语句,作用是使i的值加1。作用和i=i+1;同,有实际意义。又如
x=y+z;是一个赋值语句,作用是把y和z经过加法运算后,把相应的值赋给x。而y+z;是一个加法运算语句,作用是实现y+z的操作,是合法的,但并不把y+z的和赋给另一个变量,计算结果不能保留,所以它无实际意义。
值得注意的一点是:
C语言的赋值语句具有其他高级语言的赋值语句的一切特点和功能,但也有所不同:
(1)C语言中的赋值符号“=”是一个运算符,而在其他大多数语言中赋值号不是运算符。
(2)其他大多数高级语言没有“赋值表达式”这一概念。赋值表达式也可以包含在其他表达式里边,例如:
if((a=b)>0)c=0;
按语法的规定,if后面的()内应是一个判断条件,诸如:if(x>0)…。而if((a=b)>0)中,x的位置代换为a=b,其目的是先进行赋值运算,将b的值赋给a,然后再判断a是否大于0,如大于0则执行c=0。所以,在if语句中,“a=b”是一个赋值表达式而不是一个赋值语句,是合法的。如写为:
if((a=b;)>0)c=0;就属于不合法内容。
由函数名、实际参数加上分号“;”组成。其一般形式为:
函数名(实际参数表);
执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。(在函数一章中再作详细介绍)
例如:
printf("C Program!");
作用是调用标准库函数printf(),输出字符串。
把多个语句用括号{}括起来组成的一个语句称复合语句,又称分程序。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如:
{
x=y+z;
a=b+c;
printf(“%d%d”,x,a);
}
是一条复合语句。注意:复合语句内的各条语句都必须以分号“;”结尾,不能省略不写。在括号“}”外不能再加分号。
只由分号“;”组成的语句称为空语句。 下面是一个空语句:
;
空语句是什么也不执行的语句。有时用来做被转向点,或在程序中可用来表示空循环体(表示循环体什么也不执行)。
例如:
while(getchar()!=’\n’);
本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。
数据的输入与输出
数据输入输
第4章 顺序结构程序设计 来自淘豆网www.taodocs.com转载请标明出处.