书签 分享 收藏 举报 版权申诉 / 75
上传文档赚钱

类型程序设计基础第6章.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3407171
  • 上传时间:2022-08-28
  • 格式:PPT
  • 页数:75
  • 大小:2.13MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《程序设计基础第6章.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 基础
    资源描述:

    1、顺序结构程序设计顺序结构程序设计6.16.2选择结构程序设计选择结构程序设计6.3循环结构程序设计循环结构程序设计源程序文件1预处理命令全局变量声明函数首部局部变量声明执行语句函数体函数1函数n源程序文件2源程序文件nC程序程序的结构:程序的结构:6 6.1.1.1.1 C语言的基本语句语言的基本语句 程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。表达式语句:表达式语句:表达式语句由表达式加上分号“;”组成。其一般形式为:表达式表达式;1函数调用语句:函数调用语句:由函数名、实际参数加上分号“;”组成。其一般形式为:函数名函数名(实际参数表实际参数表);26 6.1.1.1.1

    2、 C语言的基本语句语言的基本语句 控制语句:控制语句:控制语句用于控制程序的流程,以实现程序的各种结构方式。可分成以下三类:条件判断语句:if语句、switch语句;循环执行语句:do while语句、while语句、for语句;转向语句:break语句、goto语句、continue语句、return语句。3复合语句:复合语句:把把多个语句用括号 括起来组成的一个语句称复合语句。4空语句:空语句:只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。56 6.1.1.2 2 赋值赋值语句语句 赋值语句是C语言的基本语句之一,赋值语句是由一个赋值表达式

    3、加上一个分号构成的。1)在赋值语句中,允许连续给多个变量赋值。2)在变量说明中,不允许连续给多个变量赋初值。3)给变量赋初值是变量说明的一部分,赋初值后的变量与其后的同类型的其他变量之间仍必须用逗号间隔,而赋值语句之间则必须用分号间隔。4)赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。6 6.1.1.3 3 数据的输入输出数据的输入输出 (1)putchar 函数(字符输出函数)putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量字符变量)(2)getchar 函数(键盘输入函数)getchar函数的功能是

    4、从键盘上输入一个字符。其一般形式为:getchar()1.1.字符数据的输入输出字符数据的输入输出(1 1)getchar 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。6 6.1.1.3 3 数据的输入输出数据的输入输出 (2 2)使用本函数前必须包含文件“stdio.h”。(3 3)在 TC 屏幕下运行含本函数程序时,将退出TC 屏幕进入用户屏幕等待用户输入。输入完毕再返回 TC 屏幕。(3 3)程序最后两行可用下面两行的任意一行代替:putchar(getchar();printf(“%c”,getchar();。6 6.1.1.3 3 数据的输入输出

    5、数据的输入输出 (1)printf 函数(格式输出函数)printf 函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。2.2.格式输入输出格式输入输出 1)printf 函数调用的一般形式调用的一般形式:printf(“(“格式控制字符串格式控制字符串”,输出表列,输出表列)a=3;b=4;printf(“a=%d,b=%d”,a,b);格式说明格式说明 普通字符普通字符 输出列表输出列表 运行结果:运行结果:a=3,b=46 6.1.1.3 3 数据的输入输出数据的输入输出 6 6.1.1.3 3 数据的

    6、输入输出数据的输入输出 2)格式字符 (1)d 格式符d d:按十进制整型数据的实际长度输出1234md:m为指定的输出字段的宽度ld:输出长整型数据mld:m为指定的输出字段的宽度6 6.1.1.3 3 数据的输入输出数据的输入输出 (2)o 格式符oomolomlo (3)x 格式符x:输出十六进 制整型数据mx:m为指定的 输出字段的 宽度lx mlx6 6.1.1.3 3 数据的输入输出数据的输入输出 (4)u 格式符u:输出 unsigned 整型数据,以十进制整数形式输出。(5)u 格式符说明:说明:一个0255之间的整数可以用”%c”以字符的形式输 出;一个字符也可以用”%d”以

    7、整数的形式输出。c:输出一个字符。mc:m为指定的输出字段的宽度。6 6.1.1.3 3 数据的输入输出数据的输入输出 (6)s 格式符:输出一个字符串s:按字符串的实际长度输出。ms:m为指定的输出字符串的宽度。如果字符串的 实际长度大于m,则突破m的限制,字符串全部 输出;若串长小于m,则左补空格。-ms:若串长小于m,则字符串向左靠,右补空格。m.ns:输出占m列,但只输出字符串中左端n个字符。-m.ns:如果nm,则m自动取n值,即保证n个字符能正 常输出。6 6.1.1.3 3 数据的输入输出数据的输入输出 (7)f 格式符:输出实数(单精度和双精度)f:按字实数的实际长度输出。m.

    8、nf:输出占 m 列,其中 n 位小数,如果数值长度 小于 m,则左端补空格。-m.nf:(8)e 格式符:以指数形式输出实数e:一般 C 语言编译系统自动指定给出数字部分的 小数位数是6位,指数部分是5位。m.ne:n 指拟输出的数据的小数部分的小数位数。-m.ne:6 6.1.1.3 3 数据的输入输出数据的输入输出 (9)g 格式符:输出实数(单精度和双精度)g:用来输出实数,它根据数值的大小,自动选择选用f格式或e格式,且不输出无意义的0。说明:格式控制字符里,除了X,E,G,其它的必须用小写。如果想输出%,必须在格式控制中用两个连续的%表示。6 6.1.1.3 3 数据的输入输出数据

    9、的输入输出 (2)scanf 函数(格式输入函数)共同特点是:原始数据不是编写在程序中,而是当程序运行时,才从键盘上输入数据。scanf 函数称为格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。1)scanf 函数的一般形式 scanf 函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,与 printf 函数相同,语言也允许在使用scanf 函数之前不必包含s tdio.h 文件。scanf 函数的一般形式为:scanf(“scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列););6 6.1.1.3 3 数据的输入输出数据的输入输出 2)格式字符

    10、串 格式字符串的一般形式为:%*输入数据宽度输入数据宽度长度长度 类型类型1类型:表示输入数据的类型2“*”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。6 6.1.1.3 3 数据的输入输出数据的输入输出 1宽度:用十进制整数指定输入的宽度(即字符数)2长度:长度格式符为l和h,l表示输入长整型数据(如%ld)和双精度浮点数(如%lf)。h表示输入短整型数据。格式格式字符意义字符意义d输入十进制整数o输入八进制整数6 6.1.1.3 3 数据的输入输出数据的输入输出 格式格式字符意义字符意义x输入十六进制整数u输入无符号十进制整数f或e输入实型数(用小数形式或指数形式)c输入

    11、单个字符s输入字符串1scanf 函数中没有精度控制,不能企图用此语句输入小数为2位的实数。6 6.1.1.3 3 数据的输入输出数据的输入输出 2scanf 中要求给出变量地址,如给出变量名则会出错。3在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB 或回车作间隔。C编译在碰到空格,TAB,回车或非法数据(时即认为该数据结束。4在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 【例6.14】输入三角形的三边长,求三角形面积。已知三角形的三边长a,b,c,则该

    12、三角形的面积公式为:)()(csbsassarea源程序如下:#include“math.h”main()float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);其中 s=(a+b+c)/26.1.4 顺序结构程序设计举例顺序结构程序设计举例6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 要注意数

    13、学上面的表达式要在程序里书写成符合C语言语法规则的形式,譬如1/2要写成1.0/2等。要注意 sqrt 是个求数的开方的函数,里面的参数值要保证=0。由 于 程 序 中用 到 了 数 学函数sqrt,所以 必 须 在 程序 最 开 始 的地 方 加 上 文件包含命令。6 6.1.1.4 4 顺序结构程序设计举例顺序结构程序设计举例 【例6.15】求 ax2+bx+c=0 方程的根,a,b,c由键盘输入,设 b2-4ac0。求根公式为:abp2aacbq242#include“math.h”main()float a,b,c,disc,x1,x2,p,q;scanf(“a=%f,b=%f,c=%

    14、f”,&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf(“nx1=%5.2fnx2=%5.2fn”,x1,x2);则 x1=p+q x2=p-q6 6.2 2.1 1 if 语句语句 if 语句:是用来判断所给定的条件是否满足,根据判定的结果(真或假)决定执行给定的某种操作之一。1.1.if 语句的形式语句的形式 1 1双边选择结构双边选择结构执行过程:执行过程:判断条件:判断条件:表达式取值非0,即条件成立,执行语句后继续向下执行。表达式取值为0,即条件不成立,跳过语句向下执行。P语句语句(

    15、出口出口)YN(入口入口)格式:格式:if(表达式)语句6 6.2 2.1 1 if 语句语句 2.2.if 语句的形式语句的形式 2 2双边选择结构双边选择结构格式格式:if(表达式)语句1 else 语句2 执行过程:执行过程:判断条件:判断条件:表达式取值非0,即条件成立,执行语句1后继续向下执行。表达式取值为0,即条件不成立,跳过语句1执行语句2后向下执行。P语句语句1(出口)(出口)YN语句语句26 6.2 2.1 1 if 语句语句 2.2.if 语句的形式语句的形式 2 2双边选择结构双边选择结构格式格式:if(表达式)语句1 else 语句2 执行过程:执行过程:判断条件:判断

    16、条件:表达式取值非0,即条件成立,执行语句1后继续向下执行。表达式取值为0,即条件不成立,跳过语句1执行语句2后向下执行。P语句语句1(出口)(出口)YN语句语句26 6.2 2.1 1 if 语句语句 3.3.if 语句的形式语句的形式 3 3多层选择结构多层选择结构格式格式:if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 :else if(表达式n)语句n else 语句n+1 执行过程:执行过程:依次计算各表达式的值,若表达式之值为非0,即条件成立执行其后的语句后,跳过其它语句,向下执行;若表达式之值为0,即条件不成立,则继续判断其它条件;当所

    17、有的条件都不成立时,执行语句n+1后继续向下执行。6 6.2 2.1 1 if 语句语句 表达式1语句1Y表达式2N语句2Y表达式3N语句3Y表达式4N语句4Y语句5N6 6.2 2.1 1 if 语句语句 双边选择结构举例按升序输出两个实数l main()l float a,b;l scanf(%f,%f,&a,&b);l printf(na=%.1f,b=%.1f n,a,b);l if(ab)l printf(%.1f,%.1fn,b,a);l elsel printf(%.1f,%.1fn,a,b);l printf(Endn);这是一个这是一个双边结构双边结构6 6.2 2.1 1

    18、if 语句语句 单边选择结构举例两个变量交换数据的实现方法注意:变量a,b交换内容不能简单地用a=b;b=a;来实现 正确的方法是借助一个中间变量(如t)来实现l main()l float a,b,t;l scanf(%f,%f,&a,&b);l if(ab)l t=a;a=b;b=t;/*变量交换变量交换 */l printf(%5.2f,%5.2fn,a,b);l printf(Endn);6 6.2 2.1 1 if 语句语句 1 1。先执行。先执行t=a;t=a;将将a a的值保存在的值保存在中间变量中间变量t t中中 2 2。再执行。再执行a=b;a=b;将将b b的值赋给变量的值

    19、赋给变量a a 3 3。最后执行。最后执行b=t;b=t;将将t t中保存的变量中保存的变量a a的原来值赋给变量的原来值赋给变量b b6 6.2 2.1 1 if 语句语句 多层选择结构举例判别键盘输入字符的类别#include stdio.hmain()char c;printf(input a character:);c=getchar();if(c=0&c=A&c=a&c0)0 (x=0)-1 (x=0)if(x0)y=1;else y=0;else y=-1;printf(x=%d,y=%dn,x,y);6 6.2 2.1 1 if 语句语句 用 if 嵌套结构求分段函数的值 这是一

    20、个嵌套结构/*x=0不成立,即x=0成立且x0不成立,即x=0 */6 6.2 2.2 2 seitch 语句语句 switch(表达式)case 常量1:语句1;break;case 常量2:语句2;break;case 常量3:语句3;break;case 常量n:语句n;break;default :语句n+1 switch 语句的格式语句的格式:先计算表达式之值,如果与某个 case 语句中的常量的值匹配(即相同),则执行其后的语句;若所有的 case 语句中的常量的值都 不能与之匹配,则执行 default 后的语句 n+1。执行过程执行过程:注意注意:则执行完入口语句后,则自动转到

    21、下一个case后面的语句执行;如果语句中有break;,则执行完一个入口语句后跳出switch选择结构。6 6.2 2.2 2 seitch 语句语句 表达式表达式语句语句1 1语句语句2 2语句语句3 3语句语句n n=常量常量1=常量常量2=常量常量3=常量常量n语句语句n+1=其它其它 switch 语句流程图(有break;语句)6 6.2 2.2 2 seitch 语句语句 switch 语句流程图(无break;语句)表达式表达式语句语句1语句语句2语句语句3语句语句n=常量常量1=常量常量2=常量常量3=常量常量n语句语句n+1=其它其它6 6.2 2.3 3 选择程序结构举例选

    22、择程序结构举例 【例【例1 1】用多层选择结构判断闰年程序用多层选择结构判断闰年程序#include stdlib.h main()int year;scanf(%d,&year);if(year%4!=0)printf(%d is not a leap yearn,year);else if(year%100!=0)printf(%d is a leap yearn,year);else if(year%400!=0)printf(%d is not a leap yearn,year);else printf(%d is a leap yearn,year);这是一个这是一个多层选择多层选

    23、择结构结构#include stdlib.h main()int year,leap;scanf(%d,&year);if(year%4!=0)leap=0;else if(year%100!=0)leap=1;else if(year%400!=0)leap=0;else leap=1;if(leap)printf(%d is a leap yearn,year);else printf(%d is not a leap yearn,year);多层选择结构判断闰年程序(使用一个标志变量)多层选择结构判断闰年程序(使用一个标志变量)这是一个这是一个多层选择多层选择结构结构这是一个这是一个双边

    24、结构双边结构6 6.2 2.3 3 选择程序结构举例选择程序结构举例 6 6.2 2.3 3 选择程序结构举例选择程序结构举例 【例【例2 2】对三个数进行升序排序对三个数进行升序排序 1).先将a,b进行比较,将二者之中的较小者放入变量a中,较大者 放入c中,这样a中就是a,b中较小数。2).再将变量a与变量c进行比较,将a,c中的较小者放到a中,较大者放到b中,这样,变量a中存放的就一定是三个数中的最小数。3).最后将b和c进行比较,将二者之中较小者放入变量b中,较大者放入变量c中,就完成了对三个数的升序排序。也就是说,对三个数进行排序,需要进行3次比较。输入输入abNYbcN输出输出ac

    25、NYYa与与b交换交换a与与c交换交换b与与c交换交换6 6.2 2.3 3 选择程序结构举例选择程序结构举例 main()int a,b,c,t;scanf(%d,%d,%d,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%d,%d,%dn,a,b,c);6 6.2 2.3 3 选择程序结构举例选择程序结构举例 goto 语句语句while 语句语句do-while 语句语句for 语句语句(不符合结构化程序设计原则,故不常用)6 6.3 3.1 1 while 语句语句 while 语句和格式及

    26、执行过程:语句和格式及执行过程:格式格式:while(表达式表达式)语句语句 先计算表达式之值,若为非0(即条件成立),执行后面的语句(称之为循环体)之后,再计算表达式之值进行判断,如此多次重复执行循环体;若表达式之值为0(即条件不成立)跳出循环体语句,继续向下执行。执行过程执行过程:表达式表达式语句(循环体)语句(循环体)Y(非非0)N(0)while 语句的流程图语句的流程图6 6.3 3.1 1 while 语句语句 sum+=i;/*累加累加 */i+=1;/*计数器加计数器加1 */i=100Y(Y(非非0)0)N(0)i=1;sum=0;printf(i=%d,sum=%dn,i,

    27、sum);6 6.3 3.2 do-.2 do-while 语句语句 do-while 语句和格式及执行过程:语句和格式及执行过程:格式格式:do 语句语句 while(表达式表达式)先执行语句(称之为循环体)先执行语句(称之为循环体),然后计算表达式之值,若为非然后计算表达式之值,若为非0(即条件成立),再执行语句(即条件成立),再执行语句(循环体)后计算表达式之值,如循环体)后计算表达式之值,如此多次重复执行循环体并判断条此多次重复执行循环体并判断条件;若表达式之值为件;若表达式之值为0(即条件(即条件不成立),结束循环,继续向下不成立),结束循环,继续向下执行。执行。执行过程执行过程:表

    28、达式表达式语句(循环体)语句(循环体)Y(非非0)N(0)注意:注意:while循环语句与循环语句与do-while循环语句的区别。循环语句的区别。这是一个这是一个do-while语语句句i=101,sum=5050main()int i=1,sum=0;do sum+=i;i+=1;while(i=100 );printf(i=%d,sum=%dn,i,sum);6 6.3 3.2 do-.2 do-while 语句语句 6 6.3 3.3 for.3 for 语句语句 格式格式:for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3)语句语句先求解表达式1的值。1:再求解表达式

    29、2的值,若值为非0(条件成立),则执行语句(循环体)后执行下面的(3);若表达式2的值为0(条件不成立),则转向(5)。2:执行过程执行过程:6 6.3 3.3 for.3 for 语句语句 5:转回执行(2)。4:执行for语句后面的语句。求解表达式3的值。3:5:6 6.3 3.3 for.3 for 语句语句 在在forfor语句中,一般表达式语句中,一般表达式1 1用来为变量赋初值;表达式用来为变量赋初值;表达式2 2一般一般用来设置循环结束条件;表达式用来设置循环结束条件;表达式3 3一般用于循环变量增值。一般用于循环变量增值。故 for 语句的一般格式为:for(变量赋初值变量赋初

    30、值;执行循环体的条件执行循环体的条件;循环变量增值循环变量增值)语句语句 对于for循环中语句的一般形式,就是如下的while循环形式:表达式1;while(表达式2)语句 表达式3;6 6.3 3.3 for.3 for 语句语句 1 2For 循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但“;”不能缺省。省略了“表达式1(循环变量赋初值)”,表示不对循环控制变量赋初值。3省略了“表达式2(循环条件)”,则不做其它处理时便成为死循环。4省略了“表达式3(循环变量增量)”,则不对循环控制变量进行操作,这时可在语句体中加入

    31、修改循环控制变量的语句。6 6.3 3.3 for.3 for 语句语句 5 6省略了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。3 3个表达式都可以省略。个表达式都可以省略。7表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。6 6.3 3.3 for.3 for 语句语句 一个循环体中又包含了另一个完整的循环结构,叫做循环的嵌套三种循环结构可以互相嵌套循环嵌套的执循环嵌套的执行过程是:外行过程是:外循环执行一次,循环执行一次,内循环执行一内循环执行一个全过程个全过程循循 环环 嵌嵌 套套三层循环三层循环最内层循环体最内层循环体main()int i,j,k;for

    32、(i=0;i2;i+)for(j=0;j2;j+)for(k=0;k2;k+)printf(“%d%d%dn,i,j,k);6 6.3 3.3 for.3 for 语句语句 0 0 00 0 00 0 10 0 10 1 00 1 00 1 10 1 11 0 01 0 01 0 11 0 11 1 01 1 01 1 11 1 1运行结果:运行结果:此循环的最内层循环体执行次数为各层循环执行次数之积:即2228次j=1j=1i=0i=0j=0j=0i=1i=1j=1j=1j=0j=0k=0k=1k=0k=1k=1k=0k=0k=1k=1k=0k=0k=1k=16 6.3 3.3 for.3

    33、for 语句语句 循环嵌套举例:输出一个图形/*外循环控制输出图形的行数*/*内循环控制每行输出的数量*/循环嵌套语句第一个语句是循环语句,实现输出3个*号第二个语句是简单语句,输出一个换行符main()int i,j;for(i=1;i=4;i+)for(j=1;j=i;j+)printf(*);printf(n);6 6.3 3.3 for.3 for 语句语句 *循环嵌套举例:输出一个图形/*外循环控制输出图形的行数*/*内循环控制每行输出的数量*/循环嵌套语句第一个语句是循环语句,实现输出若干个*号第二个语句是简单语句,输出一个换行符main()int i,j;for(i=1;i=4;

    34、i+)for(j=1;j=3;j+)printf(*);printf(n);6 6.3 3.3 for.3 for 语句语句 *main()int i,j,k;for(i=1;i=4;i+)for(j=1;j=10+i;j+)printf();for(k=1;k=3;k+)printf(*);printf(n);*/*外循环控制输出图形的行数*/循环嵌套语句第一个语句是循环语句,实现输出若干个空格第二个语句是循环语句,输出3个*号第三个语句是简单语句,输出一个换行符循环嵌套举例:输出一个图形6 6.3 3.3 for.3 for 语句语句 main()int i,j,k;for(i=1;i=4

    35、;i+)for(j=1;j=10+i;j+)printf();for(k=1;k=1;k-)if(m%k=0&n%k=0)break;k即为最大公约数。从整数1开始向上找,直至m和n中较小的数,每找到一个能同时被m和n整除的整数,将其存入一个变量中,当循环结束时,变量中存放的即为最大公约数。设n为m和n中较小的数,则如下程序段可实现:for(k=1;kn,则最小公倍数的范围在 m 和mn之间;如果程序中已经得到了最大公约数,假设是i,则m,n的最小公倍数为mn/i6 6.3 3.5.5 循环结构程序设计举例循环结构程序设计举例6 6.3 3.5.5 循环结构程序设计举例循环结构程序设计举例2.

    36、2.编写一个程序,判断整数编写一个程序,判断整数 m m 是否为素数是否为素数 素数即为质数,如果一个整数只能被1或者它本身整除,这个数就称为是素数。判断素数的算法是:让 m 被 2m-1 之间所有的整数整除,如果 m 能被 2m-1 之中的任何一个整数整除,则提前结束循环,此时 m 一定不是素数;如果在 2m-1 之间不存在能被m整除的整数,则终止循环,此时循环变量的值一定大于或者等于 m。定义变量m(被判断数),i(循环变量)输入m的值N i=m输出输出m m是素数是素数YN输出输出m m不是素数不是素数break;i+;for循环循环不是素数不是素数是素数是素数6 6.3 3.5.5 循

    37、环结构程序设计举例循环结构程序设计举例3.3.编写一个程序,打印出水仙花数。所谓水仙花数是指一个编写一个程序,打印出水仙花数。所谓水仙花数是指一个3 3位数,其各位数字的立方和等于该数本身。位数,其各位数字的立方和等于该数本身。如如153=13+33+534.4.百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何。三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何。5.5.编写一个程序,求编写一个程序,求 1 1!+2+2!+3+3!+20!+20!的值。的值。6.6.编写一个程序,计算正整数编写一个程

    38、序,计算正整数numnum的各位上的数字之和。例如的各位上的数字之和。例如,若输入:,若输入:252252,则输出应该是:,则输出应该是:9 9;若输入:;若输入:202202,则输出,则输出应该是:应该是:4 4。请将程序补充完整。请将程序补充完整。1.1.什么情况下编写程序要用到循环?什么情况下编写程序要用到循环?程序中要重复执行某种操作。要重复执行的操作可以是完全相同的;也可以是相似的操作,只不过每次操作的数据不同而已,当然每次要操作的数据都呈一定的规律性变化。要解决的问题如果由人工解决的话,必须把所有可能的情况一一列出进行判断,这种方法就叫穷举法。利用了计算机运行的高速性,来解决此类问

    39、题,既直接,也方便理解。鬼谷算题鬼谷算题“今有物不知其数,三三数之剩二,五五今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何数之剩三,七七数之剩二,问物几何?”?”三人同行七十稀三人同行七十稀五树梅花廿一枝五树梅花廿一枝七子团圆正半月七子团圆正半月去百零五便得知去百零五便得知270+321+215=233233-2105=232323即为本题的答案即为本题的答案一宋代学者总结出的解题口诀:一宋代学者总结出的解题口诀:2.2.关于各种循环语句的说明关于各种循环语句的说明用 while 和 do-while 循环时,循环变量初始化的操作应在 while 和 do-while 语句之前完成,而 for 语句可以在表达式1中实现循环变量的初始化While 和 do-while 循环,循环体中应包括使循环趋于结束的语句。For 语句功能最强四种循环都可以用来处理同一个问题,一般可以互相代替。但一般不提倡用goto型循环3.3.关于循环控制变量关于循环控制变量 循环控制变量在循环中有时候只是单纯地做循环控制,在循环体中不参与任何运算;有时候既做循环控制还参与循环体中的运算。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:程序设计基础第6章.ppt
    链接地址:https://www.163wenku.com/p-3407171.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库