版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1程序设计程序设计(chn x sh j)初步级唐初步级唐第一页,共110页。第1页/共109页第二页,共110页。程序=算法+数据结构第2页/共109页第三页,共110页。第3页/共109页第四页,共110页。第4页/共109页第五页,共110页。第5页/共109页第六页,共110页。图3.1第6页/共109页第七页,共110页。第7页/共109页第八页,共110页。语句(yj)分类:第8页/共109页第九页,共110页。第9页/共109页第十页,共110页。第10页/共109页第十一页,共110页。第11页/共109页第十二页,共110页。第12页/共109页第十三页,共110页。第
2、13页/共109页第十四页,共110页。第14页/共109页第十五页,共110页。第15页/共109页第十六页,共110页。第16页/共109页第十七页,共110页。第17页/共109页第十八页,共110页。第18页/共109页第十九页,共110页。输入输入(shr):1 2 3 4 也可以为:也可以为:1 2 3 4 第19页/共109页第二十页,共110页。第20页/共109页第二十一页,共110页。第21页/共109页第二十二页,共110页。第22页/共109页第二十三页,共110页。第23页/共109页第二十四页,共110页。第24页/共109页第二十五页,共110页。第25页/共10
3、9页第二十六页,共110页。#include #include main() float a,b,c,s,area; cinabc; s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c);cout a= a b= b c= c; coutarea= area;例 输入(shr)三角形边长,求面积输入(shr):3,4,6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33)()()()(21csbsassareacbas文件包含预处理命令变量定义输入数据输出数据第26页/共109页第二十七页,共110页。aac
4、bbx242第27页/共109页第二十八页,共110页。=!=优先级6(高)优先级7(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)/表达式值1/表达式值1/表达式值0/d=1/f=0第28页/共109页第二十九页,共110页。例 若a=0; b=0.5; x=0.3; 则 a=x0 结果(ji gu)为 A100 结果(ji gu)为10例 注意(zh y)区分“=”与“=” int a=0,b=1; if(a=b) cout“a equal to b”; else cout“a not equal to b”;第29页/共109页第三
5、十页,共110页。第30页/共109页第三十一页,共110页。ab!a!ba&ba|b真假真假假假真真真假假假假假真真假假真真真假真真第31页/共109页第三十二页,共110页。! (3)& (12)| (13)高低例 a=x & xb&xy a=b|x=y !a|abl优先级:l结合(jih)方向:! :从右向左& :从左向右| :从左向右/ (a=x) & (xb)&(xy)/(a=b)|(x=y)/(!a)|(ab)第32页/共109页第三十三页,共110页。! (3)& (12)| (13)高低l优先级:l结合(jih)方向:! :从右向左& :从左向右| :从左向右值为1值为0值为1
6、值为1值为1值为1/(53)&2|(8b)&(n=cd)/结果结果m=0,n=1第34页/共109页第三十五页,共110页。高高低低第35页/共109页第三十六页,共110页。关键在于找出是否关键在于找出是否(sh fu)闰年的条件:闰年的条件:1、不能被、不能被4整除为非闰年整除为非闰年2、(普通年)能被、(普通年)能被4整除但不能被整除但不能被 100整除为闰年整除为闰年3、能被、能被100(世纪年)整除又能被(世纪年)整除又能被 400整除为闰年整除为闰年4、其他为非闰年、其他为非闰年(year%4=0&year%100!=0|year%400=0)year%4=0&year%100!=
7、0year%100=0& year%400=0第36页/共109页第三十七页,共110页。第37页/共109页第三十八页,共110页。第38页/共109页第三十九页,共110页。第39页/共109页第四十页,共110页。要设计选择结构程序要设计选择结构程序(chngx)(chngx),要考虑两个方面的问题:,要考虑两个方面的问题:一是在一是在C+C+语言中如何来表示条件语言中如何来表示条件; ;二是在二是在C+C+语言中实现选择结构用什么语句。语言中实现选择结构用什么语句。表示条件:一般用关系表达式或逻辑表达式表示条件:一般用关系表达式或逻辑表达式实现选择结构实现选择结构(jigu)(jigu
8、):ifif语句或语句或switchswitch语句。语句。第40页/共109页第四十一页,共110页。if 语句语句(yj) 选择型程序设计 if语句(条件(tiojin)选择语句) if语句的三种形式 形式一: 格式:if (expression) statement 执行过程:形式二:格式(g shi):if (expression) statement1 else statement2执行过程:exprstatement1statement2nyexpr1statementynif(xy)coutxy)coutx;elsecout1000) index=0.4; else if (sa
9、lary800) index=0.3; else if (salary600) index=0.2; else if (salary400) index=0.1; else index=0; 第42页/共109页第四十三页,共110页。l说明(shumng):lif后面的表达式类型任意u语句(yj)可以是复合语句(yj)u if(x) if(x!=0)u if(!x) if(x=0)如:if(a=b&x=y) cout“a=b”“x=y”; if(3) cout“OK”; if(a) couta;例 考虑下面程序(chngx)的输出结果: #include main() int x,y; ci
10、nxy; if(xy) x=y; y=x; else x+; y+; coutxy;Compile Error!第43页/共109页第四十四页,共110页。例 求一个(y )数的绝对值#include main() int x,y; coutx; y=x; if(y0) y= -y; coutn“integer:”x” “absolute value:”absolute value :12第44页/共109页第四十五页,共110页。例 输入两个数并判断(pndun)两数相等否main() int a,b; couta; coutb; if(a=b) couta=bn; else couta!=
11、bn;运行(ynxng):Enter integer a:12 Enter integer b:12 a=b 运行(ynxng):Enter integer a:12 Enter integer b:9 a!=b 第45页/共109页第四十六页,共110页。例 判断输入字符(z f)种类main() char c; coutEnter a character:; c=getchar(); if(c47) cout=0&c=9) cout=A&c=Z) cout=a&c=z) coutThe character is a lower lettern; else coutThe character
12、 is other charactern;第46页/共109页第四十七页,共110页。vif语句嵌套: (在一个(y )if语句中包含一个(y )或多个if语句)v一般形式:if (expr1) if (expr2) statement1 else statement2内嵌ifif (expr1) statement1else if(expr3) statement3 else statement4内嵌ifif (expr1) if (expr2) statement1 else statement2else if(expr3) statement3 else statement4内嵌if内嵌
13、if第47页/共109页第四十八页,共110页。例 输入两数并判断其大小(dxio)关系main() int x,y; coutxy; if(x!=y) if(xy) coutYn; else coutXYn; else printf(X=Yn);运行(ynxng):Enter integer x,y:12,23 XY Enter integer x,y:12,12 X=Y第48页/共109页第四十九页,共110页。if else 配对原则:缺省 时,else总是(zn sh)和它上面离它最近的未配对的if配对if()if()if()else.else.else.第49页/共109页第五十页,
14、共110页。例: if (a=b) if(b=c) cout“a=b=c”; else cout“a!=b”;修改(xigi): if (a=b) if(b=c) cout“a=b=c”; else cout“a!=b”;Tip:实现:实现if else 正确配对正确配对(pi du)方法:加方法:加 第50页/共109页第五十一页,共110页。例 考虑下面程序输出(shch)结果:main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; x=-1; coutx; 结果结
15、果(ji gu):-1第51页/共109页第五十二页,共110页。第52页/共109页第五十三页,共110页。一般一般(ybn)形式:形式:表达式1?表达式2:表达式3v运算运算(yn sun)规则:规则:如果“表达式1”的值为非0(即逻辑(lu j)真), 则运算结果等于“表达式2”的值;否则,运算结果等于“表达式3”的值。expr1条件表达式取表达式2的值条件表达式取表达式3的值第53页/共109页第五十四页,共110页。v条件条件(tiojin)(tiojin)运算符的优先级与结合性:运算符的优先级与结合性:条件运算符的优先级,高于赋值运算符,但低于关系(gun x)运算符和算术运算符。
16、其结合性为“从右到左”(即右结合性)。算术运算符算术运算符关系运算符关系运算符条件运算符条件运算符赋值运算符赋值运算符低低高高第54页/共109页第五十五页,共110页。例:从键盘上输入一个字符,如果它是大写字母,例:从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出则把它转换成小写字母输出(shch)(shch);否则,直接输出;否则,直接输出(shch)(shch)。运行(ynxng):Ach=aa ch=a第55页/共109页第五十六页,共110页。此“表达式”允许为任何(rnh)类型第56页/共109页第五十七页,共110页。switch( 表达式表达式) case E1
17、: 语句语句(yj)组组 1; break; case E2: 语句语句(yj)组组 2; break; . case En: 语句语句(yj)组组 n; break; default: 语句语句(yj)组组 ; break; v执行(zhxng)过程:switch表达式语句组1语句组2语句组n语句组.E 2Endefaultcase E 1v说明: vE1,E2,En是常量表达式,v且值必须互不相同 v语句标号(bioho)作用,必须用break跳出vcase后可包含多个可执行语句,v且不必加 vswitch可嵌套v多个case可共用一组执行语句如: case A: case B: case
18、 C: cout60n”; break; .第57页/共109页第五十八页,共110页。 default : couterrorn; 注意:执行完一个注意:执行完一个case流程后,流程控制转移到下一个流程后,流程控制转移到下一个case。“case常量表常量表达式达式”只是起语句标号的作用,并不是只是起语句标号的作用,并不是(b shi)在该处进行条件判断。在执行在该处进行条件判断。在执行switch语句时,根据语句时,根据switch表达式的值找到与之匹配的表达式的值找到与之匹配的case子句,就从此子句,就从此case句句子开始执行下去,不再进行判断。请思考:在上面的例子中,若子开始执行
19、下去,不再进行判断。请思考:在上面的例子中,若grade的值等于的值等于A,则输出的内容是?,则输出的内容是?第58页/共109页第五十九页,共110页。 default : couterrorn; 注意:执行注意:执行(zhxng)完一个完一个case流程后,流程控制转移到下一个流程后,流程控制转移到下一个case。“case常量表达式常量表达式”只是起语句标号的作用,并不是在该处进行条件判断。在执行只是起语句标号的作用,并不是在该处进行条件判断。在执行(zhxng)switch语句时,根据语句时,根据switch表达式的值找到与之匹配的表达式的值找到与之匹配的case子句,就从此子句,就从
20、此case句子开始执行句子开始执行(zhxng)下去,不再进下去,不再进行判断。请思考:在上面的例子中,若行判断。请思考:在上面的例子中,若grade的值等于的值等于A,则输出的内容是?,则输出的内容是?因此break;break;break;break;最后最后(zuhu)一个一个defalt可以不加可以不加breat第59页/共109页第六十页,共110页。图3.7第60页/共109页第六十一页,共110页。例 switch语句(yj)的嵌套使用 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+;
21、 break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; cout“a=”a“b=”=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。题目2 :输入三个整数x,y,z,请把这三个数由小到大输出。练练 习习 题:题:程序程序(chngx)分析分析1:(ab)?a:b这是条件运算符的基本例子。这是条件运算符的基本例子。程序(chngx)源代码:main()int score;char grade;coutscore;grade=(score=90?A:(score=60?B:C);coutscore“be
22、longs to ”gradey则将则将x与与y的值进行交换,然后再用的值进行交换,然后再用x与与z进行比较,进行比较,如果如果xz则将则将x与与z的值进行交换,的值进行交换,这样能使这样能使x最小。最小。main()int x,y,z,t;cinxyz;if (xy)t=x;x=y;y=t; /*交换交换(jiohun)x,y的值的值*/if(xz)t=z;z=x;x=t;/*交换交换(jiohun)x,z的值的值*/if(yz)t=y;y=z;z=t;/*交换交换(jiohun)z,y的值的值*/cout“small to big: ”xyz; 第69页/共109页第七十页,共110页。第
23、70页/共109页第七十一页,共110页。while 语句一般形式: while (表达式) 语句 特点:先判断(pndun),后执行. 反复执行,直到表达式为假时结束,而if 语句(条件语句)是执行一次,接着往后执行.第71页/共109页第七十二页,共110页。第72页/共109页第七十三页,共110页。第73页/共109页第七十四页,共110页。一般形式: do 语句 while (表达式) ;该语句的特点:先执行语句,后判断表达式.当表达式的值为非零时,循环(xnhun)执行,当表达式的值为零时,结束循环(xnhun).注意:循环(xnhun)体内要有使循环(xnhun)结束的语句.比较
24、: while 语句 dowhile语句 一般情况二者相同,但在while后面的表达式一开始就为假(0值)时,两种循环(xnhun)结果是不同的.第74页/共109页第七十五页,共110页。图3.12第75页/共109页第七十六页,共110页。试比较试比较(bjio)第76页/共109页第七十七页,共110页。(4) 转回上面第(2)步骤继续执行。(5) 循环结束,执行for语句下面的一个语句。理解方式:理解方式:for(循环变量循环变量(binling)赋初值赋初值;循环条件循环条件;循环变量循环变量(binling)增值增值)语句语句第77页/共109页第七十八页,共110页。第78页/共
25、109页第七十九页,共110页。第79页/共109页第八十页,共110页。说明(shumng):见教材见教材(jioci)(jioci):P76-78P76-78第80页/共109页第八十一页,共110页。(2) “表达式2”,“ 表达式3”省略(shngl)的情况.说明(shumng):不判断循环条件,循环无终止地进行不判断循环条件,循环无终止地进行(jnxng)下去。下去。省略省略“表达式表达式3”,为了保证循环能正常结束,可,为了保证循环能正常结束,可将语句(将语句(1)修改为语句()修改为语句(2)。)。第81页/共109页第八十二页,共110页。(3) 同while语句(yj)等同的
26、情况.说明(shumng):第82页/共109页第八十三页,共110页。(4)表达式1既可以设置循环(xnhun)变量初值的循环(xnhun)表达式,又可以是同循环(xnhun)变量无关的其他表达式.说明(shumng):第83页/共109页第八十四页,共110页。表达式2一般(ybn)是关系表达式或逻辑表达式;也可以是字符表达式或数值表达式.说明(shumng):第84页/共109页第八十五页,共110页。第85页/共109页第八十六页,共110页。第86页/共109页第八十七页,共110页。第87页/共109页第八十八页,共110页。第88页/共109页第八十九页,共110页。第89页/共
27、109页第九十页,共110页。第90页/共109页第九十一页,共110页。第91页/共109页第九十二页,共110页。#include using namespace std;int main()int n,sum,i; coutn; coutendl; sum=0; for(i=1;i=n;i+) if(i%2=0)continue; sum=sum+i; coutsum=sumendl; return 0;#include using namespace std;int main()int n,sum,i; coutn; coutendl; sum=0; for(i=1;i=n;i+) i
28、f(i%2=0)break; sum=sum+i; coutsum=sumi; a=i; while(a=a/10)!=0) /求是几位数 num+; cout它是num位数。endl; a=i; int n; while(num!=0) /顺序打印(d yn)每一位 n=a/pow(10,num-1); /计算x的y次幂(即10的num-1次幂) a=a%(int)pow(10,num-1); coutnendl; num-;a=i; int m; while(a!=0) /逆序打印(d yn)每一位 m=a%10; coutm;a=a/10; 第99页/共109页第一百页,共110页。输入
29、(shr)两个正整数m,n,求其最大公约数和最小公倍数。 #includemain() int p,r,n,m,temp; coutnm; if(nm) temp=n; n=m; m=temp; p=n*m; while(m!=0) r=n%m; n=m;m=r; cout最大公约数是:nendl; cout最小公倍数是:p/nendl; 第100页/共109页第一百零一页,共110页。输出(shch)所以水仙花数,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。例如:153=13+53+33。#includemain() int i,j,n,k; cout水仙花数是:endl
30、; for(n=100;n1000;n+) i=n/100; j=n/10-i*10; k=n%10; if(n=i*i*i+j*j*j+k*k*k)coutn=i*i*i+j*j*j+k*k*k; 153=1*1*1+5*5*5+3*3*3第101页/共109页第一百零二页,共110页。一个数,如果恰好等于它的因子之和,这个数就称为“完数”。例如(lr),6的因子为1、2、3,而6=1+2+3,因此,6是“完数”。编程找出1000之内的所以“完数”.#includeusing namespace std;main()int m,s,i;for(m=2;m1000;m+)s=0; for(i=
31、1;im;i+) if(m%i)=0) s=s+i; if(s=m) coutm是一个(y )完数。它的因子是:; for(i=1;im;i+) if(m%i=0) couti ; coutendl;第102页/共109页第一百零三页,共110页。有一数列(shli):2/1,3/2,5/3,8/5,13/8,21/,13,求出这个数列(shli)前20项之和。 #includeusing namespace std;void main()int i,t,n=20;float a=2,b=1,s=0;for(i=1;i=n;i+)s=s+a/b;t=a;a=a+b;b=t;coutsum=s;第103页/共109页第一百零四页,共110页。输出以下(yxi)图案:*#include using namespace std;int main( )int i,j;for(i=1;i=4;i+) for(j=1;j=2*i-1;j+) cout*; cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产项目开发流程管理指南
- 2025中国人民财产保险公司面向全省招聘理赔岗(安徽)笔试备考题库及答案解析
- 2025年湖南永州冷水滩区教育局直属事业单位面向全区教育系统选聘12人笔试备考题库及答案解析
- 快递物流配送调度系统规划方案
- 2025江苏苏海投资集团有限公司及下属子公司对外招聘补充考试备考题库及答案解析
- 幼儿园健康饮食主题教育方案
- 外贸订单跟进及风险防范措施
- 家庭装修合同电子版样本下载
- 2025河南漯河市住房和城乡建设局所属事业单位人才引进1人考试备考题库及答案解析
- 工程项目合同管理流程指南
- 上海财经大学2026年辅导员及其他非教学科研岗位人员招聘备考题库参考答案详解
- 2025-2026小学部编版语文四年级上册教学工作总结
- 纳税筹划课件教学
- 2025成都农商银行产业金融岗社会招聘考试笔试参考题库及答案解析
- DB32∕T 2914-2025 危险场所电气防爆安全检查规范
- 2026成方金融科技有限公司校园招聘34人考试笔试参考题库及答案解析
- 基于BIM技术的大学宿舍施工组织设计及智慧工地管理
- 乡镇综治维稳课件
- 中国融通集团2025届秋季校园招聘笔试历年参考题库附带答案详解
- 企业网络安全体系建设方案
- 机动车驾驶员考试《科目四》试卷及答案(2025年)
评论
0/150
提交评论