ImageVerifierCode 换一换
格式:PPT , 页数:178 ,大小:562KB ,
资源ID:2404979      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(三程序设计基础.ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

三程序设计基础.ppt

1、第三章第三章 基本程序设计基本程序设计 3.1 3.1 顺序结构程序设计顺序结构程序设计 例例3.13.1、“鸡鸡兔兔同同笼笼问问题题”:在在一一个个笼笼子子里里养养着着鸡鸡与与兔兔,但但不不知知其其中中鸡鸡有有多多少少只只,兔兔有有多多少少只只。只只知知道道鸡鸡和和兔兔的的总总数数是是a a,鸡鸡与与兔兔的的总总脚脚数数是是b b,求鸡与兔各有多少只。求鸡与兔各有多少只。5/23/20241 思路分析:思路分析:首首先先从从题题目目本本身身开开始始,找找出出解解决决问问题题的的基基本本思思路路。每每只只鸡鸡有有两两只只脚脚,每每只只兔兔有有四四只只脚脚。假假设设有有x x只只鸡和鸡和y y只

2、兔,则根据已知条件可列出如下方程组:只兔,则根据已知条件可列出如下方程组:x+y=a x+y=a 2x+4y=b 2x+4y=b 对该方程组做进一步的转换可得:对该方程组做进一步的转换可得:5/23/20242#include#includeusing namespace std;using namespace std;void main()void main()int a,b,x,y;int a,b,x,y;coutcouta;cina;coutcoutb;cinb;x=(4*a-b)/2;x=(4*a-b)/2;y=(b-2*a)/2;y=(b-2*a)/2;coutcout鸡的数量为鸡的

3、数量为:xendl;:xendl;coutcout兔的数量为兔的数量为:yendl;:yendl;5/23/20243一、内置数学函数一、内置数学函数函数是执行一项任务的代码块。函数是执行一项任务的代码块。getline()getline()函数函数:getline(I,V)getline(I,V)实际调用时形式:实际调用时形式:getline(cin,a);getline(cin,a);扩号内有两个参数;实际调用时扩号内的参扩号内有两个参数;实际调用时扩号内的参数称为数称为实际参数实际参数或或实参实参。自定义函数自定义函数:自己决定其任务的函数。:自己决定其任务的函数。5/23/20244内

4、置函数内置函数:库文件中已定义好功能的函数;:库文件中已定义好功能的函数;只要知道该函数包含在哪个库中,可直接调用。只要知道该函数包含在哪个库中,可直接调用。C+C+内置数学函数的定义都在内置数学函数的定义都在cmathcmath库文件中库文件中,使用内置数学函数时,要加文件包含命令:使用内置数学函数时,要加文件包含命令:#include#include1 1、幂函数和平方根函数、幂函数和平方根函数幂函数幂函数:pow(x,y)pow(x,y)y=pow(3,4)y=pow(3,4);y=pow(1.7,2.3)y=pow(1.7,2.3);平方根函数平方根函数:sqrt(x)sqrt(x)y

5、=sqrt(9)y=sqrt(9);y=sqrt(3.3)y=sqrt(3.3);5/23/20245例例3.23.2、编程计算、编程计算3x3x7 7y y3 3+7x+7x4 4y y5 5+x+x2 2y y6 6-7-7z=z=的值的值.x x5 5y y3 3+5x+5x3 3y y4 4+2xy+2xy5 5+3+3程序:程序:#include#include#include#include using namespace std;using namespace std;5/23/20246void main()void main()double x,y,z;double x,y,

6、z;coutinput x,y:endl;coutinput x,y:xy;cinxy;z=(3*pow(x,7)*pow(y,3)+7*pow(x,4)z=(3*pow(x,7)*pow(y,3)+7*pow(x,4)*pow(y,5)+x*x*pow(y,6)-7)/*pow(y,5)+x*x*pow(y,6)-7)/(pow(x,5)*pow(y,3)+2*x*pow(y,5)(pow(x,5)*pow(y,3)+2*x*pow(y,5)+5*pow(x,3)*pow(y,4)+3);+5*pow(x,3)*pow(y,4)+3);coutz=zendl;coutz=zendl;5/23

7、/20247例例3.33.3、根据三边长求三角形面积、根据三边长求三角形面积可根据海伦公式可求结果可根据海伦公式可求结果:假设三角形三边长分别为假设三角形三边长分别为a a、b b、c c三角形面积为三角形面积为areaarea,则,则海伦公式海伦公式:area=s(s-a)(s-b)(s-c)area=s(s-a)(s-b)(s-c)其中:其中:s=(a+b+c)/2s=(a+b+c)/25/23/20248程序:程序:#include#include#include#include using namespace std;using namespace std;void main()voi

8、d main()double a,b,c,s,area;double a,b,c,s,area;cout please input a,b,c=?endl;cout please input a,b,c=?a b c;cin a b c;s=(a+b+c)/2;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);area=sqrt(s*(s-a)*(s-b)*(s-c);cout area=area endl;cout area=area endl;5/23/202492 2、余弦、正弦和正切函数、余弦、正弦和正切函数余弦函数余弦函数:cos(x)cos(x)正

9、弦函数正弦函数:sin(x)sin(x)正切函数正切函数:tan(x)tan(x)x x的单位为弧度的单位为弧度例例3.43.4、编程求、编程求z=3sinx-2cosxz=3sinx-2cosx的值。的值。程序:程序:5/23/202410#include#include#include#include using namespace std;using namespace std;void main()void main()double x,y,z;double x,y,z;const double PI=3.14159;const double PI=3.14159;coutcout输入

10、输入x x和和y y的值的值(度度):endl;xy;cinxy;x=x*PI/180;y=y*PI/180;x=x*PI/180;y=y*PI/180;z=3*sin(x)-2*cos(y);z=3*sin(x)-2*cos(y);coutz=zendl;coutz=zendl;5/23/2024113 3、其它常用数学函数、其它常用数学函数求求绝对值绝对值:abs(x)abs(x)指数函数指数函数(e(ex x):exp(x)exp(x)自然对数自然对数(lnx)(lnx):log(x)log(x)常用对数常用对数(log(log1010 x)x):log10(x)log10(x)5/23

11、/202412二、产生随机数二、产生随机数产生产生随机数函数随机数函数(随机数产生器):(随机数产生器):rand()rand()其作用为返回一个其作用为返回一个0 0到到3276732767之间的正整数。之间的正整数。随机数产生器初始化函数随机数产生器初始化函数:srand(seed)srand(seed)其中其中seedseed为一数字,表示为一数字,表示rand()rand()的起始点。的起始点。对未初始化或用相同数字初始化的对未初始化或用相同数字初始化的rand()rand(),每次,每次执行时产生同一系列数字。执行时产生同一系列数字。使用上面两函数时,要加下面文件包含命令使用上面两函

12、数时,要加下面文件包含命令#include#include5/23/202413例例3.53.5、#include#include#include#includeusing namespace std;using namespace std;void main()void main()srand(8);srand(8);coutrand(),rand(),rand()coutrand(),rand(),rand(),rand(),rand()endl;,rand(),rand()endl;5/23/202414常用内置的常用内置的time()time()函数作为函数作为srand()srand

13、()函数中函数中seedseed的值。的值。time()time()函数函数:根据计算机系统的时钟返回自:根据计算机系统的时钟返回自19701970年年1 1月月1 1日午夜开始到目前的秒数。日午夜开始到目前的秒数。使用使用time()time()函数要加下面文件包含命令函数要加下面文件包含命令#include#include一般使用方法一般使用方法:srand(time(NULL);srand(time(NULL);NULLNULL是一个定义在是一个定义在cstdlibcstdlib和和ctimectime库文件中库文件中的常量(的常量(0 0值),值),time(NULL)time(NUL

14、L)仅返回其值而不存仅返回其值而不存储该返回值。储该返回值。5/23/202415例例3.63.6、简单加法出题系统、简单加法出题系统#include#include#include#include#include#includeusing namespace std;using namespace std;void main()void main()int i,j,k;int i,j,k;srand(time(NULL);srand(time(NULL);i=rand();j=rand();i=rand();j=rand();couti+j=;couti+jk;cink;5/23/20241

15、6产生特定范围内的产生特定范围内的随机数:随机数:公式:公式:下限下限+rand()%(+rand()%(上限上限-下限下限+1)+1)如:如:产生产生1 1到到1010的随机数:的随机数:1+rand()%10 1+rand()%10 产生产生1010到到100100的随机数:的随机数:10+rand()%9110+rand()%915/23/202417三、格式化数字的输出三、格式化数字的输出普通情况下小数点前多于普通情况下小数点前多于6 6位时以位时以E E符号显示,符号显示,否则以定点符号显示。否则以定点符号显示。fixedfixed:控制以定点符号显示数据输出:控制以定点符号显示数据

16、输出用法:用法:coutfixed;coutfixed;cout.precision(p)cout.precision(p):指明有效位数:指明有效位数p p位位例如:例如:cout.precision(5)cout.precision(5):显示:显示5 5位有效数位有效数cout.precision(0)cout.precision(0):回到正常方式:回到正常方式两个共用时,两个共用时,cout.precision(p)cout.precision(p)表示小数点表示小数点后的位数。后的位数。5/23/202418例例3.73.7、#include#includeusing namesp

17、ace std;using namespace std;void main()void main()double a=12345678.87654321;double a=12345678.87654321;double b=87654321.12345678;double b=87654321.12345678;cout.precision(7);cout.precision(7);coutfixed;coutfixed;couta=aendl;couta=aendl;coutb=bendl;coutb=bendl;5/23/202419cout.width(p)cout.width(p):

18、设置字段宽度。:设置字段宽度。例例3.83.8、#include#include#include#includeusing namespace std;using namespace std;void main()void main()string str1=12345,str2=abcdefgh;string str1=12345,str2=abcdefgh;cout.width(10);cout.width(10);coutstr1endl;coutstr1endl;coutstr2endl;coutstr2endl;5/23/202420setw(p)setw(p):设置字段宽度。:设置

19、字段宽度。例例3.93.9、#include#include#include /#include /用用setwsetw要包含此文件要包含此文件#include#includeusing namespace std;using namespace std;void main()void main()string str1=12345,str2=abcdefgh;string str1=12345,str2=abcdefgh;coutsetw(10)str1endl;coutsetw(10)str1endl;coutstr2endl;coutstr2endl;5/23/2024213.2 3.2

20、 选择结构程序设计选择结构程序设计 选择结构是根据给定条件的判断结果决定程选择结构是根据给定条件的判断结果决定程序执行的走向,也称判断结构。序执行的走向,也称判断结构。如:如:x xx0 x0计算计算 绝对值绝对值y=y=-x-xx x0 05/23/202422选择结构的框图表示选择结构的框图表示:一、一路分支一、一路分支5/23/202423复合语句复合语句 语句语句1;1;语句语句2;2;。语句语句n;n;如:如:x=y+7;x=y+7;y+=1.8;y+=1.8;coutxy;coutxy;5/23/202424例例3.103.10、求、求x x的绝对值的框图:的绝对值的框图:no y

21、esx=-xx=-xx0?x0?开始开始结束结束输入输入x x输出输出x x5/23/202425程序:程序:#include#includeusing namespace std;using namespace std;void main()void main()double x;double x;coutInput x:;coutx;cinx;if(x0)if(x0)x=-x;x=-x;coutxendl;coutxx?yx?开始开始结束结束输入输入x,yx,y输出输出x,yx,y5/23/202427正确框图:正确框图:t=xt=xx=yx=yy=ty=tyx?yx?开始开始结束结束输入

22、输入x,yx,y输出输出x,yx,y5/23/202428#include#includeusing namespace std;using namespace std;void main()void main()double x,y,t;double x,y,t;coutintput x and y:;coutxy;cinxy;if(yx)if(yx)t=x;t=x;x=y;x=y;y=t;y=t;coutx,yendl;coutx,yendl;5/23/202429正确程序:正确程序:#include#includeusing namespace std;using namespace s

23、td;void main()void main()double x,y,t;double x,y,t;coutintput x and y:;coutxy;cinxy;if(yx)if(yx)t=x;x=y;y=t;t=x;x=y;y=t;coutx,yendl;coutx,yendl;5/23/202430二、两路分支5/23/202431 例例3.123.12、求、求y=y=的值的值#include#includeusing namespace std;using namespace std;void main()void main()double x,y;double x,y;cinx;

24、cinx;if(x8.0)if(x8.0)y=6.0*x-5.0;y=6.0*x-5.0;else else y=10.0-3*x;y=10.0-3*x;coutx=xty=yendl;coutx=xty=yendl;/输入输入 89 89结果:结果:x=89 x=89y=-257y=-25710-3*x x810-3*x x8 6*x-5 x6*x-5 x8 85/23/202432三、三、逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式选择结构中的选择结构中的“条件条件P”P”实际上是一个表达式,实际上是一个表达式,程序根据此表达式的值是程序根据此表达式的值是 “非非0”0”(条件成立)(条件

25、成立)还是还是 “0”“0”(条件不成立(条件不成立)来决定流向来决定流向.1 1、关系运算符与关系表达式、关系运算符与关系表达式关系运算是比较简单的一种逻辑运算,优先关系运算是比较简单的一种逻辑运算,优先次序为:次序为:(小于小于)=(大于大于)=(=(小于等于小于等于)优先级相同(高)优先级相同(高)=(=(等于等于)!=(!=(不等于不等于)优先级相同(低)优先级相同(低)5/23/202433算术运算符的优先级高于关系运算符算术运算符的优先级高于关系运算符(比较运比较运算符算符).).关系表达式是一种最简单的逻辑表达式,其关系表达式是一种最简单的逻辑表达式,其形式就是用关系运算符将两个

26、表达式连接起来,形式就是用关系运算符将两个表达式连接起来,其结果类型为其结果类型为 bool bool,值只能为,值只能为 true true 或或 false false。如果比较运算的结果成立则表达式取值如果比较运算的结果成立则表达式取值true(true(真真),),否则取值否则取值false(false(假假)。例如:例如:ababc=a+bc=a+bx+y=3x+y=35/23/202434例例3.133.13、求一元二次方程、求一元二次方程axax2 2+bx+c=0+bx+c=0的根,其中的根,其中系数系数a,b,ca,b,c为实数,由键盘输入。为实数,由键盘输入。程序:程序:#

27、include#include#include#includeusing namespace std;using namespace std;void main()void main()double a,b,c,delta,p,q;double a,b,c,delta,p,q;coutplease intput a,b,c=?;coutabc;cinabc;delta=b*b-4*a*c;delta=b*b-4*a*c;5/23/202435p=-b/(2*a);p=-b/(2*a);q=sqrt(abs(delta)/(2*a);q=sqrt(abs(delta)/(2*a);if(delt

28、a=0)if(delta=0)coutx1=p+qendl;coutx1=p+qendl;coutx2=p-qendl;coutx2=p-qendl;elseelse coutx1=p+jqendl;coutx1=p+jqendl;coutx2=p-jqendl;coutx2=p-jqbc)f=(abc)的值的值解:解:的结合方向为从左向右;的结合方向为从左向右;先计算先计算abab的值得到的值得到true(true(或或1)1);再算再算(abc)(abc),等价于,等价于truectruec或或1c1c;由此可知由此可知(abc)(abc)的值为的值为false(false(或或0)0);

29、而而f=1,f=1,不等于零;不等于零;所以最后得到所以最后得到f=(abc)f=(abc)的值为的值为false(false(或或0).0).5/23/2024372.2.逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式C+C+中有三种逻辑运算符:中有三种逻辑运算符:!(!(逻辑非逻辑非)&()&(逻辑与逻辑与)|()|(逻辑或逻辑或)高高 低低逻辑非逻辑非“!”“!”是一单目运算符,和其它单目运是一单目运算符,和其它单目运算符一样,优先级高于包括算术运算符在内的所算符一样,优先级高于包括算术运算符在内的所有双目运算符。有双目运算符。所有的关系运算符的优先级都高于逻辑与和所有的关系运算符的优先级

30、都高于逻辑与和逻辑或运算符。逻辑或运算符。5/23/202438逻辑运算真值表5/23/202439逻辑表达式逻辑表达式:由逻辑运算符连接表达式构成,:由逻辑运算符连接表达式构成,其结果类型为其结果类型为 bool bool,值为,值为 true true 或或 false false。例如:例如:a!=ba!=b!(a+b)!(a+b)(ab)&(xy)(ab)&(xy)!a&b+!a&b+a|b+4&a*ba|b+4&a*by=!a+a|by=!a+a|b5/23/202440例例3.153.15、分析程序运行结果、分析程序运行结果#include#includeusing namespa

31、ce std;using namespace std;void main()void main()int n,m,a=8,b=5;int n,m,a=8,b=5;n=ab;n=ab;m=ab;coutn=ntm=mendl;coutn=ntm=mb)&(10090);n=(ab)&(10090);m=(a90);m=(a90);coutn=ntm=mendl;coutn=ntm=m1&4&71&4&73+1的值的值5/23/202442例例3.173.17、编写一用户登录的判断程序、编写一用户登录的判断程序程序:程序:#include#include#include#include using

32、 namespace std;using namespace std;void main(void)void main(void)string username,password;string username,password;coutPlease Input Your UserName:;coutusername;cinusername;5/23/202443coutPlease Input Your Password:;coutpassword;cinpassword;if(username=student005&if(username=student005&password=12345

33、678)password=12345678)coutok!endl;coutok!endl;if(username=student005&if(username=student005&password!=12345678)password!=12345678)coutPassword Error!endl;coutPassword Error!endl;5/23/202444if(username!=student005&if(username!=student005&password=12345678)password=12345678)coutUserName Error!endl;cou

34、tUserName Error!endl;if(username!=student005&if(username!=student005&password!=12345678)password!=12345678)coutUserName and Password coutUserName and Password Error!endl;Error!endl;5/23/202445例例3.183.18、输入一个年份,判断是否闰年、输入一个年份,判断是否闰年闰年条件闰年条件 (1)1)能被能被4 4整除整除,但不能被但不能被100100整除的年份整除的年份(2)(2)能被能被100100整除整除

35、,又能被又能被400400整除的年份整除的年份分析:分析:条件条件(1)(1)中能被中能被4 4整除可表示为整除可表示为:x%4=0:x%4=0不能被不能被100100整除可表示为整除可表示为:x%100!=0 x%100!=0同时满足则条件同时满足则条件(1)(1)表示为:表示为:(x%4=0)&(x%100!=0)(x%4=0)&(x%100!=0)5/23/202446条件条件(2)(2)中能被中能被100100整除可表示为整除可表示为:x%100=0:x%100=0能被能被400400整除可表示为整除可表示为:x%400=0:x%400=0同时满足则条件同时满足则条件(2)(2)表示为

36、:表示为:(x%100=0)&(x%400=0)(x%100=0)&(x%400=0)因能被因能被400400整除的数必能被整除的数必能被100100整除,所以条整除,所以条件件(2)(2)可改为:可改为:(x%400=0)(x%400=0)而总表达式则为而总表达式则为(1)(1)、(2)(2)的逻辑或的逻辑或.5/23/202447#include include using namespace std;using namespace std;void main(void)void main(void)int year;int year;bool IsLeapYear;bool IsLeap

37、Year;coutyear;coutyear;IsLeapYear=(year%4=0&year%100!=0)IsLeapYear=(year%4=0&year%100!=0)|(year%400=0);|(year%400=0);if(IsLeapYear)if(IsLeapYear)coutyear is a leap yearendl;coutyear is a leap yearendl;elseelsecoutyear is not a leap coutyear is not a leap yearendl;yearendl;5/23/202448原则上,逻辑运算符的操作数应为原

38、则上,逻辑运算符的操作数应为boolbool型数型数据,如果操作数是其它类型,编译系统会自动将据,如果操作数是其它类型,编译系统会自动将非非0 0数据转换为数据转换为truetrue,0 0转换为转换为falsefalse。算术表达式的值可以作为数值,也可以作为算术表达式的值可以作为数值,也可以作为逻辑值,作为逻辑值使用时,非逻辑值,作为逻辑值使用时,非0 0代表逻辑真代表逻辑真(true)(true),而,而0 0代表逻辑假代表逻辑假(false).(false).如:如:if(x)if(x)/x/x为数值为数值if(10&-5.6)cout“true”;if(10&-5.6)cout“tr

39、ue”;5/23/202449例例3.193.19、编程计算函数、编程计算函数 1010其它其它y=y=的值的值 -5.7-5.7x=8x=85/23/202450程序一:程序一:#include#include using namespace std;using namespace std;void main(void)void main(void)double x,y;double x,y;coutInput x=;coutx;cinx;if(x=8)if(x=8)y=-5.7;y=-5.7;elseelsey=10.0;y=10.0;coutx=x,y=yendl;coutx=x,y=y

40、endl;5/23/202451程序二:程序二:#include#include using namespace std;using namespace std;void main(void)void main(void)double x,y;double x,y;coutInput x=;coutx;cinx;if(x-8)if(x-8)y=10.0;y=10.0;elseelsey=-5.7;y=-5.7;coutx=x,y=yendl;coutx=x,y=yendl;5/23/202452有些数学上的数值区间,不能直接用在有些数学上的数值区间,不能直接用在C+C+的的条件表达式中,否则会

41、得到错误的结果。条件表达式中,否则会得到错误的结果。例例3.203.20、编程计算函数、编程计算函数 x x2 2+1.5+1.51 1x10 x10y=y=的值的值 8.58.5其它其它5/23/202453#include#includeusing namespace std;using namespace std;void main()void main()double x,y;double x,y;coutInput x=;coutx;cinx;if(1x=10)if(1x=10)y=x*x+1.5;y=x*x+1.5;elseelsey=8.5;y=8.5;coutx=x,y=yen

42、dl;coutx=x,y=yendl;5/23/202454x x在在(1,10(1,10区间区间,在在C+C+中若直接写成中若直接写成“1x=10”,“1x=10”,表面上看表达式没有错误,但按照表面上看表达式没有错误,但按照关系运算符从左到右的运算原则:关系运算符从左到右的运算原则:当当x x的值在的值在(1,10(1,10区间时,先运算区间时,先运算“1x”“1x”的的值为值为1 1,再运算,再运算“1=10”“1=10”得整个表达式的值为得整个表达式的值为1 1(真真),此结果正确。,此结果正确。但当但当x x的值不在的值不在(1,10(1,10区间时,同样得整个表区间时,同样得整个表

43、达式的值为达式的值为1(1(真真),结果不正确。,结果不正确。此表达式在此表达式在C+C+中的正确写法应该是:中的正确写法应该是:1x&x=101x&x=105/23/202455正确程序:正确程序:#include#includeusing namespace std;using namespace std;void main()void main()double x,y;double x,y;coutInput x=;coutx;cinx;if(1x&x=10)if(1x&x=10)y=x*x+1.5;y=x*x+1.5;elseelsey=8.5;y=8.5;coutx=x,y=yend

44、l;coutx=x,y=yy)if(xy)t=x;x=y;y=t;t=x;x=y;y=t;用逗号表达式可简化为:用逗号表达式可简化为:if(xy)if(xy)t=x,x=y,y=t;t=x,x=y,y=t;5/23/202458五、五、?运算符和运算符和?表达式表达式?运算符由运算符由?和和:两个运算符组成,也称为条件两个运算符组成,也称为条件运算符运算符.是一个三目运算符,对三个运算对象进行操是一个三目运算符,对三个运算对象进行操作。作。?表达式也称为条件表达式,其格式为:表达式也称为条件表达式,其格式为:表达式表达式1?1?表达式表达式2:2:表达式表达式3 35/23/202459?表达

45、式框图表达式框图执行过程:执行过程:如果表达式如果表达式1 1 的值为的值为非零值,则非零值,则?表达式的表达式的值为表达式值为表达式2 2的值;的值;如果表达式如果表达式1 1 的值等的值等于零,则于零,则?表达式的值表达式的值为表达式为表达式3 3的值。的值。5/23/202460?表达式的优先级比赋值运算符表达式的优先级比赋值运算符“=”“=”高,比高,比逻辑或逻辑或“|”“|”低。低。?表达式经常用来替换下面形式的表达式经常用来替换下面形式的ifif语句:语句:if(xy)if(xy)z=x;z=x;elseelsez=y;z=y;可写成:可写成:z=xy?x:y;z=xy?x:y;?

46、表达式执行比表达式执行比if-elseif-else快很多。快很多。5/23/202461例例3.213.21、求双精度类型量的绝对值、求双精度类型量的绝对值#include#include using namespace std;using namespace std;void main()void main()double x,y;double x,y;cinx;cinx;y=x0?x:-x;y=x0?x:-x;coutyendl;couty().-自左至右自左至右2 2-+-!(t)*&sizeof-+-!(t)*&sizeof自右至左自右至左3 3*/%*/%自左至右自左至右4 4+(

47、加)(加)-(减)(减)自左至右自左至右5 5 自左至右自左至右6 6 =自左至右自左至右7 7=!=!=自左至右自左至右5/23/202463优先级优先级运算符运算符结合方向结合方向8 8&(按位与)(按位与)自左至右自左至右9 9 自左至右自左至右1010|自左至右自左至右1111&自左至右自左至右1212|自左至右自左至右1313?:?:自右至左自右至左1414=+=-=*=/=%=+=-=*=/=%=&=|=自右至左自右至左1515,自左至右自左至右5/23/202464七、嵌套的选择结构七、嵌套的选择结构当一个选择结构中包含有其它的选择结构时,当一个选择结构中包含有其它的选择结构时,

48、则称为嵌套的选择结构。则称为嵌套的选择结构。例例3.223.22、编写一用户登录的判断程序、编写一用户登录的判断程序框图如下页:框图如下页:5/23/202465endbeginInput usernameAnd passwordUsername?Username Error!UserName and UserName and Password Error!Password Error!Password?Password?Ok!Password Error!5/23/202466程序:程序:#include#include#include#include using namespace std

49、;using namespace std;void main(void)void main(void)string username,password;string username,password;coutPlease Input Your UserName:;coutusername;cinusername;coutPlease Input Your Password:;coutpassword;cinpassword;5/23/202467if(username=student005)if(username=student005)if(password=12345678)if(pass

50、word=12345678)coutok!endl;coutok!endl;elseelsecoutPassword Error!endl;coutPassword Error!endl;elseelseif(password=12345678)if(password=12345678)coutUserName Error!endl;coutUserName Error!endl;elseelsecoutUserName and Password coutUserName and Password Error!endl;Error!endl;5/23/202468嵌套的嵌套的ifif语句一般形

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服