第3章C语言程序的流程控制Word文档下载推荐.docx

上传人:b****5 文档编号:15765653 上传时间:2022-11-16 格式:DOCX 页数:14 大小:98.53KB
下载 相关 举报
第3章C语言程序的流程控制Word文档下载推荐.docx_第1页
第1页 / 共14页
第3章C语言程序的流程控制Word文档下载推荐.docx_第2页
第2页 / 共14页
第3章C语言程序的流程控制Word文档下载推荐.docx_第3页
第3页 / 共14页
第3章C语言程序的流程控制Word文档下载推荐.docx_第4页
第4页 / 共14页
第3章C语言程序的流程控制Word文档下载推荐.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

第3章C语言程序的流程控制Word文档下载推荐.docx

《第3章C语言程序的流程控制Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第3章C语言程序的流程控制Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。

第3章C语言程序的流程控制Word文档下载推荐.docx

(5)流程线用带箭头的直线表示程序的执行顺序。

当流程自左向右或自上向下时流程线可以不带箭头,其它情况应加箭头表示流程。

(6)连接点用小圆圈表示将画在不同地方的流程线连接起来。

下图中有两个以①为标志的连接点,它表示这两个点是互联在一起的,实际它们是同一个点。

这种连接通常用在图形画不下而需要分开画时。

 

(7)注释框不是流程图的必要部分,其不反映流程操作,只是为了流程图中某些操作做解释补充的,以帮助阅读流程图的人更好的理解流程图的作用。

2. N-S流程图

灵活的流程线在程序设计中有它自己的优点,但也隐藏着许多导致错误的祸根。

因为它允许用流程线使流程任意转移,这对程序设计是一个隐患,它使程序流程看起来很乱,使程序难以理解和维护。

针对这一弊病,1973年美国学者I.Nassi和B.Shneiderman提出了一种无流程线的流程图,称为N-S图。

它的基本表示方法是用一个矩形框,把整个程序算法像堆积木一样组成。

其基本结构如图3.3、3.4、3.5、3.6所示。

3.1.2 程序的三种基本结构

结构化的程序设计方法是面向过程的程序设计的基本方法。

1996年意大利Bobra和Jacopini提出了三种基本程序结构。

已经证明,这三种算法可以解决任何复杂的问题。

1.顺序结构

(传统流程图表示)(N-S流程图表示)

图3.3顺序结构流程图

2. 选择结构

(传统流程图表示)(N-S流程图表示)

图3.4选择结构流程图

3. 循环结构

(1)while循环结构

不成立成立

                    

(传统流程图表示)(N-S流程图表示)

图3.5当型循环结构流程图

(2)do…while循环结构

不成立

成立

(传统流程图表示)(N-S流程图表示)

图3.6直到型流程图

例3.1画出求s=1+2+3+…+100的传统流程图和N-S流程图。

开始

3.2C语言的基本语句

3.2.1 表达式语句

C语言是一种表达式语言,所有的操作运算都是通过表达式来实现的。

由表达式组成的语句称为表达式语句,它是由一个表达式后接一个分号组成。

这里要特别强调,没有分号的不是语句。

1.赋值语句

赋值语句由赋值表达式加一个分号组成。

例如:

i=1;

2. 函数调用语句

 函数调用语句由函数调用表达式后跟一个分号组成。

  strcpy(s1,"

student"

4);

  printf("

goodafternoon\n"

);

3. 空语句

空语句是只有一个分号而没有其他表达式的语句。

 ;

它不产生任何操作运算,只作为形式上的语句,被填充在控制结构之中。

3.2.2 复合语句

C语言还允许把一组语句放在一对花括号之中,称为复合语句。

要特别强调一点,一个复合语句的后花括号之后不应再写分号。

{

c=getchar();

b=b+c;

putchar();

}

3.2.3 流程控制语句

选择型结构语句

循环控制结构语句

流程转向语句

……

3.3 选择结构程序设计

在C语言中实现选择结构的语句有两大类:

if语句和switch语句。

3.3.1 if语句

(1)简单if语句

格式:

if(表达式)语句;

功能:

如果表达式的值为真,则执行其后的语句,否则不执行该语句。

其N-S流程图如图3.9表示。

图3.9简单if语句流程图

