《流程控制结构之顺序结构.ppt》由会员分享,可在线阅读,更多相关《流程控制结构之顺序结构.ppt(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 流程控制结构之顺序结构杨章伟杨章伟1-2课程内容安排课程内容安排程序流程的描述。程序流程的描述。表达式语句的应用。表达式语句的应用。格式输入输出及其应用。格式输入输出及其应用。顺序结构综合应用。顺序结构综合应用。1-3程序流程图程序流程图 描描述述程程序序流流程程有有很很多多种种方方式式,如如伪伪码码、流流程程图图,以以及及UML(统统一一建建模模语语言言)的的顺顺序序图图、活活动动图图等等等等。伪伪码码和和流流程程图图比比较较适适合合描描述述短短小小的的程程序序,特特别别是是解解决决某某个个具具体体问问题题的的算算法法。其其中中,比比较较常常用用的的是是流流程程图图,其其以以图图的的
2、形形式来描述程序的流程。式来描述程序的流程。1-4表达式语句表达式语句 顺序结构是程序结构中最简单的一种,同时,其还是最顺序结构是程序结构中最简单的一种,同时,其还是最基本的控制结构,任何程序都必须包含顺序结构。顺序基本的控制结构,任何程序都必须包含顺序结构。顺序结构的特点是整个程序按书写顺序依次执行,即自上而结构的特点是整个程序按书写顺序依次执行,即自上而下依次运行。下依次运行。C+中,顺序结构的语句一般包含如下三中,顺序结构的语句一般包含如下三种:表达式语句、输入语句和输出语句。种:表达式语句、输入语句和输出语句。通过前面章节的学习,读者应已知道,程序的执行部分通过前面章节的学习,读者应已
3、知道,程序的执行部分是由语句组成的,程序的功能也是由执行语句实现的。是由语句组成的,程序的功能也是由执行语句实现的。其中,表达式语句由表达式加上分号其中,表达式语句由表达式加上分号“;”组成。其一组成。其一般形式为:般形式为:表达式;表达式;1-5格式化输入输出格式化输入输出 C+也提供了类似格式化输入输出方法,但也提供了类似格式化输入输出方法,但C+的控制符使的控制符使用起来更为简单方便。在用起来更为简单方便。在c+下有两中方法控制格式化输入下有两中方法控制格式化输入输出。输出。1-6标准输入流标准输入流cin 输入输入/输出流较为复杂,在前面的示例中,用到输出流较为复杂,在前面的示例中,用
4、到cin和和cout分别实现从键盘输入和在显示器上输出的功能。绝分别实现从键盘输入和在显示器上输出的功能。绝大多数大多数C+程序都使用了系统提供的程序都使用了系统提供的I/O流,以实现基本流,以实现基本的输入和输出操作。在的输入和输出操作。在I/O流类的定义中,把流类的定义中,把C+语言中语言中的左、右移位运算符的左、右移位运算符通过运算符重载的方法定通过运算符重载的方法定义为插入(输出)和提取(输入)运算符。义为插入(输出)和提取(输入)运算符。1-7标准输出流标准输出流cout 与输入流与输入流cin类似的,当程序需要在屏幕上显示输出时,类似的,当程序需要在屏幕上显示输出时,可以使用插入操
5、作符可以使用插入操作符“”向输出流向输出流cout中插入字符和中插入字符和数字,并把它在屏幕上显示输出。数字,并把它在屏幕上显示输出。1-8在在C+的的iostream标标准准库库中中,除除了了标标准准输输入入输输出出流流cin和和cout外外,还还包包含含了了cerr和和clog两两个个输输出出流流。其其中中,cerr流流是是指指无无缓缓冲冲标标准准错错误误输输出出流流,其其对对象象是是标标准准错错误误流流,指指定定为为和和显显示示器器关关联联。cerr流流和和cout作作用用类类似似,区区别别在在于于cout通通常常是是传传到到显显示示器器输输出出,但但可可以以被被重重定定向向输输出出到到
6、文文件件,而而cerr流流中的信息只能在显示器输出。中的信息只能在显示器输出。输出流输出流cerr和和clog 1-9格式控制函数是标准库格式控制函数是标准库iostream提供的用于控制输出提供的用于控制输出格式的成员函数,在具体的程格式的成员函数,在具体的程序设计中,通过调用这些成员序设计中,通过调用这些成员函数可以完成特定格式的设置。函数可以完成特定格式的设置。简单的说,简单的说,C+提供了提供了6个格式个格式控制成员函数共控制成员函数共11种格式种格式 格式控制函数格式控制函数 long flags()const返回当前的格式标志。返回当前的格式标志。long flags(long n
7、ewflag)设置格式标志为设置格式标志为newflag,返回旧的格式标志。,返回旧的格式标志。long setf(long bits)设置指定的格式标志位,返回旧的格式标志。设置指定的格式标志位,返回旧的格式标志。long setf(long bits,long field)将将field指定的格式标志位置为指定的格式标志位置为bits,返回旧,返回旧的格式标志。的格式标志。long unsetf(long bits)清除清除bits指定的格式标志位,返回旧的格式指定的格式标志位,返回旧的格式标志。标志。long fill(char c)设置填充字符,缺省条件下是空格。设置填充字符,缺省条件
8、下是空格。char fill()返回当前填充字符。返回当前填充字符。int precision(int val)设置精确度为设置精确度为val,控制输出浮点数的有效位,控制输出浮点数的有效位,返回旧值。返回旧值。int precision()返回旧的精确度值。返回旧的精确度值。int width(int val)设置显示数据的宽度设置显示数据的宽度(域宽域宽),返回旧的域宽。返回旧的域宽。int width()只返回当前域宽,缺省宽度为只返回当前域宽,缺省宽度为0。这时插入。这时插入操作能按表示数据的最小宽度显示数据。操作能按表示数据的最小宽度显示数据。1-10C+还提供了格式控制符,其可以在
9、插入和提取运算符还提供了格式控制符,其可以在插入和提取运算符的表达式中控制格式化输入和输出的表达式中控制格式化输入和输出 格式控制符格式控制符 控控 制制 符符描描 述述dec置基数为置基数为10hex置基数为置基数为16oct置基数为置基数为8setfill(c)设填充字符为设填充字符为csetprecision(n)设显示小数精度为设显示小数精度为n位位setw(n)设域宽为设域宽为n个字符个字符setiosflags(ios:fixed)固定的浮点显示固定的浮点显示setiosflags(ios:scientific)指数表示指数表示setiosflags(ios:left)左对齐左对齐
10、setiosflags(ios:right)右对齐右对齐setiosflags(ios:skipws)忽略前导空白忽略前导空白setiosflags(ios:uppercase)16进制数大写输出进制数大写输出setiosflags(ios:lowercase)16进制数小写输出进制数小写输出1-11顺序结构综合应用顺序结构综合应用 前面小节具体介绍了顺序结构的组成语句,主要包括表前面小节具体介绍了顺序结构的组成语句,主要包括表达式语句、输入输出语句及其格式控制符等。事实上,达式语句、输入输出语句及其格式控制符等。事实上,在几乎所有的在几乎所有的C+程序中,顺序结构都是必不可少的,程序中,顺序
11、结构都是必不可少的,因为其表示的是程序从上至下,依次执行的流程。因为其表示的是程序从上至下,依次执行的流程。1-12小结小结 本章主要讲解了本章主要讲解了C+程序流程控制结构之一的顺序结构,由于顺程序流程控制结构之一的顺序结构,由于顺序结构是较为简单的一种流程结构,且没有流程控制语句,序结构是较为简单的一种流程结构,且没有流程控制语句,因此,本章着重对语句、格式化输入输出函数和字符输入输因此,本章着重对语句、格式化输入输出函数和字符输入输出函数做了具体讲解。本章首先对表达式语句在顺序结构中出函数做了具体讲解。本章首先对表达式语句在顺序结构中的使用做了介绍,并通过具体示例进行说明,接下来重点阐的
12、使用做了介绍,并通过具体示例进行说明,接下来重点阐述了格式化输入输出的功能和应用,列举了其格式化字符串述了格式化输入输出的功能和应用,列举了其格式化字符串的组成,最后通过一个格式化输入输出的示例进一步说明了的组成,最后通过一个格式化输入输出的示例进一步说明了顺序结构的执行过程。顺序结构的执行过程。1-13习题习题【题目题目41】以下程序的输出结果是多少?以下程序的输出结果是多少?#include using namespace std;int main()int a=0;a+=(a=8);coutaendl;system(pause);return 0;【分析分析】该试题主要考查表达式语句和赋
13、值语句。上述程该试题主要考查表达式语句和赋值语句。上述程序段首先为变量序段首先为变量a赋初值为赋初值为0,接着在表达式语句,接着在表达式语句a+=(a=8);中计算中计算a的值。在该表达式中,首先计算括号的值。在该表达式中,首先计算括号中的赋值表达式,得出中的赋值表达式,得出a的值为的值为8,其次在计算复合赋值,其次在计算复合赋值表达式表达式a+=8,根据前面的学习读者知道,该表达式相当,根据前面的学习读者知道,该表达式相当于于a=a+8,此时,此时a的值已经为的值已经为8,而非,而非0,因此,因此a的值为的值为16。1-14【题目题目42】编写一个编写一个C+程序,通过设置输出格式置,使程序
14、,通过设置输出格式置,使程序的输出在用户屏幕上有一定的格式,输出如图程序的输出在用户屏幕上有一定的格式,输出如图4.17所示的目录格式。所示的目录格式。1-15【题目题目43】C+程序中有如下语句:程序中有如下语句:n=(i=2,+i)该语句是否是合法的?如果合法,运行结束后该语句是否是合法的?如果合法,运行结束后n和和i的值分别为多少?的值分别为多少?【分析分析】该试题考查逗号运算符和赋值语句。上述表达式语句是合法该试题考查逗号运算符和赋值语句。上述表达式语句是合法的,其总体上是一个赋值语句,赋值号右边是一个逗号表达式,的,其总体上是一个赋值语句,赋值号右边是一个逗号表达式,逗号表达式先计算
15、第一个表达式,最终结果为括号中最后一个表逗号表达式先计算第一个表达式,最终结果为括号中最后一个表达式的值。因此运行结束后达式的值。因此运行结束后i的值为的值为3,而运行,而运行n=3语句后,语句后,n的值的值也为也为3。1-16【题目题目44】下面程序段的输出结果是多少?下面程序段的输出结果是多少?#include#include using namespace std;int main()int a=100;cout系统默认进制:系统默认进制:aendl;/默认输出进制默认输出进制cout十进制:十进制:decaendl;/输出十进制输出十进制cout八进制:八进制:octaendl;/输出
16、八进制输出八进制cout十六进制:十六进制:hexaendl;/输出十六进制输出十六进制 system(pause);return 0;1-17【题目题目45】编写一个编写一个C+程序,要求接收用户输入的一个程序,要求接收用户输入的一个包含包含5位小数的浮点数,通过精度控制输出该浮点数有位小数的浮点数,通过精度控制输出该浮点数有效数字为效数字为3位、位、4位和位和5位时的数值。例如,输入一个浮位时的数值。例如,输入一个浮点数点数.15.41532,运行程序后将分别显示如图,运行程序后将分别显示如图4.18所示结所示结果。果。1-18【题目题目46】编写一个编写一个C+程序,使得其运行后能输出以
17、下程序,使得其运行后能输出以下信息。信息。How are you.Fine,thank you.【题目题目47】编写一个编写一个C+程序,求两个数程序,求两个数78、45之差。之差。【题目题目48】编写一个编写一个C+程序,从键盘接收用户输入的程序,从键盘接收用户输入的3个个整数,计算这三个整数之和,并将结果输出。整数,计算这三个整数之和,并将结果输出。【题目题目49】随机数的生成是许多具体程序中要使用到的,随机数的生成是许多具体程序中要使用到的,C+中提供了中提供了random和和rand函数用于生成随机数,如函数用于生成随机数,如何进行具体实现?编写一个程序进行简单生成和输出。何进行具体实
18、现?编写一个程序进行简单生成和输出。1-19【题目题目50】编写一个编写一个C+程序,要求从键盘上输入三角形程序,要求从键盘上输入三角形的底和高,求出三角形的面积。例如,输入底为的底和高,求出三角形的面积。例如,输入底为5.6,高为高为7.8,则求出三角形面积如图,则求出三角形面积如图4.19所示。所示。【分析分析】该试题考查顺序结构的具体实现。三角形的底和该试题考查顺序结构的具体实现。三角形的底和高可以是整数,也可以是浮点数,因此需定义两个浮点高可以是整数,也可以是浮点数,因此需定义两个浮点型变量,根据三角形面积的公式:面积型变量,根据三角形面积的公式:面积=(底(底*高)高)/2。需要读者注意的是,由于三角形的面积可能带有小数,需要读者注意的是,由于三角形的面积可能带有小数,而运算符而运算符/为整除,因此除数需为浮点型。为整除,因此除数需为浮点型。