第四章程序结构-循环课件.ppt

上传人:春哥&#****71; 文档编号:12723068 上传时间:2022-04-25 格式:PPT 页数:37 大小:78KB
返回 下载 相关 举报
第四章程序结构-循环课件.ppt_第1页
第1页 / 共37页
第四章程序结构-循环课件.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《第四章程序结构-循环课件.ppt》由会员分享,可在线阅读,更多相关《第四章程序结构-循环课件.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序设计语言程序设计1第四章第四章-循环结构循环结构C语言程序设计语言程序设计2程序基本框架l输入数据输入数据键盘输入:键盘输入:getchar 、scanf文件输入文件输入l处理数据处理数据l输出结果输出结果屏幕显示:屏幕显示:putchar、printf文件保存文件保存C语言程序设计语言程序设计3三种基本结构l顺序结构顺序结构l选择结构选择结构l循环结构循环结构C语言程序设计语言程序设计4顺序结构顺序结构格式输入格式输入/输出输出例如:例如:printf(”x=%3dn,x)%格式说明起始符3输出数据的宽度d输出数据的类型x输出项普通字符一、格式输出函数一、格式输出函数printf(

2、)()printf(“格式控制字符串格式控制字符串”,输出表列,输出表列)C语言程序设计语言程序设计5说明:格式字符串的一般形式为:说明:格式字符串的一般形式为: % 标志标志输出最小宽度输出最小宽度.精度精度长度长度类型类型 1.类型类型 d, i 以十进制形式输出以十进制形式输出带符号带符号整数整数(正数不输出符号正数不输出符号) o 以八进制形式输出以八进制形式输出无符号无符号整数整数(不输出前缀不输出前缀O) x, X 以十六进制形式输出以十六进制形式输出无符号无符号整数整数(不输出前缀不输出前缀OX) u 以十进制形式输出无符号整数以十进制形式输出无符号整数 f 以以小数形式小数形式

3、输出单、双精度实数输出单、双精度实数 e ,E 以以指数形式指数形式输出单、双精度实数输出单、双精度实数 c 输出单个字符输出单个字符 s 输出字符串输出字符串C语言程序设计语言程序设计6 2.标志标志 标志字符为标志字符为-、+、#、空格四种,其意义如下所示:、空格四种,其意义如下所示: - 结果左对齐,右边填空格结果左对齐,右边填空格 + 输出符号输出符号(正号或负号正号或负号)空格输出值为正时冠以空空格输出值为正时冠以空 格,为负时冠以负号格,为负时冠以负号 # 对对c,s,d,u类无影响;对类无影响;对o类,类, 在输出时加前缀在输出时加前缀o;对对x类,在输出时类,在输出时 加前缀加

4、前缀0 x;对对e,g,f 类当结果有小数时才给出小数点类当结果有小数时才给出小数点 3.输出最小宽度输出最小宽度 用十进制整数来表示输出的最少位数。用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,若实际位数多于定义的宽度,则则 按实际位数输出按实际位数输出, 若实际位数少于定义的宽度则补以空格或若实际位数少于定义的宽度则补以空格或0。C语言程序设计语言程序设计74.精度精度 精度格式符以精度格式符以“.”开头,后跟十进制整数。开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符,数;如果输出的是字符, 则

5、表示输出字符的个数;则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的若实际位数大于所定义的精度数,则截去超过的部分。部分。C语言程序设计语言程序设计86.各种格式字符的说明各种格式字符的说明一:一:d格式符格式符1. %d 按数据实际长度输出按数据实际长度输出2. %mdm为指定的输出字段的宽度,如果数据的位数为指定的输出字段的宽度,如果数据的位数小于小于m,则左端补以空格,若大于则左端补以空格,若大于m,则按实则按实际位数输出。际位数输出。3. %ld 输出长整型数据输出长整型数据C语言程序设计语言程序设计9二:二:o格式符和格式符和x格式符格式符输出数据不带符号,即符号位作

6、为数据的一部分输出输出数据不带符号,即符号位作为数据的一部分输出三:三:u格式符格式符以无符号十进制输出以无符号十进制输出例:例:int a=-1;printf(“%d,%o,%x,%u”,a,a,a,a);结果为:结果为:-1,177777,ffff,65535C语言程序设计语言程序设计10四:四:c格式符(输出一个字符)格式符(输出一个字符)五:五:s格式符(输出字符串)格式符(输出字符串)1. %s 按数据实际长度输出按数据实际长度输出2. %ms m为指定的输出字段的宽度,如果数据的位数为指定的输出字段的宽度,如果数据的位数小于小于m,则左端补以空格,若大于则左端补以空格,若大于m,则