(2)基本if…else语句

if(表达式)语句1;

else语句2;

 

如果表达式值为真,则执行语句1,否则执行语句2。

其执行过程如图3.10所示。

图3.10基本if…else语句流程图

例3.3从键盘输入任意一整数,求其绝对值并输出。

#include<

stdio.h>

intx;

printf("

pleaseenteranumber:

"

);

scanf("

%d"

&

x);

if(x<

0)

x=-x;

else

x=x;

numberabsisd%"

x);

(3)if语句的嵌套

当if语句中执行的语句又是if语句时,那么就构成了if语句的嵌套。

其一般形式可以表示如下:

if(表达式)

if语句1;

else

if语句3;

else语句4;

在if语句的三种形式中,如果所要执行的语句超过一条必须用花括号括起来,构成一条复合语句,才能被完全执行。

例如:

if(a>

b)

{a++;

b++;

}

{a=10;

b=100;

3.3.2switch语句

一种用于多分支选择的语句——switch语句,用该语句编写的程序简洁、易懂。

而且,其执行效率要比同样功能的阶梯式if…elseif…else语句要高的多。

1. switch语句的一般形式

switch语句的一般形式如下:

switch(表达式)

case常量表达式1:

语句组1;

case常量表达式2:

语句组2;

·

·

case常量表达式n:

语句组n;

default:

语句组n+1;

2. switch语句的执行过程

系统首先计算“表达式”的值,并逐个与其后的“常量表达式”的值相比较,当“表达式”的值与某个“常量表达式”的值相等时,就以此作为程序执行的入口,执行switch结构中后面的各语句。

如果没有任何一个case后面的“常量表达式”的值与“表达式”的值匹配,则执行default后面的语句(组)。

例3.6 用switch语句实现例3.4的功能。

main()

intscore;

pleaseinputscore(0-100):

"

%d"

score);

/*从键盘输入学生成绩*/

switch(score/10);

{

case10:

case9:

printf("

excellent\n"

break;

case8:

good\n"

break;

case7:

medium\n"

case6:

pass\n"

default:

fail\n"

3.4 循环结构程序设计

C语言提供了循环控制的三种语句:

while语句、do…while循环语句和for循环语句。

3.4.1while语句

while语句是一种条件循环结构,其控制结构如下:

while(条件表达式)

循环体

例3.7 计算并输出从1加到100的和:

s=1+2+3+┅100。

intsum=0,i=1;

/*设置和与循环变量*/

while(i<

=100)

{sum=sum+i;

i++;

}

Sum=%d"

sum);

程序执行结果如下:

Thesumof1to100equalsis:

5050

3.4.2 do…while循环语句

do…while结构在C语言中用于实现“直到型”循环。

其一般形式为:

do

 循环体

while(条件表达式);

例3.9 用do…while语句求1+2+3+…+100的和。

inti=1,sum=0;

do

i++;

=100);

sum=%d"

sum);

3.4.3 for循环语句

for语句的使用最为灵活,既可以用于循环次数确定的情况,也可以用于循环次数未知的情况。

for语句的一般形式如下:

for(表达式1;

表达式2;

表达式3)

如图3.13所示,for语句的执行流程是:

图3.13for语句的执行流程

例3.10 输入一个整数,求出它的所有因子。

求一个整数n的所有因子可以采用穷举法,对1~n的全部整数进行判断,凡是能够整除n的都是n的因子。

由分析可知,这是一个已知循环次数的循环,因此可以使用for语句。

intn,k;

Pleaseinputapositiveinteger:

n);

Number%dFactors:

n);

for(k=1;

k<

=n;

k++)

if(n%k==0)

%d"

k);

\n"

程序某次的运行结果如下:

36↙

Number36Factors:

123469121836

3.4.4 循环嵌套

一个循环体内又可以包含另外一个完整的循环结构,从而构成多重循环结构,这就是循环的嵌套。

3.4.5continue和break语句

1. continue语句

continue语句可以出现在循环体中,其作用是结束本次循环,但不退出循环结构。

它跳过循环体中下面尚未执行的语句,直接进行下一次是否执行循环的判定。

例3.12输出60~600之间所有不能被9整除的数。

intm;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 卡通动漫

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1