ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:98.53KB ,
资源ID:2854589      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2854589.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章C语言程序的流程控制.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章C语言程序的流程控制.docx

1、第3章C语言程序的流程控制第3章 C语言程序的流程控制利用计算机进行程序设计时,不仅仅只处理一些简单的数据,在大部分的程序设计里处理的问题还是相当复杂的。对于那些复杂的程序设计,读者不可能直接就能写出程序的源代码,而是要通过一些具体的设计方法(如用程序流程图)把程序设计思想先写出来,然后根据程序流程图编写代码。本章将具体介绍进行程序设计时使用的基本方法和C程序的流程控制。. 程序设计的基本知识.程序流程图在描述一个程序的基本结构思想时有很多种方法,其中程序流程图是最常用也是最基本的方法。.传统程序流程图传统流程图表示法的特点是用一些图框表示各种类型的操作,用线表示这些操作的执行顺序。美国国家标

2、准化协会ANSI规定了一些常用的流程图符号,现已为世界各国普遍采用。我国也有自己的国家标准GB 1526-89与该标准基本相同,本书就参照ANSI标准做具体介绍。标准中各种图示如图3.1所示。 起止框 输入输出框 判断框 处理框 或 流程线 连接点 注释框 图 3.1 传统流程图表示法下面对其中一些主要符号作简要说明:()起止框是用来标识程序的开始和结束位置的。规定流程图以起止框开始,以起止框结束。()输入输出框也叫数据框,其中可以注明数据名称、来源、用途或其它的文字说明。()菱形框的作用是对一个给定的条件进行判断,根据给定的条件是否成立来决定如何执行其后的操作。()处理框用矩形表示各种处理功

3、能。例如,执行一个或一组特定的操作,从而使信息的值、信息的形式或所在位置发生变化。另外在矩形框内可注明特定处理名称或其简要功能。()流程线用带箭头的直线表示程序的执行顺序。当流程自左向右或自上向下时流程线可以不带箭头,其它情况应加箭头表示流程。()连接点用小圆圈表示将画在不同地方的流程线连接起来。下图中有两个以为标志的连接点,它表示这两个点是互联在一起的,实际它们是同一个点。这种连接通常用在图形画不下而需要分开画时。()注释框不是流程图的必要部分,其不反映流程操作,只是为了流程图中某些操作做解释补充的,以帮助阅读流程图的人更好的理解流程图的作用。.N-S流程图灵活的流程线在程序设计中有它自己的

4、优点,但也隐藏着许多导致错误的祸根。因为它允许用流程线使流程任意转移,这对程序设计是一个隐患,它使程序流程看起来很乱,使程序难以理解和维护。针对这一弊病,1973年美国学者I . Nassi和B . Shneiderman提出了一种无流程线的流程图,称为N-S图。它的基本表示方法是用一个矩形框,把整个程序算法像堆积木一样组成。其基本结构如图3.3、3.4、3.5、3.6所示。.程序的三种基本结构结构化的程序设计方法是面向过程的程序设计的基本方法。1996年意大利Bobra和Jacopini提出了三种基本程序结构。已经证明,这三种算法可以解决任何复杂的问题。1 顺序结构 (传统流程图表示) (N

5、-S流程图表示) 图3.3 顺序结构流程图.选择结构(传统流程图表示) (N-S流程图表示)图3.4 选择结构流程图.循环结构(1)while循环结构不成立 成立 ( 传统流程图表示) (N-S流程图表示)图3.5 当型循环结构流程图(2)dowhile循环结构 不成立成立 ( 传统流程图表示) (N-S流程图表示) 图3.6 直到型流程图例3.1 画出求s=1+2+3+ +100的传统流程图和N-S流程图。开始 . C语言的基本语句.表达式语句C语言是一种表达式语言,所有的操作运算都是通过表达式来实现的。由表达式组成的语句称为表达式语句,它是由一个表达式后接一个分号组成。这里要特别强调,没有