7、按实际位数输出。则按实际位数输出。3. %-ms 4. %m.nd 输出输出m列,但是只取字符串左端列,但是只取字符串左端 n个字符。个字符。 输出在输出在m列的右侧,左补空格。列的右侧,左补空格。 5. %-m.ndC语言程序设计语言程序设计11六:六:f格式符格式符1. %f 整数部分全部输出,输出六位小数整数部分全部输出,输出六位小数 (注意有效位)(注意有效位)2. %m.nf 输出数据共输出数据共m列,其中列,其中n位小数。如果数据位小数。如果数据 长度小于长度小于m,左端补空左端补空3. %-m.nf C语言程序设计语言程序设计12七:七:e格式符格式符1. %e小数部分输出小数部

8、分输出6位,指数部分位,指数部分5位,其中位,其中“e”占占1位,位,指数符号占一位,指数占指数符号占一位,指数占3位。位。2. %m.ne 输出数据共输出数据共m列,其中列,其中n为尾数的小数位为尾数的小数位数。如果数据数。如果数据 长度小于长度小于m,左端补空左端补空3. %-m.ne C语言程序设计语言程序设计13例例 :#include stdio.h main() int a=5,b=7; char c=A; float x=67.8564,y= -789.124; printf(%d%dn,a,b); printf(%3d%3dn,a,b); printf(%f,%fn,x,y);

9、 printf(%-10fn,x); printf(%8.2f,%-8.2f,”,x,y); printf(%e,%10.2en,x,y); printf(%c,%d,%o,%xn,c,c,c,c); printf(%s,%5.3sn,computer,computer);C语言程序设计语言程序设计14二、格式输入函数二、格式输入函数scanf 1. scanf()函数的一般形式函数的一般形式 scanf(“格式控制字符串格式控制字符串”,地址表列,地址表列); 格式控制字符串的作用与格式控制字符串的作用与printf函数相同,但不能显示非函数相同,但不能显示非格式字符串,格式字符串, 也就是

10、不能显示提示字符串。也就是不能显示提示字符串。(1) scanf函数中没有精度控制函数中没有精度控制 。(2) 如果格式控制串中有非格式字符则输入时也要输如果格式控制串中有非格式字符则输入时也要输入该非格式字符入该非格式字符(3) getchar(),gets()补充补充C语言程序设计语言程序设计15例、为例、为float类型变量类型变量a、b输入数据输入数据1.2和和2.3,下列,下列哪一组是正确的(哪一组是正确的( )。)。 A、scanf(%f%f,&a,&b); 输入输入1.2,2.3 B、scanf(%2.1f%2.1f,a,b); 输入输入1.2,2.3 C、scanf(%f,%f

11、,&a,&b); 输入输入1.2,2.3 D、scanf(%f%f“,&a,&b); 输入输入1.22.3C语言程序设计语言程序设计16选择结构选择结构n单分支:单分支:If(条件表达式条件表达式) n双分支:双分支:If(条件表达式)条件表达式)elsen多分支多分支n嵌套嵌套Ifnswitch(表达式表达式)n其它形式:条件运算符其它形式:条件运算符C语言程序设计语言程序设计171.第一种形式为基本形式第一种形式为基本形式: if(表达式表达式) 语句;语句;IF的三种形式的三种形式2.第二种形式为第二种形式为if-else形式形式 if(表达式表达式) 语句语句1; else 语句语句2

12、;C语言程序设计语言程序设计183.第三种形式为第三种形式为if-else-if形式形式if(表达式表达式1) 语句语句1; else if(表达式表达式2) 语句语句2; else if(表达式表达式m) 语句语句m; else 语句语句n;C语言程序设计语言程序设计19例:例:#includestdio.hvoid main() char c; printf(input a character: ); c=getchar(); if(c=0&c=A&c=a&cb) printf(ABn); else printf(ABn); else printf(A=Bn);C语言程序设计语言程序设计2

13、3switch(表达式表达式) case 常量表达式常量表达式1: 语句语句1; break; case 常量表达式常量表达式2: 语句语句2; break; case 常量表达式常量表达式n: 语句语句n; break; default : 语句语句n+1; switch语句的通常形式为:语句的通常形式为:C语言程序设计语言程序设计24void main() int a; printf(input integer number: ); scanf(%d,&a); switch (a) case 1:printf(Mondayn);break; case 2:printf(Tuesdayn);

14、 break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);break; case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; case 7:printf(Sundayn);break; default:printf(errorn); C语言程序设计语言程序设计25注意:注意:在在switch语句中,语句中,“case 常量表达式常量表达式”只相当只相当于一个语句标号,并不是在该处进行条件判断,表达于一个语句标号,并不是在该处进行条件判断,表达式的值和某

15、标号相等则转向该标号执行,但不会在执式的值和某标号相等则转向该标号执行,但不会在执行完该标号的语句后自动跳出整个行完该标号的语句后自动跳出整个switch 语句,将继语句,将继续执行所有后面续执行所有后面case语句的情况。语句的情况。C语言程序设计语言程序设计26 以下程序的输出结果是以下程序的输出结果是main() int a=0, i; for(i=1;i5;i+) switch(i) case 0: case 3:a+=2; case 1: case 2:a+=3; default : a+=5; printf(%dn,a); A) 31 B) 13 C) 10 D) 20 C语言程序

