- 645.00 KB
- 2022-04-29 14:31:54 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。 记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热”,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道! 蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。 蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅辽师大版信息技术九年《顺序结构程序设计》ppt课件
第3章顺序结构程序设计3.1程序设计概述3.2C语言语句3.3格式化输出函数printf()3.4格式化输入函数scanf()3.5单个字符的输入/输出函数3.6顺序程序设计举例
3.1程序设计概述3.1.1算法的概念简单地说,程序的功能就是进行数据加工。程序通常包括两方面的内容:对数据的描述和对加工的描述对数据的描述称为“数据结构”,对加工的描述称为“算法”广义地说,为解决某一个问题而采取的方法和步骤,就称为“算法”。在计算机科学中,算法是指描述用计算机解决给定问题的过程。例如,计算1+2+3+…+1000的算法可表示为?
3.1.3算法的描述1.用自然语言描述自然语言就是人们日常使用的语言,前面的算法就是用自然语言表示的。用自然语言表示算法,通俗易懂。但是,自然语言表示的含义往往不太严格,要根据上下文才能判断它的正确含义。另外,用自然语言描述分支和循环不很方便。因此,除对简单的问题使用以外,一般不用自然语言描述算法。计算机该用何种形式来描述问题更为简洁、明了?
2.用流程图描述传统的流程图由图3-1所示的几种基本元素组成。用流程图描述算法,形象直观,简单方便。例如,前面的算法用流程图可表示为如图3-2所示。
图3-1流程图基本元素
图3-2计算1+2+3+…+1000的算法流程图
3.用N-S流程图描述算法传统的流程图用流程线和流程元素表示各个处理的执行顺序,但对流程线的使用没有严格的规定,因此,使用者可以不受限制地使流程转来转去,这样的流程图使人难以理解算法的逻辑。为了解决这个问题,规定了算法的三种基本结构:顺序结构分支结构循环结构用这些基本结构按一定的规律组成一个算法,这样的算法称为结构化算法。按照结构化算法编写的程序称为结构化程序。为了设计结构化算法,1973年,美国学者I.Nassi和B.Shneiderman提出一种新的流程图,称为N-S流程图。N-S流程图的基本符号如图3-3所示。
图3-3N-S流程图基本符号
图3-4计算1+2+3+…+1000算法的N-S图
3.1.4结构化程序设计方法结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计的基本思路是:把一个复杂问题的解决过程分阶段进行每一个阶段处理的问题都控制在人们容易理解和处理的范围内是在分析问题时采用“自顶向下,逐步细化”的方法
“自顶向下,逐步细化”是对问题的解决过程逐步具体化的一种思想方法。例如,要在一组数中找出其中的最大数,首先,可以把问题的解决过程描述为(1)输入一组数。(2)找出其中的最大数。(3)输出最大数。
以上三条中,第(1)、(3)两步比较简单,对第(2)步可以进一步细化:(1)任取一数,假设它就是最大数。(2)将该数与其余各数逐一比较。(3)若发现有任何数大于假设的最大数,则取而代之。
再对以上过程进一步具体化,得到如下算法:(1)输入一组数。(2)找出其中的最大数。①令max=第一个数。②将第二个数到最后一个数依次取出。③比较x与max的大小,如果x>max,则令max=x。(3)输出max。
“模块化设计”就是将比较复杂的任务,分解成若干个子任务每个子任务又分解成若干个小子任务每个小子任务只完成一项简单的功能在程序设计时,用一个个小模块来实现这些功能,每个小模块对应一个相对独立的子程序。对程序设计人员来说,编写程序也就变得不再困难。
“结构化编码”指的是使用支持结构化方法的高级语言编写程序。C语言就是一种支持结构化程序设计的高级语言,它直接提供了三种基本结构的语句;提供了定义“函数”的功能,函数相当于独立的子程序。另外,还提供了丰富的数据类型。这些都为结构化设计提供了有力的工具。
3.2C语言语句C语言程序是由函数构成的,而函数又是由函数说明和函数体两部分组成,其中,函数体是函数的核心。与其他高级语言一样,C语言也是利用函数体中的可执行语句,向计算机系统发出操作命令。按照语句功能或构成的不同,可将C语言语句分为如下五类:控制语句函数调用语句表达式语句空语句复合语句
1.控制语句控制语句完成一定的控制功能。C语言只有9条控制语句,又可细分为三种:(1)选择结构控制语句:if()…else…,switch()…(2)循环结构控制语句:do…while(),for()…,while()…,break,continue(3)其他控制语句:goto,return
2.函数调用语句函数调用语句由一次函数调用加一个分号(语句结束标志)构成。例如:printf("ThisisaCProgram.");3.表达式语句表达式语句由表达式后加一个分号构成。表达式能构成语句是C语言的一大特色。最典型的表达式语句是在赋值表达式后加一个分号构成的赋值语句。例如,“num=5”是一个赋值表达式,而“num=5;”却是一个赋值语句。
4.空语句空语句仅由一个分号构成。显然,空语句什么操作也不执行。5.复合语句复合语句由大括号括起来的一组(也可以是一条)语句构成。例如:
说明:(1)在语法上,复合语句和简单语句相同,即简单语句可以出现的地方,都可以使用复合语句。(2)复合语句可以嵌套,即复合语句中也可包含一个或多个复合语句。main(){{inta=1,b;b=a*a-1;复合语句printf("%d",b);}/*注意:右括号后不需要分号*/}
3.3格式化输出函数printf()程序运行中,有时候需要从外部设备(例如键盘)上得到一些原始数据,程序计算结束后,通常要把计算结果发送到外部设备(例如显示器)上,以便人们对结果进行分析。我们把程序从外部设备上获得数据的操作称为“输入”,而把程序发送数据到外部设备的操作称为“输出”。
不像其他的高级语言,C语言没有专门的输入/输出语句,输入/输出的操作是通过调用C语言的库函数来实现的。printf()函数就是最常用的输出函数,它的作用是向计算机系统默认的输出设备(一般指显示器)输出一个或多个任意指定类型的数据。
3.3.1printf()函数的一般格式调用printf()函数的一般格式为printf("格式字符串",输出表项);例如:printf("radius=%fnlength=%7.2f,area=%7.2fn",r,l,a);printf("格式字符串",输出表项);
格式字符串也称格式控制字符串或格式转换字符串,其中可以包含下列三种字符:(1)格式指示符:这些字符用来控制数据的输出格式例如“%f”、“%7.2f”等(2)转义字符:这些字符通常用来控制光标的位置。(3)普通字符:除格式指示符和转义字符之外的其他字符,这些字符输出时原样输出例如上面例子中的“radius=”等printf("radius=%fnlength=%7.2f,area=%7.2fn",r,l,a);printf("格式字符串",输出表项);
输出表项由若干个输出项构成,输出项之间用逗号来分隔,每个输出项既可以是常量、变量,也可以是表达式。有时候,调用printf()函数时,也可以没有输出项。在这种情况下,一般用来输出一些提示信息,例如:printf("Hello,world!n");printf("格式字符串",输出表项);
3.3.2格式指示符格式指示符的一般形式为%[修饰符]格式字符1.格式字符printf函数中常用的格式字符如表3-1所示。%[修饰符]格式字符
表3-1常用的格式字符格式字符说明举例输出结果d带符号十进制整数格式printf("%d",10);10printf("%d","A");65u无符号十进制整数格式printf("%u",10);10printf("%u","A");65x或X无符号十六进制整数格式printf("%x",10);aprintf("%x","A");41printf("%X",10);A%[修饰符]格式字符
o无符号八进制整数格式printf("%o",10);12printf("%o","A");101c字符格式printf("%c",10);换行printf("%c","A");Af小数格式printf("%f",1.2345);1.234500e或E指数格式printf("%e",1.2345);1.23450e+00printf("%E",1.2345);1.23450E+00g或G小数形式或指数形式,使输出宽度最小,不输出无意义的0printf("%g",1.2345);1.2345printf("%g",0.000001);1e-06printf("%G",0.000001);1E-06%输出%printf("%%");%s输出字符串printf("%s","abcde");abcde%[修饰符]格式字符
2.长度修饰符长度修饰符“l”加在%号和格式字符之间。输出长整型数据的时候,一定要加长度修饰符,否则,得不到正确的显示结果。例如:longx=7654321;printf("x=%ldn",x);输出结果为:x=7654321。%[修饰符]格式字符l
3.宽度修饰和精度修饰可以在%号和格式字符之间加入形如“m.n”(m、n均为整数)的修饰。其中,m为宽度修饰,n为精度修饰。宽度修饰用来指定数据的输出宽度精度修饰对不同的格式字符,n作用不同:对于格式字符f,用来指定输出小数位的位数;对于格式字符e,用来指定输出有效数字的位数;对于格式字符d,用来指定必须输出的数字的个数。相关的例子如表3-2所示。%[修饰符]格式字符m.n
表3-2宽度修饰和精度修饰示例输出语句输出结果(□表示空格)printf("%5d",42);□□□42printf("%5.3d",42);□□042printf("%.3d",42);042printf("%7.2f",1.23456);□□□1.23printf("%.2f",1.23456);1.23printf("%10.2e",1.23456);□□□1.2e+00printf("%.2e",1.23456);1.2e+00
4.左对齐修饰在指定了宽度修饰时,如果指定宽度小于数据需要的实际宽度,则数据左边补空格,补够指定的宽度,这种对齐方式称为“右对齐”。当然,也可以在数据的右边补空格来补够指定的宽度,这种对齐方式称为“左对齐”。指定左对齐的时候,使用左对齐修饰符“-”,例如语句:printf("%-7.2fn",1.23456);输出结果为1.23□□□(右边补三个空格)%[修饰符]格式字符-
3.3.3使用说明(1)printf()函数可以输出常量、变量和表达式的值。但格式控制字符串中的格式指示符必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。(2)格式字符x、e、g可以用小写字母,也可以用大写字母。使用大写字母时,输出数据中包含的字母也大写。除了x、e、g格式字符外,其他格式字符必须用小写字母例如,“%f”不能写成“%F”。(3)格式字符紧跟在“%”后面就作为格式字符,否则将作为普通字符使用(原样输出)例如,“printf("c=%c,f=%fn",c,f);”中的第一个c和f都是普通字符。
3.4格式化输入函数scanf()scanf()函数的功能是从计算机默认的输入设备(一般指键盘)向计算机主机输入数据。3.4.1scanf()函数的一般格式调用scanf()函数的一般格式为scanf("格式字符串",输入项地址表);例如:scanf("%d%f",&i,&f);scanf("格式字符串",输入项地址表);
(1)格式字符串:格式字符串可以包含三种类型的字符:格式指示符格式指示符用来指定数据的输入格式;空白字符(空格、跳格键、回车键)和空白字符作为相邻两个输入数据的缺省分隔符;非空白字符(又称普通字符)。非空白字符在输入有效数据时,必须原样一起输入。scanf("格式字符串",输入项地址表);
(2)输入项地址表:由若干个输入项地址组成,相邻两个输入项地址之间用逗号分开。输入项地址表中的地址,可以是变量的地址,也可以是字符数组名或指针变量变量地址的表示方法为“&变量名”其中,“&”是地址运算符。scanf("格式字符串",输入项地址表);&变量名
3.4.2格式指示符格式指示符的一般形式为%【修饰符】格式字符scanf函数中使用的格式字符如表3-4所示。
表3-4常用格式字符格式字符说明d输入十进制整数o输入八进制整数x输入十六进制整数u输入无符号十进制整数c输入一个字符f和e输入小数形式或指数形式的实型数据s输入字符串
1.宽度修饰宽度修饰用来指定输入数据所占列数例如:scanf("%3c%3c",&ch1,&ch2);假设输入“abcdefg”则系统将读取的“abc”中的“a”赋给变量ch1;读取的“def”中的“d”赋给变量ch2。
2.抑制修饰符抑制修饰符“*”表示对应的数据读入后,不赋给相应的变量,该变量由下一个格式指示符输入。例如:scanf("%2d%*2d%3d",&num1,&num2);假设输入“123456789”,则系统将读取“12”并赋值给num1;读取“34”,但舍弃掉(“*”的作用);读取“567”并赋值给num2。
3.长度修饰符在输入长整型数据和双精度实型数据时,必须使用长度修饰符“l”,否则,不能得到正确的输入值。例如:longx;doubley;scanf("%ld%lf",&x,&y);
3.4.3使用说明调用scanf()函数输入数据时,要注意以下几点:(1)如果相邻两个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的两个输入数据之间至少用一个空格分开,或者用Tab键分开,或者输入一个数据后,按回车,然后再输入下一个数据。例如:scanf("%d%d",&num1,&num2);假设给num1输入10,给num2输入20,则正确的输入操作为10□20↙或者:10↙20↙
(2)格式字符串中出现的普通字符(包括转义字符形式的字符),务必原样输入。例如:scanf("num1=%d,num2=%d",&num1,&num2);假设给num1输入10,给num2输入20,正确的输入操作为num1=10,num2=20↙另外,scanf()函数中,对于格式字符串内的转义字符(如:n),系统并不把它当转义字符来解释,从而产生一个控制操作,而是将其视为普通字符,所以也要原样输入。例如:scanf("num1=%d,num2=%dn",&num1,&num2);假设给num1输入10,给num2输入20,正确的输入操作为num1=10,num2=20n↙
为改善人机交互性,同时简化输入操作,在设计输入操作时,一般先用printf()函数输出一个提示信息,再用scanf()函数进行数据输入。例如:printf("num1=");scanf("%d",&num1);printf("num2=");scanf("%d",&num2);
(3)输入数据时,遇到以下情况时系统认为该数据输入结束。遇到空格,或者回车键,或者Tab键。遇到输入域宽度结束。例如"%3d",只取三列。遇到非法输入。例如,在输入数值数据时,遇到字母等非数值符号(数值符号仅由数字字符0~9、小数点和正负号构成)。
(4)使用格式说明符"%c"输入单个字符时,空格和回车等均作为有效字符被输入。例如:scanf("%c%c%c",&ch1,&ch2,&ch3);printf("ch1=%c,ch2=%c,ch3=%cn",ch1,ch2,ch3);假设输入:A□B↙,则系统将字母“A”赋值给ch1,空格赋值给ch2,“B”赋值给ch3。
3.5单个字符的输入/输出函数除了使用printf()函数和scanf()函数可以输出/输入字符数据外,C语言还提供了putchar()和getchar()函数,专门用来输出/输入单个字符。
每调用putchar()函数一次,就向显示器输出一个字符,它的调用形式如下:putchar(ch);其中,ch是字符变量或是字符常量例如:putchar("Y");将在显示器上输出字符Y。
每调用getchar()函数一次,就从键盘接收一个字符,它的调用形式如下:ch=getchar();getchar()函数是一个无参函数,但调用getchar()函数时,后面的括号不能省略。getchar()函数从键盘接收一个字符作为它的返回值。在输入时,空格、回车等都将作为字符读入,而且,只有在用户输入回车键时,读入
【例3.1】以下程序先从键盘接收一个字符,然后显示在显示器上。/*程序功能:单个字符的输入与输出*/#includemain(){charch;ch=getchar();putchar(ch);putchar("n");}
程序的运行情况:A↙A需要注意的是,程序中如果调用了putchar()函数或getchar()函数,则在程序的开头必须加上“#include”,否则,程序编译时会报错。
3.6顺序程序设计举例在顺序结构程序中,各语句是按照位置的先后次序顺序执行的,且每个语句都会被执行到。【例3.2】编写程序,输入一个圆的半径,计算这个圆的面积。
/*程序功能:计算圆的面积*/main(){floatpi=3.14159,r,s;printf("Inputradius:");scanf("%f",&r);s=pi*r*r;printf("areais:%7.2fn",s);}程序的运行情况:Inputradius:5.6↙areais:98.47
【例3.3】编写程序,输入一个大写字母,把它转换成相应的小写字母,然后输出。/*程序功能:大写字母转换成相应的小写字母*/#include"stdio.h"main(){charch;printf("Inputacapital:");ch=getchar();ch+=32;printf("Thelowercaseis%cn",ch);}程序的运行情况:Inputacapital:A↙Thelowercaseisa
【例3.4】编写程序,输入一个double类型的数,保留这个数的小数点后两位,对小数点后第三位作四舍五入处理,输出处理后的结果。/*程序功能:实型数据四舍五入处理*/#include"stdio.h"main(){doublex;printf("Enterx:");scanf("%lf",&x);printf("Beforetransactionx=%fn",x);x*=100;x+=0.5;x=(int)x;x/=100;printf("Aftertransactionx=%fn",x);}
程序运行情况:Enterx:5.6789↙Beforetransactionx=5.678900Aftertransactionx=5.680000
第四章货币与时间价值练习题施磊
1、某投资者将10000元用于购买债券,该债券的年报酬率为10%,按复利计算,第5年末该投资者本利和?
F=P×(1+r)n=10000×(1+10%)5=10000×(F/p10%,5)=10000×1.611=16110(元)
2、某人计划5年后获得100,000元,用于购卖汽车,假设投资报酬率为8%,按复利计算,他现在应投入多少元?
P=100,000×1/(1+8%)5=100,000×(P/F8%5)=100,000×0.6806=68060(元)
3、如某人决定从孩子10岁生日到18岁生日止每年年末(不包括第10岁生日)为孩子存入银行2000元,以交纳孩子上大学学费。如银行存款利率为10%,父母在孩子18岁生日时能从银行取出多少钱?
F=2000×(F/A,10%,8)=2000×11.436=22872(元)
4、某人从现在起准备每年年末等额存入银行一笔钱,目的在于5年后从银行提取150,000元,用于购买福利住房。如果银行存款利率为12%,每年应存多少才能达到目的?
A=F/(F/A12%5)=150000/6.353=23610.89(元)
5:某技术项目1年建成并投产,投产后每年净利润为50,000元,按10%的利率计算,在3年内刚好能收回全部投资。问此项目投资多少?
P=A×(P/A10%3)=50,000·(P/A10%3)=50,000×2.487=124350(元)
6某公司需用一台设备,买价为150000元,使用期限为10年。如果租入,则每年年末要支付22000元。除此以外,其他情况完全一样,假设利率为8%。要求:计算并回答该公司购买设备好还是租用设备好。
P=22000*(P/A,8%,10)=22000*6.7101=147620(元)
7:某公司现在从银行借款100,000元,借款利率为18%。银行要求该公司从本年开始分5年等额还清这笔借款,那么该公司每年应还多少?
A=P/(P/A18%5)=100,000/3.127=31979.53(元)
8:某人5年分期付款购得大众汽车一辆,每年初付款20,000元,设银行利率为12%,该项分期付款相当于一次现金支付的购价是多少?年金现值
P=A·[(P/A12%5-1)+1]=20,000×[3.037+1]=80,740(元)
9:某人持有一公司的优先股,每年年末可获得10,000元股息,若利率为8%,则该人持有的优先股的现值是多少?
P=A×(1/r)=10,000×(1/8%)=125,000(元)'
您可能关注的文档
- 最新输血不良反应的识别标准及处理PPT课件课件PPT.ppt
- 最新辨肺病证候(精)课件PPT.ppt
- 最新辨析并修改病句(分类方法技巧)课件PPT.ppt
- 最新辨证护理基础(1)课件PPT.ppt
- 最新边看片子边练托福听力课件PPT.ppt
- 最新边缘性脑炎a 课件PPT课件.ppt
- 最新边缘性脑炎(LE)_图文.课件PPT.ppt
- 最新达内数据结构与算法概要课件PPT.ppt
- 最新辽宁肿瘤医院泌尿科蜜爱圈QCC成果汇报(副本)课件PPT.ppt
- 最新过去分词作状语公开课课件课件PPT.ppt
- 最新达芙通在绒毛膜下血肿中的应用课件PPT.ppt
- 最新过敏性鼻炎介绍课件PPT.ppt
- 最新过敏性药疹疾病图谱课件PPT.ppt
- 最新过松源晨炊漆公店杨万里 课件PPT.ppt
- 最新过敏性鼻炎的症状 过敏性鼻炎怎么治课件PPT.ppt
- 最新过程装备力学基础课件PPT.ppt
- 最新运动与能量课件PPT.ppt
- 最新运动系统由骨、骨连接和骨骼肌组成课件PPT.ppt