文档介绍:C语句概述
程序的三种基本结构
赋值语句
数据输入输出的概念及在C语言中的实现
字符数据的输入输出
格式输入与输出
顺序结构程序设计举例
习题
第4章最简单的c程序设计—顺序程序设计
在上一章介绍了程序中用到的一些基本要素(常量、变量、运算符、表达式等),它们是构成程序的基本成分。在第1章中已经介绍了几个简单的c程序。本章将介绍为编写简单的程序所必需的一些内容。
C语句概述
和其他高级语言一样,c语言的语句用来向计算机系统发出操作指令。一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干语句。应当指出,c语句都是用来完成一定操作任务的。声明部分的内容不应称为语句。如:int a;不是一个c语句,它不产生机器操作,而只是对变量的定义。从第1章已知,一个函数包含声明部分和执行部分,执行部分即由语句组成。。即一个c程序可以由若干个源程序文件(分别进行编译的文件模块)组成,一个源文件可以由若干个函数和预处理命令以及全局变量声明部分组成(关于“全局变量”见第7章,“预编译命令”见第8章),一个函数由数据定义部分和执行语句组成。
在第2章中已经说明,程序应该包括数据描述(由声明部分来实现)和数据操作(由语句来实现)。数据描述主要定义数据结构(用数据类型表示)和数据初值。数据操作的任务是对已提供的数据进行加工。
C语句可以分为以下5类:
(1) 控制语句,完成一定的控制功能。c只有9种控制语句,它们是:
① if()~else~ (条件语句)
② for()~ (循环语句)
③ while()~ (循环语句)
④ do~while() (循环语句)
⑤ continue (结束本次循环语句)
⑥ break (中止执行switch或循环语句)
⑦ switch (多分支选择语句)
⑧ goto (转向语句)
⑨ return (从函数返回语句)
上面9种语句中的括号()表示其中是一个条件,~表示内嵌的语句。例如:“if()~else~”的具体语句可以写成:
if(x>y) z=x;else z=y;
(2) 函数调用语句。由一次函数调用加一个分号构成一个语句,例如:printf("this is a c statement.");
(3) 表达式语句。由一个表达式构成一个语句,最典型的是,由赋值表达式构成一个赋值语句。
a=3
是一个赋值表达式,而
a=3;
是一个赋值语句。可以看到一个表达式的最后加一个分号就成了一个语句。一个语句必须在最后出现分号,分号是语句中不可缺少的一部分(而不像pascal语言那样,分号只是语句间的分隔符号)。例如:
i=i+1 (是表达式,不是语句)
i=i+1; (是语句)
任何表达式都可以加上分号而成为语句,例如i++;是一语句,作用是使i值加1。又如x+y;也是一个语句,作用是完成x+y的操作,它是合法的,但是并不把x+y的和赋给另一变量,所以它并无实际意义。
表达式能构成语句是c语言的一个重要特色。其实“函数调用语句”也是属于表达式语句,因为函数调用(如sin(x))也属于表达式的一种。只是为了便于理解和使用,我们把“函数调用语句”和“表达式语句”分开来说明。由于c程序中大多数语句是表达式语句(包括函数调用语句),所以有人把c语言称作“表达式语言”。
(4) 空语句。下面是一个空语句:
;
即只有一个分号的语句,它什么也不做。有时用来做被转向点,或循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。
(5) 可以用{}把一些语句括起来成为复合语句,又称分程序。如下面是一个复合语句。
{z=x+y;
t=z/100;
printf("%f",t);
}
注意:复合语句中最后一个语句中最后的分号不能忽略不写(这是和pascal不同的)。
C语言允许一行写几个语句,也允许一个语句拆开写在几行上,书写格式无固定要求(fortran、cobol有严格要求)。
程序的三种基本结构
为了提高程序设计的质量和效率,现在普遍采用结构化程序设计方法。结构化程序由若干个基本结构组成。每一个基本结构可以包含一个或若干个语句。有三种基本结构:
(1) 顺序结构,。先执行a操作,再执行b操作,两者是顺序执行的关系。图中(b)是ns结构化流程图(下同)。