04C语言程序设计项目四

上传人:xc****rg 文档编号:252958940 上传时间:2024-11-26 格式:PPTX 页数:51 大小:503.81KB
返回 下载 相关 举报
04C语言程序设计项目四_第1页
第1页 / 共51页
04C语言程序设计项目四_第2页
第2页 / 共51页
04C语言程序设计项目四_第3页
第3页 / 共51页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,主编:王斌,C,语言程序设计,项目四选择程序设,计,计,学习目标,认识选择结,构,构,掌握关系运,算,算符及表达,式,式,掌握逻辑运,算,算符及表达,式,式,掌握,if,语句及使用,方,方法,掌握,switch,语句及使用,方,方法,项目任务,任务一,一,一元二次方,程,程计算器,任务二,任意三个数,排,排序,任务,三,三,学,学,生,生成,绩,绩评,级,级,任务,四,四,四,四,则,则运,算,算计,算,算器,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,任务,描,描述,在,C,语言,命,命令,字,字符,环,环境,下,下模,拟,拟实,现,现一,元,元二,次,次方,程,程计,算,算器,。,。设,计,计的,一,一款,在,在线,一,一元,二,二次,方,方程,计,计算,器,器,,使,使用,它,它只,需,需要,输,输入,方,方程,的,的系,数,数,,系,系统,就,就能,够,够通,过,过解,题,题得,到,到方,程,程的,两,两个,根,根。,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,任务,分,分析,设方,程,程二,次,次系,数,数、,一,一次,系,系数,、,、常,数,数系,数,数分,别,别为,a,b,c,,方,程,程的,两,两个,根,根分,别,别为,x1,x2,。根,据,据一,元,元二,次,次方,程,程求,根,根公,式,式来,求,求它,的,的根,,,,首,先,先求,出,出,dlta=b2-4ac,,,然,然后,根,根据,dlta,的值,来,来求,x1,和,x2,:如,果,果,dlta=0,,则,x1=(-b+)/(2a),,,x2=(-b-)/(2a),;否,则,则,,方,方程,的,的根,为,为两,个,个虚,数,数,,这,这两,个,个虚,数,数实,部,部相,同,同为,xr=(-b)/(2a),,虚,部,部分,别,别为,xi1=()/(2a),、,xi2=-()/(2a),。这,段,段叙,述,述用,C,语言,表,表示,为,为:,if(dlta=0),x1=(-b+sqrt(dlta)/(2*a);,x2=(-b-sqrt(dlta)/(2*a);,else,xr=(-b)/(2*a);,xi1=sqrt(dlta)/(2*a);,xi2=-sqrt(dlta)/(2*a);,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,任务,实,实施,1.,程序,源,源代,码,码,/*P4_Task1.c*/,#include,#include,intmain(intargc,char*argv),floata,b,c,dlta,x1,x2,xr,xi1,xi2;,printf(EnterAquadraticequationcoefficientsa,b,cn);,scanf(%f,%f,%f,dlta=b*b-4*a*c;,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,任务,实,实施,if(dlta=0),x1=(-b+sqrt(dlta)/(2*a);,x2=(-b-sqrt(dlta)/(2*a);,else,xr=(-b)/(2*a);,xi1=sqrt(-dlta)/(2*a);,xi2=-sqrt(-dlta)/(2*a);,printf(Equation:%fx2+%fx+%f=0n,a,b,c);,printf(Result:n);,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,任务,实,实施,if(dlta=0),printf(x1=%fn,x1);,printf(x2=%fn,x2);,else,printf(x1=%f+%fin,xr,xi1);,printf(x2=%f+%fin,xr,xi2);,getch();,return0;,2.,程序,运,运行,结,结果,模拟,一,一元,二,二次,方,方程,计,计算,器,器运,行,行结,果,果如,图,图所,示,示。,任务,一,一,一,一,元,元二,次,次方,程,程计,算,算器,相关,知,知识,一、,选,选择,结,结构,实际,生,生活,中,中,,经,经常,遇,遇到,要,要依,据,据当,时,时的,情,情况,来,来决,定,定下,一,一步,的,的行,为,为动,作,作。,例,例如,,,,现,在,在必,须,须出,门,门了,,,,如,果,果在,下,下雨,,,,则,要,要带,雨,雨伞,出,出门,;,;如,果,果没,有,有下,雨,雨,,则,则不,带,带雨,伞,伞出,门,门。,在,在进,行,行程,序,序设,计,计的,时,时候,也,也会,经,经常,遇,遇到,类,类似,的,的问,题,题。,如,如在,打,打怪,升,升级,类,类游,戏,戏中,,,,怪,兽,兽遗,落,落的,宝,宝物,,,,游,戏,戏角,色,色如,果,果按,了,了拾,取,取按,键,键,,则,则该,宝,宝物,被,被游,戏,戏角,色,色拾,取,取拥,有,有,,否,否则,该,该宝,物,物不,会,会被,游,游戏,角,角色,拾,拾取,拥,拥有,。,。程,序,序设,计,计语,言,言提,供,供了,根,根据,条,条件,来,来实,现,现程,序,序执,行,行顺,序,序的,语,语句,。,。能,够,够根,据,据条,件,件改,变,变程,序,序执,行,行的,结,结构,称,称为,选,选择,结,结构,或,或分,支,支结,构,构。,选,选择,结,结构,示,示意,如,如图,所,所示,。,。,选择结,构,构往往,需,需要一,个,个关系,表,表达式,或,或者逻,辑,辑表达,式,式作为,判,判决的,条,条件。,根,根据其,值,值是真,还,还是假,来,来决定,执,执行相,应,应的语,句,句。,任务一,一,一,元,元二次,方,方程计,算,算器,相关知,识,识,二、关,系,系运算,符,符与关,系,系表达,式,式,1,关系,运,运算符,在程序,中,中经常,需,需要比,较,较两个,量,量的大,小,小关系,,,,以决,定,定程序,下,下一步,的,的动作,。,。比较,两,两个量,的,的运算,符,符称为,关,关系运,算,算符。,在语,言,言中有,以,以下关,系,系运算,符,符,如,表,表,4-1,所示。,关系运算符,含义,小于,大于,=,大于或等于,=,等于,!=,不等于,任务一,一,一,元,元二次,方,方程计,算,算器,相关知,识,识,二、关,系,系运算,符,符与关,系,系表达,式,式,1,关系,运,运算符,在程序,中,中经常,需,需要比,较,较两个,量,量的大,小,小关系,,,,以决,定,定程序,下,下一步,的,的动作,。,。比较,两,两个量,的,的运算,符,符称为,关,关系运,算,算符。,在语,言,言中有,以,以下关,系,系运算,符,符,如,表,表,4-1,所示。,关系运算符,含义,小于,大于,=,大于或等于,=,等于,!=,不等于,关系运,算,算符都,是,是双目,运,运算符,,,,其结,合,合性均,为,为左结,合,合。关,系,系运算,符,符的优,先,先级低,于,于算术,运,运算符,,,,高于,赋,赋值运,算,算符。,在,在六,个,个关系,运,运算符,中,中,,=,的优先,级,级相同,,,,高于,=,和,!=,,,=,和,!=,的优先,级,级相同,。,。,任务一,一,一,元,元二次,方,方程计,算,算器,相关知,识,识,2,关系,表,表达式,关系表,达,达式的,一,一般形,式,式为:,表达式,关,关系,运,运算符,表,表,达,达式,例如:,a+bc-d,x3/2,a+1(bc),a!=(c=d),关系表,达,达式的,值,值是“,真,真”和,“,“假”,,,,用“,1”,和“,0”,表示。,例如:,50,的值为,“,“真”,,,,即为,1,。,(a=3)(b=5),由于,35,不成立,,,,故其,值,值为假,,,,即为,0,。,任务一,一,一,元,元二次,方,方程计,算,算器,相关知,识,识,例,4.1,main(),char c=k;,inti=1,j=2,k=3;,floatx=3e+5,y=0.85;,printf(%d,%dn,a+5=k+1);,printf(%d,%dn,1j5,x-5.25b&cd,等价于,(ab)&(cd),!b=c|da,等价于,(!b)=c)|(dc&x+yc)&(x+y)b),printf(max=%dn,a);,else,printf(max=%dn,b);,程序运,行,行要求,输,输入两,个,个整数,,,,输出,其,其中的,大,大数。,任务一,一,一,元,元二次,方,方程计,算,算器,相关知识,2,if,形式,if,形式为:,if(,表达式,),语句,其语义是,:,:如果表,达,达式的值,为,为真,则,执,执行其后,的,的语句,,否,否则不,执,执行该语,句,句。流程,图,图表示如,图,图。,任务一,一,一元二,次,次方程计,算,算器,相关知识,if,语句可看,作,作是,if-else,结构中语,句,句,2,为空的特,殊,殊情况。,即,即:,if(,表达式,),语句,1,;,else,;,例,4.2,比较两个,数,数的大小,,,,输出大,数,数。,main(),inta,b,max;,printf(n inputtwonumbers:);,scanf(%d%d,max=a;,if (maxb) max=b;,printf(max=%d,max);,程序中,,要,要求输入,两,两个数,a,、,b,。把,a,先赋予变,量,量,max,,再用,if,语句判别,max,和,b,的大小,,如,如,max,小于,b,,则把,b,赋予,max,。因此,max,中总是大,数,数,最后,输,输出,max,的值。,任务一,一,一元二,次,次方程计,算,算器,相关知识,3,if-else-if,形式,前二种形,式,式的,if,语句一般,适,适用于两,个,个分支的,情,情况。,当,当有多个,分,分支选择,时,时,可采,用,用,if-else-if,语句,其,一,一般形式,为,为:,if(,表达式,1),语句,1,;,elseif(,表达式,2),语句,2,;,elseif(,表达式,3),语句,3,;,elseif(,表达式,m),语句,m,;,else,语句,n,;,其语义是,:,:依次判,断,断表达式,的,的值,当,出,出现某个,值,值为真时,,,,则执行,其,其对应的,语,语句。然,后,后跳到整,个,个,if,语句之外,继,继续执行,程,程序。,如,如果所有,的,的表达式,均,均为假,,则,则执行语,句,句,n,。然后继,续,续执行后,续,续程序。,if-else-if,流程图表,示,示如图。,任务一,一,一元二,次,次方程计,算,算器,相关知识,if-else-if,结构用用,if-else,表示如下,:,:,if(,表达式样,1),语句,1,;,else,if (,表达式,2),语句,2;,else,if(,表达式,m),语句,m;,else,语句,n;,任务一,一,一元二,次,次方程计,算,算器,相关知识,例,4.3,判断字符,类,类别,#includestdio.h,main(),charc;,printf(input acharacter:);,c=getchar();,if(c=0&c=A&c=a&cb),c=a-b;,printf(“c:%fn”,c);,else,c=b-a;,printf(“c:%fn”,c);,任务二,任,任意三,个,个数排序,任务描述,三个数排,序,序是选择,结,结构经典,例,例程,要,求,求输入三,个,个数,按,大,大小输出,这,这三个数,。,。,任务分析,解决本问,题,题方法较,多,多,作为,初,初学者我,们,们先用比,较,较法来解,决,决此问题,。,。比较法,的,的基本思,路,路用数学,符,符号语句,表,表达如下,:,:,设三个数,分,分别为,a,b,c,,存放从,大,大到小顺,序,序三个数,变,变量为,B,M,S,;,如果,a=b,是 判,断,断,b=c,是,B=a,M=b,S=c,否判断,a=c,是,B=a,M=c,S=b,否,B=c,M=a,S=b,否 判,断,断,b=c,是判断,a=c,是,B=b,M=a,S=c,否,B=b,M=c,S=a,否,B=c,M=b,S=a,任务二,任,任意三,个,个数排序,用流程图,表,表示如图,4-7,所示,任务二,任,任意三,个,个数排序,任务实施,1.,程序源代,码,码,/*P4_Task2.c*/,#include,intmain(intargc, char*argv),float a,b,c,B,M,S;,printf(Enter threenumber a,b,cn);,scanf(%f,%f,%f,任务二,任,任意三,个,个数排序,任务实施,if (a=b),if (b=c),B=a;,M=b;,S=c;,else,if(a=c),B=a;,M=c;,S=b;,else,B=c;,M=a;,S=b;,任务二,任,任意三,个,个数排序,任务实施,else,if(b=c),if(b=c),B=b;,M=a;,S=c;,else,B=b;,M=c;,S=a;,else,B=c;,M=b;,S=a;,任务,二,二,任,任,意,意三,个,个数,排,排序,任务,实,实施,printf(ResultofSort:%.2f%.2f%.2fn,B,M,S);,getch();,return0;,任务,二,二,任,任,意,意三,个,个数,排,排序,任务,实,实施,2.,程序,运,运行,结,结果,三个,数,数排,序,序程,序,序运,行,行结,果,果如,图,图所,示,示。,任务,三,三,学,学,生,生成,绩,绩评,级,级,任务,描,描述,素质,教,教育,要,要求,对,对学,生,生学,习,习评,价,价采,用,用分,级,级评,定,定,,一,一般,考,考试,成,成绩,为,为具,体,体分,数,数,,按,按分,数,数进,行,行分,级,级的,方,方法,如,如下,:,:,=90,:,A,;,=75,:,B,;,=60,:,C,;,=90),level=A;,elseif(g=75),level=B;,elseif(g=60),level=C;,else,level=D;,printf(TheLevel:%cn,level);,getch();,return0;,任务,三,三,学,学,生,生成,绩,绩评,级,级,任务,实,实施,2.,程序,运,运行,结,结果,学生,成,成绩,评,评级,运,运行,结,结果,如,如图,所,所示,。,。,任务,三,三,学,学,生,生成,绩,绩评,级,级,相关,知,知识,一、,if,语句,的,的嵌,套,套,if,语句,中,中的,执,执行,语,语句,为,为,if,语句,,,,就,构,构成,了,了,if,语句,嵌,嵌套,。,。如,图,图所,示,示。,任务,三,三,学,学,生,生成,绩,绩评,级,级,相关,知,知识,在嵌,套,套内,的,的,if,语句,可,可能,又,又是,if-else,型的,,,,这,将,将会,出,出现,多,多个,if,和多,个,个,else,重叠,的,的况,,,,这,时,时要,特,特别,注,注意,if,和,else,的配,对,对问,题,题。,如:,if(,表达,式,式,1),if(,表达,式,式,2),语句,1,;,else,语句,2,;,语,言,言规,定,定,,else,总是,与,与它,前,前面,最,最近,的,的,if,配对,,,,因,此,此对,上,上述,例,例子,应,应按,前,前一,种,种情,况,况理,解,解。,应,应该,理,理解,为,为:,if(,表达,式,式,1),if(,表达,式,式,2),语句,1,;,else,语句,2,;,任务,三,三,学,学,生,生成,绩,绩评,级,级,相关,知,知识,例,4.4,输出,两,两个,数,数的,大,大小,关,关系,main(),inta,b;,printf(pleaseinputA,B:);,scanf(%d%d,if(a!=b),if(ab)printf(ABn);,elseprintf(AB,、,Ab)printf(ABn);,elseprintf(Ab)max=a;,elsemax=b;,用,条,条,件,件,表,表,达,达,式,式,写,写,为,为,max=(ab)?a:b;,执,行,行,该,该,语,语,句,句,的,的,语,语,义,义,是,是,:,:,如,如,ab,为,真,真,,,,,则,则,把,把,a,赋,予,予,max,,,否,否,则,则,把,把,b,赋,予,予,max,。,使,用,用,条,条,件,件,表,表,达,达,式,式,时,时,,,,,还,还,应,应,注,注,意,意,以,以,下,下,几,几,点,点,:,:,任,务,务,三,三,学,学,生,生,成,成,绩,绩,评,评,级,级,相,关,关,知,知,识,识,条,条,件,件,运,运,算,算,符,符,的,的,运,运,算,算,优,优,先,先,级,级,低,低,于,于,关,关,系,系,运,运,算,算,符,符,和,和,算,算,术,术,运,运,算,算,符,符,,,,,但,但,高,高,于,于,赋,赋,值,值,符,符,。,。,因,此,此,max=(ab)?a:b,可,以,以,去,去,掉,掉,括,括,号,号,而,而,写,写,为,为,max=ab?a:b,条,件,件,运,运,算,算,符,符,?,和,:,:,是,是,一,一,对,对,运,运,算,算,符,符,,,,,不,不,能,能,分,分,开,开,单,单,独,独,使,使,用,用,。,。,条,条,件,件,运,运,算,算,符,符,的,的,结,结,合,合,方,方,向,向,是,是,自,自,右,右,至,至,左,左,。,。,例,如,如,:,:,ab?a:cd?c:d,应,理,理,解,解,为,为,ab?a:(cd?c:d),这,也,也,就,就,是,是,条,条,件,件,表,表,达,达,式,式,嵌,嵌,套,套,的,的,情,情,形,形,,,,,即,即,其,其,中,中,的,的,表,表,达,达,式,式,3,又,是,是,一,一,个,个,条,条,件,件,表,表,达,达,式,式,。,。,任,务,务,三,三,学,学,生,生,成,成,绩,绩,评,评,级,级,相,关,关,知,知,识,识,例,4.6,使,用,用,条,条,件,件,表,表,达,达,式,式,判,判,别,别,成,成,绩,绩,级,级,别,别,#include,intmain(intargc,char*argv),floatg;,printf(Enterscore:n);,scanf(%f,printf(TheLevel:%cn,g=90?A:(g=75?B:(g=60?C:D);,return0;,任,务,务,三,三,四,四,则,则,运,运,算,算,计,计,算,算,器,器,任,务,务,描,描,述,述,设,计,计,一,一,个,个,四,四,则,则,运,运,算,算,计,计,算,算,器,器,,,,,用,用,户,户,输,输,入,入,一,一,个,个,运,运,算,算,式,式,,,,,计,计,算,算,器,器,运,运,算,算,出,出,结,结,果,果,。,。,任,务,务,分,分,析,析,流,程,程,图,图,如,如,图,图,所,所,示,示,。,。,任,务,务,三,三,四,四,则,则,运,运,算,算,计,计,算,算,器,器,任,务,务,实,实,施,施,1.,程,序,序,源,源,代,代,码,码,/*P4_Task3.c*/,main(),floata,b;,charc;,printf(inputexpression:a+(-,*,/)bn);,scanf(%f%c%f,switch(c),case+:printf(Result:%fn,a+b);break;,case-:printf(Result:%fn,a-b);break;,case*:printf(Result:%fn,a*b);break;,case/:printf(Result:%fn,a/b);break;,default:printf(inputerrorn);,getch();,任,务,务,三,三,四,四,则,则,运,运,算,算,计,计,算,算,器,器,任,务,务,实,实,施,施,2.,程,序,序,运,运,行,行,结,结,果,果,三,角,角,形,形,面,面,积,积,计,计,算,算,器,器,运,运,行,行,结,结,果,果,如,如,图,图,所,所,示,示,。,。,任,务,务,三,三,四,四,则,则,运,运,算,算,计,计,算,算,器,器,相关知,识,识,一、,switch,语句,语言,提,提供了,另,另一种,用,用于多,分,分支选,择,择的,switch,语句,,其,其一,般,般形式,为,为:,switch(,表达式,),case,常量表,达,达式,1:,语句,1;,case,常量表,达,达式,2:,语句,2;,case,常量表,达,达式,n:,语句,n;,default:,语句,n+1;,其语义,是,是:计,算,算表达,式,式的值,。,。 并,逐,逐个与,其,其后的,常,常量表,达,达式值,相,相比较,,,,当表,达,达式的,值,值与某,个,个常量,表,表达式,的,的值相,等,等时,,即,即执行,其,其后的,语,语句,,然,然后不,再,再进行,判,判断,,继,继续执,行,行后面,所,所有,case,后的语,句,句。如,表,表达式,的,的值与,所,所有,case,后的常,量,量表达,式,式均不,相,相同时,,,,则执,行,行,default,后,的语句,。,。,任务三,四,四,则,则运算,计,计算器,相关知,识,识,例,4.9switch,语句使,用,用,main(),inta;,printf(input integernumber:);,scanf(%d,switch(a),case 1:printf(Mondayn);break;,case 2:printf(Tuesdayn);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);,任务三,四,四,则,则运算,计,计算器,相关知,识,识,本程序,是,是要求,输,输入一,个,个,1-7,的数字,,,,输出,与,与之对,应,应的星,期,期英文,单,单词。,注意:,使用,switch,语句时,应,应注意,以,以下几,点,点:,在,case,后的各常量,表,表达式的值,不,不能相同,,否,否则会出现,错,错误。,在,case,后,允许有,多,多个语句,,可,可以不用,括起来。,各,case,和,default,子句的先后,顺,顺序可以变,动,动,而不会,影,影响程序执,行,行结果。,default,子句可以省,略,略不用。,教学检测,三个数,排,排序,判断是,否,否闰年,作业,完成项目,4,练习与习题,。,。,谢谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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