版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级语言程序设计 选择程序设计(2)复习1判断条件的形式:通常是用关系表达式2判断条件的结果:逻辑真1、逻辑假03实际上除了关系表达式之外,任何有计算结果的表达式都可以作为判断条件,计算结果不为零的数均转化为逻辑真,计算结果为0即为逻辑假算术表达式函数调用表达式4甚至是简单的变量或常量都可以
选择结构的两种形式:
if(condition)…
if(condition)…else…注意大括号的使用{}复合语句块用{}括起来
if(){….多条语句复合到一起….}
一条语句的时候省略{}问题3:按成绩把学生分成多组问题描述:教师要把参加某次测验的学生按成绩的分数段(90以上,80到89,70到79,60到69,小于60)分成多组,并统计出各组的人数。分析输入:学生成绩grade输出:根据成绩的范围,输出不同的结果A,B,C,D,或者F,和统计结果
如何判断grade所在的范围?90以上,80到89,70到79,60到69,小于60if(grade>=90)√但是if(89<=grade<90)×复合判断条件再分析一下选择结构if(逻辑判断表达式)表达式为真时执行的语句;整个称为单分支选择结构,也可以看成是一个语句
问?if(逻辑判断表达式);?单分支的嵌套
例如if(grade>=60)
if(grade<70)printf(“youarepassed\n”);if(grade>=60)if(grade<70)printf(“youarepassed\n”);if(grade>=60){if(grade<70)printf(“youarepassed\n”);}if(grade>=60){if(grade<70)printf(“youarepassed\n”);}双分支嵌套
if(grade>=90)printf(“good!ingroupA\n”);else
if(grade>=80)printf(“better!ingroup\n”);elseprintf(“ok,inCorDorF\n”);更好的写法if(grade>=90)printf(“good!ingroupA\n”);elseif(grade>=80)printf(“better!ingroup\n”);elseprintf(“ok,inCorDorF\n”);注意:多个if-else嵌套,ifelse的匹配原则是:else与前面最近的没有被使用的if匹配
算法设计(1)1求和变量aNum,bNum,cNum,dNum,fNum初始化为0;2输入学生成绩;3如果输入没有结束则执行(4)否则执行(9);4如果成绩大于或等于90,输出分到A组信息,aNum加1,返回到(2);5否则如果成绩还大于或等于80,输出分到B组信息,bNum加1,返回到(2);6否则如果成绩还大于或等于70,输出分到C组信息,cNum加1,返回到(2);7否则如果成绩还大于或等于60,输出分到D组信息,dNum加1,返回到(2);8否则输出分到F组信息,fNum加1,返回到(2);9输出统计结果算法实现见ifelsenest.c
#include<stdio.h>intmain(void){intaNum=0,bNum=0,cNum=0,dNum=0,fNum=0;intgrade;while(scanf("%d",&grade)!=EOF){
if(grade>=90){printf("Good!youbelongingroupA\n");aNum=aNum+1;}
elseif(grade>=80){printf("Better!youbelongingroupB\n");bNum=bNum+1;}
elseif(grade>=70){printf("Middle!youbelongingroupC\n");cNum=cNum+1;}
elseif(grade>=60){printf("Pass!youbelongingroupD\n");dNum=dNum+1;}
else{printf("Sorry,youarefailed,belongingroupF\n");fNum=fNum+1;}
}printf("aNum=%d\n",aNum);printf("bNum=%d\n",bNum);printf("cNum=%d\n",cNum);printf("dNum=%d\n",dNum);printf("FNum=%d\n",fNum);return0;}分析一下该算法的执行情况你可以运行算法1的代码,看看每个学生成绩要判断几次才能找到它适合的位置。如果成绩都是90以上会怎样?如果成绩都是60、70分甚至更低会怎么样?正常情况下学生的成绩处于中游的比较多,即大多数都在70和80之间,符合客观实际的、更好的结构应该是什么?
算法实现见ifelsebetter.c重新分析一下问题如果把成绩除以10取整,可以发现,100分对应10,90到99分对应9,80到89分对应8,依此类推,0到9分的对应0
依据整型常量10,9,8,7,6,5,4,3,2,1,0可断定该同学应该分到哪一组算法设计(2)1求和变量aNum,bNum,cNum,dNum,fNum初始化为0;2输入学生成绩grade;3如果grade大于100或小于0,输出错误信息,返回到(2);4如果输入没有结束则执行(5)否则执行(12)5把成绩除以10并取整,得到对应的整型值number6如果number是10或9,输出A组信息,aNum加1,返回(2);7如果number是8,输出B组信息,bNum加1,返回到(2);8如果number是7,输出C组信息,cNum加1,返回到(2);9如果number是6,输出D组信息,dNum加1,返回到(2);10如果number是5或4或3或2或1或0,输出F组信息,fNum加1,返回到(2);11如果number是其它数字,输出错误信息,返回到(2);12输出统计结果。switchcase多分支选择结构
switch(整型表达式){
case常量表达式:要执行的语句 [break;]
case常量表达式:要执行的语句[break;]……[default:默认的执行语句]
}几个组成部分switch(表达式)必须是整型值的表达式switch的主体用一对花括号括起{}多个平行的case常量表达式:
每个case里的要执行的语句可以是多条语句,它们不必使用{}括起来。也可以没有语句在整个swith主体的最后是一个可选的default:
动作Case1breakCase2Casendefault算法实现(switchcase)见switchint.c5分制成绩统计问题输入的学生成绩是A/a,B/b,…成绩是一个字符怎么输入字符呢?字符是什么?字符可以看成整数(ascii码)如何判断输入的是什么字符?字符型charcharc1,c2,c3;c1=‘A’;c2=‘b’;c3=‘1’;
也可以用整型变量存放字符常量,如 intgrade1,grade2;grade1='A';grade2='B';计算机内部接受的是‘A’,‘B’的ASCII码。字符比较两个字符常量或者存放字符常量的变量可以比较大小ascii码进行比较字符型数据的输入可以使用scanf和printf函数对字符型数据进行输入和输出,占位符是%c。ASCII码是10的字符是回车符。这说明我们输入了一个字符‘a’后输入的回车符被变量a第二次读到了。这个回车符是没有用的,因此用一个临时变量t把从输入缓冲区中读出。下例的scanf(“%d”,&t)就起这个作用。键盘读一个字符的函数getchar()
a=getchar();代替scanf(“%c”,&a);
getchar();代替scanf(“%c”,&t);输出一个字符到屏幕的函数
putchar(a);代替printf(“%c”,a);算法设计(3)1求和变量aNum,bNum,cNum,dNum,fNum初始化为0;2输入学生成绩grade;3如果输入没有结束则执行(4)否则执行(10);4如果grade是‘A’,输出A组信息,aNum加1,返回到(2);5如果grade是‘B’,输出B组信息,bNum加1,返回到(2);6如果grade是‘C’,输出C组信息,cNum加1,返回到(2);7如果grade是‘D’,输出D组信息,dNum加1,返回到(2);8如果grade是‘F’,输出F组信息,fNum加1,返回到(2);9如果grade是其它字符,输出错误信息,返回到(2);10输出统计结果。算法实现见switch5grade.c从键盘获得一个字符的另外两个函数#include<conio.h>getche(),它能接收键盘输入的任意一个字符,无需回车即可以接受,自动的显示到屏幕上,称之为回显。getch(),它同getche()不同的就是无回显。这两个与getchar()比较,getchar()需要按回车键,变量才能在输入缓冲区中读到一个字符,无回显。演示三种字符输入函数观察它们的区别问题4:判断某年是否为闰年问题分析:判断某年是不是闰年的条件“某年能被4整除但不能被100整除或者能被4整除又能被400整除”
某年是闰年的条件为(1)“year能被4整除”并且“year不能被100整除”或者(2)“year能被4整除”并且“year也能被400整除”并且关系的两个判断如何表示?intpass=0;intgrade1,grade2;scanf(“%d%d”,&grade1,&grade2);如果grade1>=60且grade2>=60pass=1用嵌套或关系的两个判断如何表示?intnopass=0;intgrade1,grade2;scanf(“%d%d”,&grade1,&grade2);如果grade1<60或者grade2<60则nopass=1顺序判断?
更好的表示方法:逻辑运算逻辑运算的操作数是逻辑真或逻辑假逻辑与运算&&:1&&1=1;
1&&0=0&&1=0&&0=0;逻辑或运算||:
0||1=1||0=1||1=1;0||0=0; 逻辑非运算!:
!0=1,!1=0;逻辑表达式(grade1>=60)&&(grade2>=60)逻辑与的优先级低于关系运算,可以省略()上式等价于grade1>=60&&grade2>=60(grade1<60)||(grade2<60)逻辑或的优先级低于关系运算,可以省略();上式等价于grade1<60||grade2<60!(grade>=90)逻辑非是单目运算,它的优先级高于关系运算,因此不可以省略()优先级与结合性算术运算>关系运算>逻辑与运算>逻辑或运算,它们依次降低,但逻辑非运算的优先级高于算术运算逻辑运算是左结合的逻辑运算的短路性逻辑运算的操作数是0和1,0和1的运算是有规律的由“逻辑与”运算组成的表达式,从左至右计算,遇到0就不用再向右计算了,因这时逻辑表达式的值必为假,只有都是真的时候向右计算才有意义。(i!=0)&&(j/i>0)由“逻辑或”构成的逻辑表达式也是从左向右计算,如果遇到有一个操作数的表达式的值是1就不用再向右计算了,因这时整个逻辑表达式的值必为真。(grade1<60)||(grade2<60)利用短路性某年是闰年的条件为(1)“year能被4整除”并且“year不能被100整除”或者(2)“year能被4整除”并且“year也能被400整除”闰年判断表达式为:(year%4==0&&year%100!=0)||year%400==0算法设计1输入年份2判断(year%4==0&&year%100!=0)||year%400==0是否为真,如果为真输出是闰年实现(略)小结有了算术运算、关系运算、逻辑运算可以表达各种各样的逻辑判断条件,使用单分支或双分支或者多分支结构以及嵌套技术可以解决各种各样的逻辑判断问题企业分配决策
第一节企业分配的基本理论
一.企业分配的含义
企业分配是根据企业所有权的归属及各权益占有的比例,对企业生产成果进行划分,是一种利用财务手段确保生产成果的合理归属和正确分配的管理过程。企业分配是对企业一定生产成果的分配。
利润是指企业在一定时期内从事各种经营活动所获取的经营成果。企业的利润总额由营业利润、投资净收益、补贴收入和营业外收支净额组成。
补贴收入指企业按规定实际收到退还的增值税或按销量或工作量等依据国家规定的补助定额计算并按期给予的定额补贴及属于国家扶持的领域而给予的其他形式的补贴。
(一)营业利润:是企业通过销售商品和提供劳务等经营业务实现的利润。
营业利润=营业收入-营业成本-期间费用
营业收入:指企业通过销售商品和提供劳务等经营业务实现的收入。
营业成本:指企业为生产,销售商品和提供劳务等发生的直接人工、直接材料、制造费用等。
期间费用:是直接计入当期损益的费用。包括管理费用,财务费用和营业费用。(二)投资净收益:是指企业对外投资收益扣除投资损失后的数额。
投资收益:投资股票分得的股利,投资债券取得的利息收入,从被投资企业分得的利润,投资到期收回的款项或中途转让取得的款项高于投资账面价值的差额。
投资损失:指投资到期收回的款项或中途转让取的款项低于投资账面价值的差额。(三)营业外收支:指与企业生产经营无直接联系的收入和支出。
营业外收入:固定资产盘盈净收入、出售固定资产净收益、对方违约的赔款收入等。
营业外支出:固定资产盘亏、报废毁损和出售的净损失、非常损失、公益救济性捐款、赔偿金、违约金等。主营业务利润=
主营业务收入-主营业务成本
-主营业务税金及附加
营业利润=
主营业务利润+其他业务利润
-管理费用-营业费用-财务费用
利润总额=
营业利润+投资收益+营业外收入
-营业外支出+补贴收入
净利润=利润总额-所得税二.企业分配原则
(一)发展优先原则
正确处理积累与消费的关系
防止两种错误倾向:
★积累的比例太大★消费的比例太大
(二)注重效率原则
处理好几方面的问题:
★要充分调动出资人的积极性
★要调动企业管理者的积极性
★要调动企业一般职工的积极性(三)制度约束原则
广义制度概念的三个层次
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026陕西西安莲湖区枣园社区卫生服务中心招聘备考题库及答案详解(各地真题)
- 2026广东江门市江海区银信资产管理有限公司招聘2人备考题库附答案详解(巩固)
- 2026广东广州市黄埔区老人院招聘备考题库附答案详解(轻巧夺冠)
- 2026北京市通州区新华医院(临河里街道社区卫生服务中心)招聘74人备考题库附答案详解(培优b卷)
- 2026江西联合股权交易中心社会招聘6人备考题库有答案详解
- 2026广西南宁上林县粤桂协作办公室招聘1人备考题库含答案详解(研优卷)
- 2026云南昆华医院投资管理有限公司(云南新昆华医院)招聘5人备考题库含答案详解(黄金题型)
- 2026甘肃人力委托招聘越野车项目人员的6人备考题库(四)含答案详解(满分必刷)
- 2026海南省高校毕业生“三支一扶”计划招募备考题库含答案详解(能力提升)
- 2026洋浦外国语学校招聘教师备考题库及完整答案详解
- GB/T 3822-2026畜禽品种(配套系)乌珠穆沁羊
- 故宫角楼介绍
- 2026年浙江省杭州市单招职业适应性考试题库必考题
- 剧本杀入股协议书
- 心房起搏电极的位置选择教程文件
- 《JBT 10306-2013温室控制系统设计规范》(2026年)实施指南
- 针刀医学的四大基本理论培训课件
- 西西里岛战役课件
- 2025法考经济法真题专项(2018-20252)解析版
- 地铁的员工合同协议书
- 收麦子课件教学课件
评论
0/150
提交评论