6、分号的不是语句。1. 赋值语句赋值语句由赋值表达式加一个分号组成。例如:i = 1 ; .函数调用语句 函数调用语句由函数调用表达式后跟一个分号组成。例如: strcpy( s1, student, 4 ); printf(good afternoonn );.空语句空语句是只有一个分号而没有其他表达式的语句。例如:;它不产生任何操作运算,只作为形式上的语句,被填充在控制结构之中。.复合语句C语言还允许把一组语句放在一对花括号之中,称为复合语句。要特别强调一点,一个复合语句的后花括号之后不应再写分号。例如: c = getchar(); b = b + c ; putchar();.流程控制语

7、句选择型结构语句循环控制结构语句流程转向语句.选择结构程序设计在C语言中实现选择结构的语句有两大类:if语句和switch语句。.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 int x; printf

8、( please enter a number: ); scanf(%d,&x); if(xb) a+; b+; else a=10; b=100; . switch语句一种用于多分支选择的语句switch语句,用该语句编写的程序简洁、易懂。而且,其执行效率要比同样功能的阶梯式 if else if else语句要高的多。.switch语句的一般形式switch语句的一般形式如下:switch(表达式) case 常量表达式1:语句组1; case 常量表达式2:语句组2; case 常量表达式n:语句组n; default :语句组n+1;.switch语句的执行过程系统首先计算“表达式”的

9、值,并逐个与其后的“常量表达式”的值相比较,当“表达式”的值与某个“常量表达式”的值相等时,就以此作为程序执行的入口,执行switch结构中后面的各语句。如果没有任何一个case后面的“常量表达式”的值与“表达式”的值匹配,则执行 default后面的语句(组)。例3.6用switch语句实现例.的功能。# includemain() int score; printf(please input score(0-100):); scanf( %d ,&score); /*从键盘输入学生成绩*/ switch(score/10); case 10: case 9:printf(excellent

10、n);break; case 8:printf(goodn); break; case 7:printf(mediumn); break; case 6:printf(passn); break; default:printf(failn); .循环结构程序设计C语言提供了循环控制的三种语句:while语句、dowhile循环语句和for循环语句。. while语句while语句是一种条件循环结构,其控制结构如下:while(条件表达式) 循环体例3.7计算并输出从1加到100的和:s = 1+2+3+100。# includemain() int sum = 0 , i = 1; /*设置和

11、与循环变量*/ while(i=100) sum = sum+i; i+; printf( Sum=%d , sum);程序执行结果如下:The sum of 1 to 100 equals is:5050. dowhile循环语句dowhile结构在C语言中用于实现“直到型”循环。其一般形式为:do 循环体while(条件表达式);例3.9用dowhile语句求1+2+3+100的和。# includemain() int i =1 , sum=0; do sum = sum+i;i+; while(i=100); printf(sum= %d,sum);.for循环语句for语句的使用最为

12、灵活,既可以用于循环次数确定的情况,也可以用于循环次数未知的情况。for语句的一般形式如下:for(表达式1;表达式2;表达式3) 循环体如图3.13所示,for语句的执行流程是: 图3.13 for语句的执行流程例3.10输入一个整数,求出它的所有因子。求一个整数n的所有因子可以采用穷举法,对1 n的全部整数进行判断,凡是能够整除n的都是n的因子。由分析可知,这是一个已知循环次数的循环,因此可以使用for语句。# includemain() int n, k; printf(Please input a positive integer:); scanf( %d ,&n); printf(

13、Number %d Factors:,n); for(k=1;k=n;k+)if(n%k= =0)printf( %d,k); printf(n);程序某次的运行结果如下:Please input a positive integer:36Number 36 Factors:1 2 3 4 6 9 12 18 36.循环嵌套一个循环体内又可以包含另外一个完整的循环结构,从而构成多重循环结构,这就是循环的嵌套。. continue和break语句.continue语句continue语句可以出现在循环体中,其作用是结束本次循环,但不退出循环结构。它跳过循环体中下面尚未执行的语句,直接进行下一次是否执行循环的判定。例3.12 输出60600之间所有不能被9整除的数。# includemain() int m;

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

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