四章节程序流程控制语句.ppt

上传人:sccc 文档编号:5399006 上传时间:2023-07-03 格式:PPT 页数:75 大小:1,000.05KB
返回 下载 相关 举报
四章节程序流程控制语句.ppt_第1页
第1页 / 共75页
四章节程序流程控制语句.ppt_第2页
第2页 / 共75页
四章节程序流程控制语句.ppt_第3页
第3页 / 共75页
四章节程序流程控制语句.ppt_第4页
第4页 / 共75页
四章节程序流程控制语句.ppt_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《四章节程序流程控制语句.ppt》由会员分享,可在线阅读,更多相关《四章节程序流程控制语句.ppt(75页珍藏版)》请在三一办公上搜索。

1、,程序流程控制语句,第 2 页,第四章 程序流程控制语句,C语言的基本语句 上机调试程序的方法 基本的程序设计方法 输出简单图形 穷举法,本 章 要 点,第 3 页,第四章 程序流程控制语句,第一节 C语言语句概述第四章第二节 注释语句第四章第三节 复合语句第四章第四节 选择语句第五章第五节 循环语句第六章第六节 转移语句第六章第七节 简单应用综合举例,第 4 页,4-1 C语言语句概述,按照C语言语句的作用分类:说明语句注释语句程序流程控制语句,声明变量名称、数据类型及其存储属性的说明性语句,编程者对程序本身的解释,是“可执行”的语句,构成程序的主体,第 5 页,4-1 C语言语句概述-语句

2、分类,选择语句,if-elseswitch,forwhiledo-while,循环语句,转移语句,breakcontinuegotoreturn,标号语句,表达式语句,casedefault标号,赋值表达式+分号(;),第 6 页,4-1 C语言语句概述-语句分类,按照C语言语句的功能分类:控制语句 函数调用语句 表达式语句 空语句 复合语句,控制程序的走向(流程),由一个函数调用加一个分号,赋值表达式加分号,只有一个分号;,一对 括起来的语句序列,第 7 页,4-1 C语言语句概述-简单实例,#include main()/*简单程序实例*/int a=10,b=20,c;if(ba)c=a

3、+b;printf(”%dn”,c);else;,控制语句,表达式语句,复合语句,函数调用语句,空语句,说明语句,注释语句,C的语句以分号(;)结束,第 8 页,4-2 注释语句,注释语句格式以“/*”开头、以“*/”结尾的说明性文字说明(注释)信息可以是中文,也可以是英文注释语句的目的备忘作用增加程序的可读性,便于编程者和其它程序阅读者理解程序注释语句的使用方法 可以注释程序的功能、变量的含义、函数间接口关系、编程使用的算法和技巧等信息,第 9 页,4-2 注释语句-实例,实例#include stdio.hmain()printf(Hello!n);/*printf(Thanks!n);*

4、/合法的注释x=y+5;/*x is integer number,x是整型*/x=10+/*合法的注释但不是好的注释*/5;不合法的注释swi/*不能在标识符中间插入注释*/tch(c)./*this is an outer comment x=y/a;/*注释不允许嵌套*/*/,第 10 页,4-3 复合语句,复合语句格式 用 和 括起来的若干合法的C语句。复合语句的目的语法上等价于单一语句。因此在语言中,凡是可以使用单一语句的地方,均可使用复合语句。明确层次关系复合语句的使用方法复合语句允许嵌套,且嵌套层次没有限制对于复合语句,右花括号“”的后面不必再跟一个分号(;),第 11 页,4-

