收藏 分销(赏)

三程序设计基础.ppt

上传人:精*** 文档编号:2404979 上传时间:2024-05-29 格式:PPT 页数:178 大小:562KB
下载 相关 举报
三程序设计基础.ppt_第1页
第1页 / 共178页
三程序设计基础.ppt_第2页
第2页 / 共178页
三程序设计基础.ppt_第3页
第3页 / 共178页
三程序设计基础.ppt_第4页
第4页 / 共178页
三程序设计基础.ppt_第5页
第5页 / 共178页
点击查看更多>>
资源描述

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语句一般形

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告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 

客服