04C语言程序设计项目四.pptx





《04C语言程序设计项目四.pptx》由会员分享,可在线阅读,更多相关《04C语言程序设计项目四.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高等职业院校教材C语言程序设计主编:王斌项目四项目四 选择程序设计选择程序设计 p学习目标认识选择结构掌握关系运算符及表达式掌握逻辑运算符及表达式掌握if语句及使用方法掌握switch语句及使用方法主编:王斌C语言程序设计项目任务任务一 一元二次方程计算器 任务二 任意三个数排序任意三个数排序任务三 学生成绩评级任务四 四则运算计算器主编:王斌C语言程序设计任务一 一元二次方程计算器任务描述任务描述 在C语言命令字符环境下模拟实现一元二次方程计算器。设计的一款在线一元二次方程计算器,使用它只需要输入方程的系数,系统就能够通过解题得到方程的两个根。主编:王斌C语言程序设计任务一 一元二次方程计算
2、器任务分析任务分析 设方程二次系数、一次系数、常数系数分别为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);elsexr=(-b)/(2*a);xi1=s
3、qrt(dlta)/(2*a);xi2=-sqrt(dlta)/(2*a);主编:王斌C语言程序设计任务一 一元二次方程计算器任务实施任务实施1.程序源代码/*P4_Task1.c*/#include#include int main(int argc,char*argv)float a,b,c,dlta,x1,x2,xr,xi1,xi2;printf(Enter A quadratic equation coefficients a,b,cn);scanf(%f,%f,%f,&a,&b,&c);dlta=b*b-4*a*c;主编:王斌C语言程序设计任务一 一元二次方程计算器任务实施任务实施i
4、f(dlta=0)x1=(-b+sqrt(dlta)/(2*a);x2=(-b-sqrt(dlta)/(2*a);elsexr=(-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);主编:王斌C语言程序设计任务一 一元二次方程计算器任务实施任务实施if(dlta=0)printf(x1=%fn,x1);printf(x2=%fn,x2);elseprintf(x1=%f+%fin,xr,xi1);printf(x2=%f+%fi
5、n,xr,xi2);getch();return 0;2.程序运行结果模拟一元二次方程计算器运行结果如图所示。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识一、选择结构 实际生活中,经常遇到要依据当时的情况来决定下一步的行为动作。例如,现在必须出门了,如果在下雨,则要带雨伞出门;如果没有下雨,则不带雨伞出门。在进行程序设计的时候也会经常遇到类似的问题。如在打怪升级类游戏中,怪兽遗落的宝物,游戏角色如果按了拾取按键,则该宝物被游戏角色拾取拥有,否则该宝物不会被游戏角色拾取拥有。程序设计语言提供了根据条件来实现程序执行顺序的语句。能够根据条件改变程序执行的结构称为选择结构或分支
6、结构。选择结构示意如图所示。选择结构往往需要一个关系表达式或者逻辑表达式作为判决的条件。根据其值是真还是假来决定执行相应的语句。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识二、关系运算符与关系表达式二、关系运算符与关系表达式1关系运算符在程序中经常需要比较两个量的大小关系,以决定程序下一步的动作。比较两个量的运算符称为关系运算符。在语言中有以下关系运算符,如表4-1所示。关系运算符含义 小于大于=大于或等于=等于!=不等于主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识二、关系运算符与关系表达式二、关系运算符与关系表达式1关系运算符在程序中经常需要比较两
7、个量的大小关系,以决定程序下一步的动作。比较两个量的运算符称为关系运算符。在语言中有以下关系运算符,如表4-1所示。关系运算符含义 小于大于=大于或等于=等于!=不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=的优先级相同,高于=和!=,=和!=的优先级相同。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识2关系表达式关系表达式的一般形式为:表达式 关系运算符 表达式例如:a+bc-dx3/2a+1(bc)a!=(c=d)关系表达式的值是“真”和“假”,用“1”和“0”表示。例如:50的值为“真”,
8、即为1。(a=3)(b=5)由于35不成立,故其值为假,即为0。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识例4.1main()char c=k;int i=1,j=2,k=3;float x=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);程序运行要求输入两个整数,输出其中的大数。主编:王斌C语言程序设计任务一
9、一元二次方程计算器相关知识相关知识2if形式if形式为:if(表达式)语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。流程图表示如图。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识if语句可看作是if-else结构中语句2为空的特殊情况。即:if(表达式)语句1;else;例4.2比较两个数的大小,输出大数。main()int a,b,max;printf(n input two numbers:);scanf(%d%d,&a,&b);max=a;if(maxb)max=b;printf(max=%d,max);程序中,要求输入两个数a、b。把a先赋予
10、变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识3if-else-if形式前二种形式的if语句一般适用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式m)语句m;else 语句n;其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。如果所有的表达式均为假
11、,则执行语句n。然后继续执行后续程序。if-else-if流程图表示如图。主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识if-else-if结构用用if-else表示如下:if(表达式样1)语句1;elseif(表达式2)语句2;elseif(表达式m)语句m;else语句n;主编:王斌C语言程序设计任务一 一元二次方程计算器相关知识相关知识例4.3判断字符类别#includestdio.hmain()char c;printf(input a character:);c=getchar();if(c=0&c=A&c=a&cb)c=a-b;printf(“c:%fn”,c)
12、;elsec=b-a;printf(“c:%fn”,c);主编:王斌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主编:王斌C语言
13、程序设计任务二 任意三个数排序用流程图表示如图用流程图表示如图4-7所示所示主编:王斌C语言程序设计任务二 任意三个数排序任务实施任务实施1.程序源代码/*P4_Task2.c*/#include int main(int argc,char*argv)float a,b,c,B,M,S;printf(Enter three number a,b,cn);scanf(%f,%f,%f,&a,&b,&c);主编:王斌C语言程序设计任务二 任意三个数排序任务实施任务实施if(a=b)if(b=c)B=a;M=b;S=c;elseif(a=c)B=a;M=c;S=b;elseB=c;M=a;S=b;
14、主编:王斌C语言程序设计任务二 任意三个数排序任务实施任务实施elseif(b=c)if(b=c)B=b;M=a;S=c;elseB=b;M=c;S=a;elseB=c;M=b;S=a;主编:王斌C语言程序设计任务二 任意三个数排序任务实施任务实施printf(Result of Sort:%.2f%.2f%.2fn,B,M,S);getch();return 0;主编:王斌C语言程序设计任务二 任意三个数排序任务实施任务实施2.程序运行结果 三个数排序程序运行结果如图所示。主编:王斌C语言程序设计任务三 学生成绩评级任务描述任务描述 素质教育要求对学生学习评价采用分级评定,一般考试成绩为具体
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 04 语言程序设计 项目

限制150内