5、3 复合语句-实例,例C3_3001.C:判断输入整数的正负性和奇偶性。1.main()2.int x;3.printf(Enter a integer:);scanf(%d,18.,第 12 页,4-4 选择语句,提出问题,二重分支的条件语句 if多重分支的条件语句 switch,自然语言:如果 那么 否则C语言:分支语句,第 13 页,4-4-1 选择语句-if语句,if语句格式 格式1:if(表达式)语句;格式2:if(表达式)语句1;else 语句2;if语句的执行流程流程1:流程2:,第 14 页,4-4-1 选择语句-if语句,例C3_4101.C:求a和b两数中较大的一个。#in

6、clude main()/*程序功能:求a和b的最大值*/int a,b,max;printf(Input a and b=);scanf(%d%d,例C3_4101,if语句中进行条件判断的“表达式”必须用()括起来且不可省略,第 15 页,4-4-1 选择语句-if语句,例C3_4101.C:求a和b两数中较大的一个。#include main()/*程序功能:求a和b的最大值*/int a,b,max;printf(Input a and b=);scanf(%d%d,例C3_41011,以上两个程序等价,第 16 页,4-4-1 选择语句-if语句,例C3_4102.C:从键盘输入被除

7、数a和除数b,求商。main()int a,b;printf(Enter two numbers:);scanf(%d%d,if(b)printf(%dn,a/b);else printf(”error.n);等价!,第 17 页,4-4-1 选择语句-if语句,if语句嵌套义:在if语句的“语句1”或“语句2”中又包含着if语句例C3_4103.C:比较两个整数的之间的关系(大小/相等)。#include main()int x,y;printf(Enter integer X and Y:);scanf(%d%d,例C3_4103,说明:在if-else语句中,一般采用“缩进”的书写形式来

8、表示“语句1”或“语句2”所属的层次。注意:缩进仅是一种书写的形式,不具有逻辑意义,第 18 页,4-4-1 选择语句-if语句,嵌套if-else语句的配对关系 例:if(ab)/*1*/if(ac)/*2*/if(ad)flag=1;/*3*/else flag=2;/*4*/else flag=3;/*5*/问题:第四行和第五行的else语句与哪一个if语句相匹配呢?分析:匹配方案可以有很多种,(2-4,1-5),(3-4,2-5),(1-4,),匹配规则:在嵌套的if-else语句中,else子句总是与上面的、离它最近的、且在同一复合语句中还没有配对的if子语配对。,第 19 页,4-

9、4-1 选择语句-if语句,1、if(ab)if(ac)if(ad)flag=1;else flag=2;else flag=3;程序含义:当 c=ab 时,flag=32、if(ab)if(ac)if(ad)flag=1;else flag=2;/*以上是一个完整的复合语句*/else flag=3;程序含义:当 a=b 时,flag=3,第 20 页,4-4-1 选择语句-if语句,3、if(a=b)if(b=c)printf(a=b=cn);else printf(”a!=bn”);尽管书写格式如此,真实的正确的含义是:if(a=b)if(b=c)printf(a=b=cn);else

10、printf(a!=bn”);通过加,可以改变配对关系:if(a=b)if(b=c)printf(a=b=cn);else printf(”a!=bn”);,第 21 页,4-4-1 选择语句-if语句,例C3_4104.C:已知银行整存整取存款月息利率分别为:一年期:0.63%二年期:0.66%三年期:0.69%五年期:0.75%八年期:0.84%其它:0 要求输入存钱的本金和期限,求到期时利息与本金合计。银行到期利息计算公式:利息本金月息利率12存款年限 程序中应当根据存款的年限确定利率,第 22 页,4-4-1 选择语句-if语句,#include main()int year;floa

11、t money,rate,total;/*本金,月利率,本利合计*/printf(Input money and year=?);scanf(%f%d,第 23 页,4-4-1 选择语句-if语句,采用if-else if结构改写。#include main()int year;float money,rate,total;/*本金,月利率,本利合计*/printf(Input money and year=?);scanf(%f%d,第 24 页,4-4-1 选择语句-if语句,例C3_4105.C:通过键盘输入字符,将输入的字符分为控制、数字、大写字母、小写字母和其他字符等五类。ASCII

12、码表中的前32个字符为控制字符,09为数字,AZ为大写字母,az为小写字母,其它。#include main()char c;printf(Enter a character:);c=getch();if(c=0,例C3_4105,第 25 页,4-4-1 选择语句-if语句,if语句与条件运算的关系例:求一个数的绝对值,if(y0)x=-y;elsex=y;,(y0)?x=-y:x=y;,等价,等价,x=(y0)?y:y;,说明:if else可以完成与条件运算符(?:)完全相同的任务,并且可以进行相应的转换。,第 26 页,4-4-1 选择语句-if语句,if语句与条件运算的区别:条件运算

13、符形式比较简单,有较强的灵活性,可以替代部分if语句。例:if(cans=1)printf(”You need 1 can of paint.”);else printf(”You need 2 cans of paint.”);转换:(cans=1)?printf(”You need 1 can of paint.”):printf(”You need 2 cans of paint.”);转换:printf(cans=1?”You need 1 can of paint.”:”You need 2 cans of paint.”);转换:printf(”You need%d%s of pa

14、int.”,cans,cans=1?”can”:”cans”);可以在函数中方便地使用条件运算,第 27 页,4-4-2 选择语句-switch语句,switch语句格式 switch(表达式)case 常量1:语句序列1 break;case 常量2:语句序列2 break;default:语句序列n+1,第 28 页,4-4-2 选择语句-switch语句,switch(number)case 1:statement 1;break;case 2:statement 2;break;case 3:statement 3;break;default:statement 4;statement

15、 5;,当number的值为2时,第 29 页,4-4-2 选择语句-switch语句,switch语句使用注意事项1.switch语句与if语句不同,仅能判断一种关系:是否恒等。2.switch语句中case子句的常量可以是整型常量、字符型常量、枚举型数据,或是整型常量表达式,不允许是变量。3.在同一个switch中,case子句的常量不能相同;在嵌套的switch语句中,不同层次的switch之间,可有相同的常量。4.default子句可以省略。5.case 和 default 子句只能在switch语句中使用,且 case和 default 只起标号作用,可出现在switch中的任何位置

16、。6.case 和 default 子句后面的语句序列允许由多个可执行语句组成,且不必用“”括起来,也可以为空语句。7.switch语句中可省略break语句,但省略后会改变流程。,第 30 页,4-4-2 选择语句-switch语句,例C3_4104.C:计算存款本利。采用switch改写。#include main()int year;float money,rate,total;/*本金,月利率,本利合计*/printf(Input money and year=?);scanf(%f%d,第 31 页,4-4-2 选择语句-switch语句,例C3_4203.C:输入year年份和月m

17、onth,求该月天数。如何判断闰年?闰年:能够被4整除且不能被100整除的年份 或 能够被400整除的年份 例如:1996年、1980年是闰年 1970年、1900年是平年 2000年是闰年判断闰年的C语言公式year%4=0&year%100!=0|year%400=0 当year=1996时,结果为1 当year=1997时,结果为0 当year=1900时,结果为0 当year=2000时,结果为1,若为闰年:结果为1若为平年:结果为0,第 32 页,4-4-2 选择语句-switch语句,main()int year,month,days;scanf(%d%d,省略case子句之后的语

18、句,第 33 页,4-4-2 选择语句-switch语句,省略break语句 例如:某程序段中,error是进行出错处理的函数。flag=-1;/*error marker*/switch(i)case 1:case 2:case 3:flag=0;/*no error*/break;case 4:flag=1;/*error#1*/case 5:error(flag);/*error process*/break;default:flag=2;/*other error*/*假定函数error是出错处理函数*/当 i=1,2,3 时:flag=0;退出。当 i=5 时:flag=-1;调用e

19、rorr(flag);退出。当 i=4 时:flag=1;调用 error(flag);退出。,第 34 页,4-4-2 选择语句-switch语句,例C3_4202.C:请编写一个程序计算表达式:data1 op data2的值。main()float data1,data2;char op;/*定义操作数、操作符变量*/printf(Enter your expression:);scanf(”%f%c%f”,例C3_4202,第 35 页,4-5 循环语句,提出问题,?,提问:从键盘上输入10个整数并求和,怎么编程?回答:在程序中写入10个scanf()语句。提问:从键盘上输入500个整

20、数并求和,怎么编程?回答:这个,嗯?不会让我写500个.,老师:让我们换一个角度来看待这些问题,以上问题的实质是:将scanf函数重复执行N遍。学生:对!好象是这么回事.老师:我们可以引出一个概念“循环”,简单而言:循环就是不断反复地执行同一段程序。学生:这就是我们今天要学的新东西?,第 36 页,4-5 循环语句,循环 反复执行同一段程序,直到满足一定的条件后才停止执行该段程序。C语言中控制循环的语句:while for do-while,第 37 页,4-5-1 while语句,while语句格式while(表达式)语句;说明:语句部分可以是简单语句,也可以是复合语句。while语句的执行

21、流程,第 38 页,4-5-1 while语句-实例,例C3_5101.C 从键盘输入10个整数,求这10个整数的和。#include main()int count,num,total;/*count:计数器,num:输入的整数*/count=0;total=0;/*total:存放累加和*/while(count10)/*循环控制条件*/count+;/*循环体*/printf(Enter the No.%d=,count);scanf(%d,例C3_5101,第 39 页,4-5-1 while语句-实例,例:分析程序的运行结果#include main()int n=0;while(n

22、3)printf(”n is%dn”,n);n+;printf(”Thats all this program does.n”);结果:程序将不停的打印“n is 0”,直至终止程序无法正常终止的程序,称为“死循环”。结论:while语句循环体中,一定要有能够对循环控制条件产生影响的语句。避免出现“死循环”现象。,例C3_51011,第 40 页,4-5-1 while语句-实例,例1:分析下列程序段 index=1;while(index 5)printf(”Good morning!n”);分析:程序段将无限制打印字符串。因为循环中没有任何语句可以改变循环控制变量index的初值1。,第

23、41 页,4-5-1 while语句-实例,例2:分析下列程序段 index=1;while(-index 5)printf(”Good morning!n”);分析:仍有问题,程序改变了index,但方向错了。在index达到系统能够处理的最大负数时,将会产生下溢而终止程序。结论:循环体中必须有能够使循环正常停止的条件。,第 42 页,4-5-1 while语句-实例,例C3_5103.C:从键盘中读入一系列字符,直到输入字母a时才停止。分析:由于不知道要输入的字符数量,只知停止条件是输入字母a,则只能将循环控制条件设为ch!=a。#include main()char ch=;while(

24、ch!=a)putchar(ch=getch();,例C3_5103,改写:#include main()char ch;while(ch=getch()!=a);,例C3_51031,循环体为空语句,第 43 页,4-5-1 while语句-实例,例C3_5104.C:对输入的行和字符进行计数。分析:n作为行结束标记的,DOS中有CTRL+Z作为文件结束标记#define EOF-1#include main()int c,nl=0,nc=0;while(c=getchar()!=EOF)+nc;if(c=n)+nl;printf(chars=%d,lines=%dn,nc,nl);,例C3

25、_5104,定义文件结束标记 nl行计数器nc字符计数器 进行字符计数 如果找到n,则行计数,第 44 页,4-5-1 while语句-实例,例3:求1到100的之和。main()int total=0,i=1;while(i=100)total=total+i;i+;printf(”Total=%dn,total);,例C3_51041,变形1:while(i total+=i;+i 变形2:int i=0;while(+i+i;判断i 判断i+i;total+=i,第 45 页,4-5-1 while语句-实例,循环嵌套 在循环体中,又包含有循环语句,构成循环嵌套。例C3_5107.C:输

26、出下三角形乘法九九表。1 2 3 4 5 6 7 8 9-1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 假设:行号为i,列号为j,i=6j=5i*j,(1=i=9),(1=j=i),则:第 i 行中一共要输出 i 个乘积,第 46 页,4-5-1 while语句-实例,#include main()int i=1,j;/*i:行计数器 j:列计数器*/while(i=9)/*控制打印表头*/prin

27、tf(%4d,i+);printf(n-n);i=1;while(i=9)j=1;/*列计数器置1*/while(j=i)/*嵌套的二重循环。输出第i行*/printf(%4d,i*j);j+;/*列计数器+1*/printf(n);/*一行输出结束后,输出n*/i+;/*行计数器+1*/,例C3_5107,外层循环体执行1次,内层循环要完整执行1次,第 47 页,4-5-1 while语句-实例,while使用注意 1.while(0).由于循环的条件表达式恒等于0,循环体永远也不会执行,是编程者的错误。2.while(1).由于循环的条件表达式恒等于1,所以不可能通过循环控制条件来结束循环

28、体的执行,称为“死循环”。3.为了保证循环正常运行,应该特别注意:循环控制条件 控制条件的初始状态(初始值)循环体内部对控制条件的影响,第 48 页,4-5-2 for语句,for语句格式for(表达式1;表达式2;表达式3)语句;for语句的执行流程,循环初始条件,循环控制条件,循环体,for语句等价于下列语句:表达式1;while(表达式2)语句;表达式3;,第 49 页,4-5-2 for语句-实例,例C3_5203.C:求1到10的阶乘。递推公式:n!=1 当 n=1 时n!=(n-1)!*n当 n1 时#include main()long int n=1;int i;for(i=1

29、;i=10;i+)n=n*i;/*求N!*/printf(%2d!=%ldn,i,n);,例C3_5203,for语句最常用的形式for(初值;控制条件;增量)语句;,第 50 页,4-5-2 for语句-实例,例C3_5202.C:用for语句实现打印乘法九九表。#include main()int i,j;for(i=1;i10;i+)printf(%4d,i);/*打印表头*/printf(n-n);for(i=1;i10;i+)/*控制打印表体*/for(j=1;j=i;j+)printf(j=i)?%4dn:%4d,i*j);,例C3_5202,输出函数printf中使用了“?”操作

30、,含义相当于:if(j=i)printf(%4dn,i*j);else printf(%4d,i*j);,第 51 页,4-5-2 for语句,for语句的变化形式 for语句中的三个表达式中的任意一个都是可以省略的,但是分号不能省略。1.省略表达式2,则:for(表达式1;表达式3)就形成了一个死循环。2.省略表达式1和表达式3,则:for(;表达式2;)等同于:while(表达式)据此结论:所有用while语句实现的循环都可以用for语句实现。3.表达式1、2、3全省略,则:for(;)等同于:while(1),第 52 页,4-5-2 for语句-实例,例C3_5204.C:数列1、1、

31、2、3、5、8、13、21、是著名的菲波那奇数列,其递推通项公式为:1 2 n n-1 n-2(n=3)为求出第N项的值,请编写程序。根据递推通项公式,可用递推法编写程序,计算第N项的值。递推法:由初始的已知条件开始,先计算出第(N1)步的结果,再利用前面已知的(N1)项结果,按照递推公式(或遵照递推规则),推出第N步结果。递推法是程序设计中最常用的方法之一,使用递推法必须有明确的递推初始值和递推规则(递推公式)。,第 53 页,4-5-2 for语句-实例,例C3_5204.C程序#include main()int n,i,un1,un2,un;for(;)printf(Input n=?

32、);scanf(%d,例C3_5204,第 54 页,4-5-2 for语句-实例,语句中的逗号(,)运算逗号(,)运算常见的三种用途是:1.在变量说明表中用来分隔变量,起分隔符的作用。如:int i,j,k,m3,*p;2.在函数的参数表中分隔参数。如:printf(n=%d,x=%dn,n,x);3.在语句中使用。其形式是:表达式n1,表达式n2;用逗号分隔开的表达式从左到右进行计算,结果的类型和值是最右边表达式的类型和值。,第 55 页,4-5-2 for语句-实例,例C3_5205.C:用逗号运算输出下列字符串。a z b y c x d w e v f u g t h s i r j

33、 q k p l o m n 分析:奇数位上的字符从a开始逐次递增,偶数位上的字符从z开始逐次递减#include main()char i,j;/*i:奇位字符 j:偶位字符*/*i从a开始逐次递增,j从z开始逐次递减*/for(i=a,j=z;ij;i+,j-)printf(”%c%c”,i,j);/*输出两个字符*/printf(n);,例C3_5205,第 56 页,3-5-3 do-while语句,do-while语句格式 do 语句 while(表达式);do-while语句的执行流程,循环控制条件,循环体,第 57 页,4-5-3 do-while语句,do-while语句特点d

34、o-while与while和for的最大区别:do-while语句先执行循环体然后再判断循环控制条件,而while和for却是先判断条件之后再执行循环体。使用do-while构成的循环,循环体部分至少要执行一次;而采用while和for构成的循环,循环体部分有可能一次也不会执行。,第 58 页,4-5-3 do-while语句-实例,例C3_5301.C:输入一个=0 的整数,要求以相反的顺序输出该数。例如:输入12345,则输出为54321。基本思路:可以从个位开始,按位输出整数的每一位 main()unsigned int number;printf(Input the number:);

35、scanf(%d,例C3_5301,思考:使用while或for语句,如何实现?,例C3_53011,两个程序有何区别?,前面的程序可以处理数字0,后面的程序不能处理,第 59 页,4-5-3 do-while语句-实例,例C3_5302.C 从键盘输入任意的字符,按下列规则进行分类计数。第一类 0,1,2,3,4,5,6,7,8,9第二类+,-,*,/,%,=第三类 其它字符当输入字符时先计数然后停止接收输入。,第 60 页,4-5-3 do-while语句-实例,main()int class1=0,class2=0,class3=0;char ch;do putchar(ch=getch

36、();/*函数的嵌套调用*/switch(ch)case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:class1+;break;/*对分类1计数*/case+:case-:case*:case/:case%:case=:class2+;break;/*对分类2计数*/default:class3+;break;/*对分类3计数*/while(ch!=);printf(class1=%d,class2=%d,class3=%dn,class1,class2,class3);,例C3_5302,第 61 页,4

37、-5-4 循环语句小结,C语言提供了三种循环语句:for、while、do-while。特点如下:1、for和while先判断循环条件后执行循环体,do-while语句先执行循环体后判断循环条件。2、while和do-while语句的条件表达式只有一个,for语句有3个。3、while、do-while、for可以相互替换使用。4、while语句多用于不需要赋初值的或循环次数不定的情况。for语句多用于要赋初值或循环次数固定的情况。do-while语句多用于至少要运行一次的循环。5、循环语句可以嵌套,可以并列,但不能交叉。,第 62 页,4-5-4 循环语句小结,为了保证循环体正常运行,应该特

38、别注意:循环控制条件 控制条件的初始状态(初始值)循环体内部对控制条件的影响 以上三个方面相互配合,相互影响,共同完成循环控制,第 63 页,4-6 转移语句,转移语句的作用 改变程序的运行流程。C语言转移语句 break continue goto return,第 64 页,4-6-1 break语句,格式break;break语句的功能 1.在switch语句中结束case子句,使控制转到switch语句之外。2.在循环语句的循环体中使用,结束循环过程,使控制转移到整个循环语句之外的下一条语句处。,第 65 页,4-6-1 break语句,break语句的执行流程,break,break

39、,break,while语句,for语句,do-while语句,第 66 页,4-6-1 break语句-实例,例C3_6101.C:求555555的约数中最大的三位数是多少?main()int j;long n;printf(Please input number:);scanf(%ld,/*控制退出循环*/,例C3_6101,第 67 页,4-6-1 break语句-实例,break语句使用注意:1、在嵌套循环中,break语句仅能退出一层(当前)循环。2、若在循环语句中包含了switch语句,那么switch语句中的 break 语句仅能使控制退出switch语句。3、break 语句并

40、不是程序设计中必不可少的语句,可以通过改变程序的结构去掉。,第 68 页,4-6-2 continue语句,continue语句格式continue;continue语句的功能 continue语句仅能在循环语句中使用.它的作用不是结束循环,而是开始一次新的循环。对于for语句,将控制转到执行表达式3和条件测试部分;对于while和do-while语句,将控制转到条件测试部分;从逻辑上讲,改变if语句的条件表达式所表示的条件,就可以不需要使用continue语句。,第 69 页,4-6-2 continue语句,continue语句的执行流程,第 70 页,4-6-2 continue语句-实

41、例,例C3_6201.C:输入10个整数,求其中正数的个数及平均值,精确到小数点后两位。main()int i,count=0,j,sum=0;for(i=1;i=10;i+)printf(Input integer:);scanf(%d,例C3_6201,改变if语句的条件表达式,可以不需要使用continue。,第 71 页,4-6-3 goto语句,goto语句格式goto 标号;goto语句的功能1、将控制转移到标号所指定的语句处继续执行。2、标号的唯一功能就是作为goto语句的目标。标号的作用域是它所在的整个函数。goto语句的使用说明 在C语言中,goto语句并不是必不可少的,使用

42、goto语句的地方都可以用C的其它控制流程语句改写。,第 72 页,4-6-3 goto语句-实例,例C3_6301.C:已知一首项大于的等差数列的前四项和为26,前四项的积为880,求这数列。设数列的第一项为a(a0),公差为d(d0)。则该数列满足条件:a+(a+d)+(a+2*d)+(a+3*d)=4*a+6*d=26 a*(a+d)*(a+2*d)*(a+3*d)=880 则可以推出,首项a和公差d的取值范围为:1=a=5 1=d=3 可以使用穷举的方法,在 首项a 和 公差d 的取值范围内进行判断。,第 73 页,4-6-3 goto语句-实例,main()int a,b,c,d,i

43、;for(a=1;a=5;+a)/*在a的范围内穷举*/for(d=1;d=3;+d)/*在d的范围内穷举*/b=a+(a+d)+(a+2*d)+(a+3*d);/*前四项的和*/c=a*(a+d)*(a+2*d)*(a+3*d);/*前四项的积*/if(b=26,第 74 页,4-6-3 goto语句-实例,main()int a,b,c,d,i,flag=1;/*flag:标志变量*/for(a=1;a=5/*控制退出二重循环*/,通过增加标志变量可以有效控制循环,第 75 页,4-6-4 return语句,retunrn语句格式格式一:return;格式二:return(表达式);return语句的功能 1.return语句使程序从被调用函数中返回到调用函数的调用处继续运行。2.如果return后跟一表达式,则该表达式的值会从被调用函数中带回到调用它的函数,称为返回值。,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号