16、设计语言程序设计27循环结构循环结构n分类分类n当型循环:当型循环:whilen直到型循环:直到型循环:do whilen最灵活的最灵活的for循环循环n适用场合适用场合n循环次数已知:循环次数已知:for 、while 、do whilen循环次数未知:循环次数未知:while 、do whilen如何转换?如何转换?C语言程序设计语言程序设计28whilewhile语句的一般形式为:语句的一般形式为: while(表达式表达式) 语句;语句; 其中表达式是循环条件,语句为循环体,其中表达式是循环条件,语句为循环体,若是多个语句则必须用若是多个语句则必须用和和组成复合语句。组成复合语句。C语

17、言程序设计语言程序设计29do-while语句语句 do 语句;语句; while (表达式表达式); 其中:语句是循环体,其中:语句是循环体, 表达式是循环条件。表达式是循环条件。执行过程:执行过程:先执行循环体语句一次,先执行循环体语句一次, 再判别表达式再判别表达式的值,若为真的值,若为真(非非0)则继续循环,否则终止循环。则继续循环,否则终止循环。C语言程序设计语言程序设计30使用使用while和和do-while语句应注意以下几点:语句应注意以下几点: 1.在在if语句,语句,while语句中,语句中, 表达式后面都不能加分号,表达式后面都不能加分号, 而在而在 do-while语句

18、的表达式后面则必须加分号。语句的表达式后面则必须加分号。 2.当循环体由多个语句组成时,也必须用当循环体由多个语句组成时,也必须用括起来组括起来组成一个复合语句。成一个复合语句。 3.如果循环至少要执行一次,如果循环至少要执行一次, while和和do-while语句语句可以相互替换。可以相互替换。C语言程序设计语言程序设计31for循环循环一、使用一般形式为:一、使用一般形式为: for(表达式表达式1;表达式;表达式2;表达;表达3) 语句;语句; 其中:其中:表达式表达式1通常用来给循环变量赋初值,一般通常用来给循环变量赋初值,一般是赋值表达式。也允许在是赋值表达式。也允许在for语句外

19、给循环变量赋初语句外给循环变量赋初值,此时可以省略该表达式。值,此时可以省略该表达式。 表达式表达式2通常是循环条件,一般为关系表达式或逻通常是循环条件,一般为关系表达式或逻辑表达式。辑表达式。 表达式表达式3通常可用来修改循环变量的值,一般是赋通常可用来修改循环变量的值,一般是赋值语句。值语句。C语言程序设计语言程序设计32循环三要素循环三要素n循环条件循环条件n循环变量初始化循环变量初始化nfor循环:语句中赋初值循环:语句中赋初值nwhile、do循环:循环体外赋初值循环:循环体外赋初值n改变循环变量的值改变循环变量的值nfor循环:语句中改变循环:语句中改变nwhile、do循环:循环

20、体内循环:循环体内 C语言程序设计语言程序设计33 有以下程序段有以下程序段int n=0,p; d o s c a n f ( % d , & p ) ; n + + ; while(p!=12345&n3); 此处此处do-while 循环的结束条件是循环的结束条件是A) p 值不等于值不等于12345 并且并且n 的值小于的值小于3 B) p 值等于值等于12345 并且并且n 的值大于等于的值大于等于3 C) p 值不等于值不等于12345 或者或者n 的值小于的值小于3 D) p 值等于值等于12345 或者或者n 的值大于等于的值大于等于3 C语言程序设计语言程序设计34关键问题关

21、键问题n防止死循环和不循环防止死循环和不循环n控制循环条件表达式的值的变化控制循环条件表达式的值的变化n正常出口正常出口n循环条件不满足时正常退出循环条件不满足时正常退出n紧急出口紧急出口nifbreak/continue;n如何判断退出方式如何判断退出方式n通过退出循环后,循环变量的值通过退出循环后,循环变量的值C语言程序设计语言程序设计35break:语句只能用在语句只能用在switch 语句或循环语句中,语句或循环语句中, 其作用是跳其作用是跳出出switch语句或跳出语句或跳出本层本层循环,转去执行后面的程序。循环,转去执行后面的程序。continue:结束本次循环,即不再执行循环体中

22、:结束本次循环,即不再执行循环体中continue 语句之后的语句,转入下一次循环条件的判断与执行。应语句之后的语句,转入下一次循环条件的判断与执行。应注意的是,注意的是, 本语句只结束本语句只结束本层本次本层本次的循环,并不跳出循环。的循环,并不跳出循环。C语言程序设计语言程序设计36 以下程序中以下程序中,while 循环的循环次数是循环的循环次数是 int i=0; while(i10) if(i1) continue ; if(i= =5) break; i+; A) 1 B) 10 C) 6 D)死循环死循环,不能确定次数不能确定次数C语言程序设计语言程序设计37以下程序的输出结果是以下程序的输出结果是#include stdio.h main() int i=0,a=0; while(i20) for( ; ;) if(i%10)= =0) break; else i-; i+=11; a+=i; printf(%dn,a); a)21B) 32 C) 33 D) 11

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