




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,一、基本概念,数据结构+算法=程序1、算法:是对特定问题求解步骤的一种描述2、数据结构:数据的组织形式及其相互关系,.,2,二、算法举例,1、求1*2*3*4*5的值。2、判断一个数n是否为素数。(n2),.,3,四、算法的表示,1、自然语言2、流程图3、伪代码4、计算机语言,.,4,五、结构化程序设计方法,1、含义:规范程序设计风格和程序结构。2、思路:将复杂的问题分阶段处理3、方法:自顶向下、逐步细化、模块化设计、结构化编码,.,5,S1:求12,得到结果2.S2:将第1步所得结果2乘以3,得到结果6.S3:将6乘以4,得24.S4:将24乘以5,得120.,求1*2*3*4*5的值。(思路一),.,6,设p为被乘数,i为乘数S1:使p=1.S2:使i=2.S3:使pi,乘积赋给p.S4:使i的值加1.S5:若i=5,执行S3;否则程序结束.,求1*2*3*4*5的值。(思路二),.,7,S1:输入n的值.S2:置变量i的值为2.S3:求解m=n%i;若m=0,转向S6,否则执行S4.S4:变量i的值自加1.S5:判断i0)printf(|x|=%d,x);elseprintf(|x|=%d,-x);,.,14,:用括起来的一组语句一般形式:数据说明部分;执行语句部分;说明:“”后不加分号语法上和单一语句相同复合语句可嵌套,复合语句,.,15,算法的基本控制结构,问题的提出:(1)-1(x0)(2)统计任意一个人群的平均身高算法算法的基本控制结构:顺序结构分支结构循环结构程序流程图,.,16,结构化程序设计基本思想:任何程序都可以用三种基本结构表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序叫优点:结构清晰,易读,提高程序设计质量和效率三种基本结构顺序结构,程序的三种基本结构,.,17,二分支选择结构,多分支选择结构,选择结构,.,18,当型循环结构,直到型循环结构,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,循环结构,.,19,赋值语句,格式:赋值表达式;赋值语句与赋值表达式的区别:赋值表达式可以包含在其它表达式中,而赋值语句不可。例:if(a=b)0)t=a;不可写为:if(a=b;)0)t=a;,.,20,这是C中新加的非常简单易用的输入、输出方式,C+中没有专门的输入输出语句,是用I/O流类来实现。在程序的开头增加一行:#include1)用插入操作符“”向标准输出流cout中插入字符。向标准输出设备(显示器)输出例:intx;cout“x=“”从标准输入流cin中抽取字符从标准输入设备(键盘)输入例:intx;cinx;inta,b;cinab;,)使用控制符有时缺省输出格式不能满足要求,这时可以用控制符控制输出的格式。在程序的开头增加一行:#include,.,22,例:,#include#includevoidmain()coutsetw(5)setprecision(3)3.1415endl;3.14,.,23,C语言无I/O语句,I/O操作由函数实现,#include,C语言中的输入输出,.,24,printf和scanf,printf函数(1)printf函数的一般格式为:printf(格式控制字符串,输出项1,输出项2,)括号中的格式控制字符串和输出项都是函数参数。printf()函数的功能是将后面的参数按给定的格式输出。格式控制字符串中有格式说明,也有普通字符。格式说明由”%”和格式字符组成,如%d,%f等。它的作用是将输出的数据转换成指定的格式输出。普通字符按原样输出,如:#includestdio.hvoidmain()inta=10,b=20;printf(%d,%d,a,b);,输出结果为:10,20,.,25,(2)%d格式符用来输出10进制整数,可以有长度修饰。如:#includestdio.hvoidmain()inta=28,b=38;longc=123456;printf(%5d,%5dn%ldn,a,b,c);printf(%3ldn%7ldn%dn,c,c,c);输出结果为:28,38123456123456123456123456,%5d表示输出宽度为5,%ld表示输出为长整型如果整数的位数多于指定宽度,则按实际位数输出,.,26,(3)%o和%x格式符用来输出8进制、16进制整数。8进制和16进制都是无符号整数,输出时不带符号。如:#includestdio.hvoidmain()inta=1200;printf(%d,%o,%x,%X,%6xn,a,a,a,a,a);输出结果为:1200,2260,4b0,4B0,4b0,.,27,(4)%u格式符用来输出无符号10进制整数。(5)%c格式符用来输出一个字符。如果一个整数,其值在0255之间,也可以字符方式输出。它们都可以指定格式宽度。例如:charch=a;inta=65;printf(%c,%d,%3cn,ch,ch,ch);printf(%c,%d,%3dn,a,a,a);输出结果为:a,97,aA,65,65,.,28,(6)%s格式符用来输出字符串。可以指定格式宽度,如果字符串长小于指定的宽度时,可以选择左对齐或右对齐。另外,还可以选择输出字符中的前n个字符。例如:printf(%s,Hellon);printf(Hellon);printf(%3s,%-5.3s,%5.2sn,Hello,Hello,Hello);输出结果为:HelloHelloHello,Hel,He如果输出的只有一个字符串,可以省略格式参数,因为格式参数本身可以是原样输出的普通字符串。“%-5.3s”中的负号表示左对齐,如果没有负号,则默认为右对齐。5表示格式宽度,3表示截取字符串中3个字符。,.,29,(7)%f格式符用来以小数方式输出。可指定格式宽度,也可以指定小数位数,还可以规定左对齐或右对齐。如:floatx=123.456;doubley=321.654321;printf(%f,%-7.2f,%10.4fn,x,x,x);printf(%lf,%-7.2lf,%10.4lfn,y,y,y);输出结果为:123.456001,123.46,123.4560321.654321,321.65,321.6543以%f格式输出时,默认的小数位数是6位。%-7.2f表示左对齐,总长度为7位,小数位数为2位。,.,30,(8)%e,%E,%g,%G格式符用来以指数方式输出浮点数。默认的小数位数为6,指数位数为3(不包括e+和e-):floatx=123.456;doubley=321.654321;printf(%e,%-7.2e,%10.4en,x,x,x);printf(%e,%-7.2e,%10.4en,y,y,y);输出结果为:1.234560e+002,1.23e+002,1.2346e+0023.216543e+002,3.22e+002,3.2165e+002%E格式同%e,只是将输出的小写e改为大写E。%g根据数值的大小,自动选取f格式或e格式。,.,31,(9)注意事项除X,E,G格式外,其他格式必须用小写字母,例如%d不能写成%D可以在printf函数中的“格式控制”字符串内使用“转义字符”。“格式控制”字符串中,在%后的d、o、x、u、c、s、f、e、g做为格式符,否则做为普通字符,如:printf(“c=%c,f=%f,s=%s”,c,f,s);如果想输出字符%,则应该在“格式控制”字符串中连续用两个%表示,如:printf(“%f%”,1.0/3);,.,32,inti,j;scanf(“%3d%3d”,/输入3,4,.,33,(3)注意事项scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。在使用%c格式输入字符时,空格字符和“转义字符”都作为有效字符输入在输入数据时,遇以下情况时该数据认为结束遇空格,或按“回车”,或”Tab”键按指定的宽度结束,如%3d,只取3列遇非法输入。,.,34,/*ch3_12.c*/#include#includemain()floata,b,c,s,area;scanf(%f,%f,%f,输入:3,4,6输出:a=3.00,b=4.00,c=6.00s=6.50area=5.33,例输入三角形边长,求面积,.,35,字符输出,格式:putchar(c)参数:c为字符常量、变量或表达式功能:把字符c输出到显示器上返值:正常,为显示的代码值;出错,为EOF(-1),字符输出函数,.,36,/*ch3_13.c*/#includestdio.hmain()charc1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,输入:A输出:A,65a,97,例从键盘输入大写字母,用小写字母输出,.,第三章程序设计初步,选择结构设计,.,38,条件运算符与条件表达式,一般形式:表达式1?表达式2:表达式3表达式1必须是bool类型执行顺序:先求解表达式1,若表达式1的值为true,则求解表达式2,表达式2的值为最终结果若表达式1的值为false,则求解表达式3,表达式3的值为最终结果,例x=ab?a:cd?c:d即ab?a:(cd?c:d)(3)条件表达式与一般if的语句的关系coutb?a:b;()表达式2、3的类型可以不同,条件表达式的最终类型为2和3中较高的类型。,.,40,if(表达式)语句例:if(xy)couty)coutx;elsecoutage;if(age10)cout=0)if(x50)cout“xisokn”;elsecout“xisnotokn”;,If语句的嵌套二义性因为if可以嵌套,所有在嵌套时有时会出歧义,例如上例中,else是与第一个if配对,还是与第二个if配对?这种时候,系统就认为:else与最近的一个if相对应,.,二义性:(1)if()if()coutendl;/输出能被整除,能被整除elsecoutendl;/输出能被整除,不能被整除(2)if()if()coutendl;/输出能被
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年全球及中国外延片检测系统行业头部企业市场占有率及排名调研报告
- 2025-2030年中国四耳接线盒项目投资可行性研究分析报告
- 2024年全球及中国商业养老服务中心行业头部企业市场占有率及排名调研报告
- 洪洞格宾石笼施工方案
- 2025年海上风电场工程项目可行性研究报告
- 进度分析报告示例
- 证券知识培训课件
- 中国制伞市场深度调查及发展前景研究预测报告
- 2025年中国弹性水泥防水涂料行业市场发展前景及发展趋势与投资战略研究报告
- 股权转让合同
- 2025年连云港市中考数学试题卷(含答案)
- 2024初级会计职称考试《经济法基础》真题和答案
- 包装公司日常管理制度
- CJ/T 358-2019非开挖工程用聚乙烯管
- 理论联系实际阐述文化在社会发展中具有什么样的作用?参考答案四
- 四川雅安天立学校2025年七下数学期末预测试题含解析
- 电子元器件品质协议书
- 破产拍卖协议书
- 驾校退款协议书
- 2025年中国石油套管油管市场现状分析及前景预测报告
- 《课件的责任与担当》
评论
0/150
提交评论