c++第三章_基本程序设计.ppt
《c++第三章_基本程序设计.ppt》由会员分享,可在线阅读,更多相关《c++第三章_基本程序设计.ppt(223页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 基本程序设计基本程序设计 教学目标:教学目标:1掌握顺序、选择、循环三掌握顺序、选择、循环三种基本控制结构的程序实现种基本控制结构的程序实现方法;方法;2了解基本程序调试技能。了解基本程序调试技能。教学内容:教学内容:1顺序结构的程序实现语句;顺序结构的程序实现语句;2一路、两路、多路分支选择一路、两路、多路分支选择结构的实现语句;结构的实现语句;3循环结构的实现语句,循环循环结构的实现语句,循环控制语句的作用;控制语句的作用;5程序调试过程。程序调试过程。+的控制结构的控制结构v顺序结构顺序结构一路选择分支一路选择分支v选择结构选择结构两路选择分支两路选择分支多路选择分支多路选
2、择分支当型循环当型循环v循环结构循环结构直到型循环直到型循环for循环循环基本控制结构3.1 顺序结构程序设计顺序结构程序设计n顺序结构程序通常由函数调用顺序结构程序通常由函数调用语句、说明语句、表达式语句、语句、说明语句、表达式语句、输入输出语句、复合语句和输入输出语句、复合语句和分程序组成,用于解决一些可分程序组成,用于解决一些可顺序性处理的问题。顺序性处理的问题。实现顺序结构实现顺序结构n例例3.1“鸡兔同笼问题鸡兔同笼问题”:在一个笼子:在一个笼子里养着鸡与兔,但不知其中鸡有多少里养着鸡与兔,但不知其中鸡有多少只,兔有多少只。只知道鸡和兔的总只,兔有多少只。只知道鸡和兔的总数是数是a,
3、鸡与兔的总脚数是,鸡与兔的总脚数是b,求鸡与,求鸡与兔各有多少只。兔各有多少只。思路分析:思路分析:首先从题目本身开始,找出解决问题首先从题目本身开始,找出解决问题的基本思路。每只鸡有两只脚,每只兔有的基本思路。每只鸡有两只脚,每只兔有四只脚。假设有四只脚。假设有x只鸡和只鸡和y只兔,则根据只兔,则根据已知条件可列出如下方程组:已知条件可列出如下方程组:x+y=a2x+4y=b对该方程组做进一步的转换可得:对该方程组做进一步的转换可得:y=(b-2a)/2;x=(4a-b)/2;源程序清单:源程序清单:#includeusingnamespacestd;voidmain()inta,b,x,y
4、;couta;coutb;x=(4*a-b)/2;y=(b-2*a)/2;cout鸡的数量为鸡的数量为:xendl;cout兔的数量为兔的数量为:yendl;编程技巧:编程技巧:n1在顺序结构的程序设计中,主函数在顺序结构的程序设计中,主函数(即(即main函数)的函数体的执行顺序函数)的函数体的执行顺序为语句的书写顺序。即写在前面的语为语句的书写顺序。即写在前面的语句先执行,写在后面的语句后执行,句先执行,写在后面的语句后执行,且每条语句都会被执行一次;且每条语句都会被执行一次;编程技巧:编程技巧:n2组成顺序结构的常见语句有:组成顺序结构的常见语句有:(1)说明语句,包括变量、常量定义;)
5、说明语句,包括变量、常量定义;(2)表达式语句,由表达式(一般为赋值)表达式语句,由表达式(一般为赋值表达式)加分号构成;表达式)加分号构成;(3)输入)输入/输出流语句;输出流语句;(4)复合语句,由)复合语句,由括起来的多条语句组成括起来的多条语句组成.(5)空语句,由独立的分号构成,执行是)空语句,由独立的分号构成,执行是不产生任何操作。不产生任何操作。编程技巧:编程技巧:n3在程序中,输入语句的前面通常应在程序中,输入语句的前面通常应该增加一条输出语句,用于提示操作者该增加一条输出语句,用于提示操作者应该输入几个什么数据类型的数据。应该输入几个什么数据类型的数据。$例:例:输入一字符并
6、找出该字符的前趋字输入一字符并找出该字符的前趋字符和后继字符,输出这三个字符和其对应的符和后继字符,输出这三个字符和其对应的ASCIIASCII码值。码值。实现顺序结构实现顺序结构$算法分析:只要将所输入字符的算法分析:只要将所输入字符的ASCIIASCII码码进行减进行减1 1和加和加1 1运算后,即可得到该字符的前运算后,即可得到该字符的前趋与后续字符,最后再分别按字符型和数值趋与后续字符,最后再分别按字符型和数值型数据输出即可。型数据输出即可。#includeusingnamespacestd;voidmain()charx,y,z;inta,b,c;couty;x=y-1;z=y+1;
7、a=x;b=y;c=z;coutxyzendl;coutabcendl;源源程程序序清清单单:例例3.2输入一位同学的三门课程考试成绩,输入一位同学的三门课程考试成绩,计算该同学的平均成绩,要求输出数据的计算该同学的平均成绩,要求输出数据的形式如下例:形式如下例:科目科目成绩成绩英语英语67程序设计程序设计78.5大学物理大学物理89该生的平均成绩为:该生的平均成绩为:78.17思路分析:思路分析:n本程序要求的计算内容很简单,在输入考试成本程序要求的计算内容很简单,在输入考试成绩绩score1,score2,score3的基础上,通过的基础上,通过运算式子运算式子average=(score
8、1+score2+score3)/3可以求可以求出该生的平均成绩。出该生的平均成绩。n本例的重点本例的重点在输出数据的位置控制上。如题目在输出数据的位置控制上。如题目示例所示:要求前四行输出的两列信息要对齐,示例所示:要求前四行输出的两列信息要对齐,且最后计算出的平均成绩的小数部分只显示两且最后计算出的平均成绩的小数部分只显示两位数字。位数字。算法描述:算法描述:#include#includeusingnamespacestd;voidmain()floatscore1,score2,score3,average;cout请输入三门课程的考试成绩:请输入三门课程的考试成绩:score1sco
9、re2score3;average=(score1+score2+score3)/3;coutsetw(10)科目科目setw(12)成绩成绩endl;coutsetw(10)英语英语setw(12)score1endl;coutsetw(10)程序设计程序设计setw(12)score2endl;coutsetw(10)大学物理大学物理setw(12)score3endl;coutfixed;cout.precision(2);cout该生的平均成绩为:该生的平均成绩为:averageendl;文件包含文件包含使用该文件中的命令使用该文件中的命令1、同时输入多个数据的操作方法、同时输入多个数
10、据的操作方法n输入几个数据时,要用输入几个数据时,要用空格空格或或Tab键键或或回回车键来车键来分隔开分隔开n输入的数据个数、类型要与接收变量匹配输入的数据个数、类型要与接收变量匹配n输入完所有数据后必须按输入完所有数据后必须按回车键回车键程序才会程序才会继续运行继续运行编程技巧:编程技巧:2对于输出的多列信息对齐的问对于输出的多列信息对齐的问题题q可以通过控制输出的数据所占的位可以通过控制输出的数据所占的位置宽度来实现。置宽度来实现。q实现方法为:在输出该数据前先通实现方法为:在输出该数据前先通过过setw(n)来设置该数据输出时所来设置该数据输出时所占的最少位置宽度占的最少位置宽度n。格式
11、化数字的输出格式化数字的输出 setw(p):设置字段宽度设置字段宽度用法:用法:coutsetw(p);作用:作用:用来设置紧跟其后的第一个输出项用来设置紧跟其后的第一个输出项所占的宽度为所占的宽度为p位。位。使用使用setw(p)时要加文件包含时要加文件包含:#includesetw(p)所设置的位置宽度所设置的位置宽度只对其后输出只对其后输出的一个数据生效的一个数据生效。#include#includeusingnamespacestd;voidmain()floatscore1,score2,score3,average;cout请输入三门课程的考试成绩:请输入三门课程的考试成绩:sc
12、ore1score2score3;average=(score1+score2+score3)/3;coutsetw(10)科目科目setw(12)成绩成绩endl;coutsetw(10)英语英语setw(12)score1endl;coutsetw(10)程序设计程序设计setw(12)score2endl;coutsetw(10)大学物理大学物理setw(12)score3endl;coutfixed;cout.precision(2);cout该生的平均成绩为:该生的平均成绩为:averageendl;实际显示宽度不够的在实际显示宽度不够的在前面前面填充空格。填充空格。该设置也可以通过
13、该设置也可以通过cout.width(n);来实现。来实现。v即语句:即语句:cout.width(p):设置字段宽度设置字段宽度v用法用法:cout.width(p);v作用作用:是设置紧跟其后的第一个输:是设置紧跟其后的第一个输出项所占的宽度为出项所占的宽度为p位。位。vwidth成员函数包含头文件成员函数包含头文件#include#includeusingnamespacestd;voidmain()floatscore1,score2,score3,average;cout请输入三门课程的考试成绩:请输入三门课程的考试成绩:score1score2score3;average=(sco
14、re1+score2+score3)/3;cout.width(25);cout科目科目成绩成绩endl;coutsetw(10)英语英语setw(12)score1endl;coutsetw(10)程序设计程序设计setw(12)score2endl;coutsetw(10)大学物理大学物理setw(12)score3endl;coutfixed;cout.precision(2);cout该生的平均成绩为:该生的平均成绩为:averageendl;实际显示宽度不够的实际显示宽度不够的在前面填充空格。在前面填充空格。setw和和width都不截断数值。(如都不截断数值。(如果数值超过指定宽度
15、,则显示全部值,果数值超过指定宽度,则显示全部值,当然遵守流的精度设置。)当然遵守流的精度设置。)setw和和width仅影响紧跟其后的域,仅影响紧跟其后的域,在一个域输出完后,域宽度恢复它的在一个域输出完后,域宽度恢复它的默认值。默认值。setw和和width区别?区别?#include#includeusingnamespacestd;voidmain()inta=65;coutaendl;coutsetw(10)aendl;coutaendl;#includeusingnamespacestd;voidmain()inta=65;coutaendl;cout.width(10);cout
16、aendl;coutaendl;3在输出一个浮点数时在输出一个浮点数时q系统会在科学记数法和小数点法两系统会在科学记数法和小数点法两种形式里按照一定的规则(通常在整种形式里按照一定的规则(通常在整数部分超过数部分超过6位时采用科学记数法)位时采用科学记数法)自动选择采用哪种形式输出。自动选择采用哪种形式输出。q若若想规定不管什么样的浮点数均使想规定不管什么样的浮点数均使用小数点形式输出用小数点形式输出,可采用,可采用coutfixed;语句来实现。语句来实现。fixed:控制以定点符号显示数据输出:控制以定点符号显示数据输出用法:用法:coutfixed;例:例:#includeusingna
17、mespacestd;voidmain()doublea=87654321.12345678;coutaendl;coutfixed;coutaendl;4控制输出位数控制输出位数qcout.precision(n)函数,设置函数,设置有效位数有效位数。若想规定输出的浮点数的小数部分的位数若想规定输出的浮点数的小数部分的位数可通过可通过cout.precision(n);语句来实现。语句来实现。其中其中n代表小数部分的位数(若数据的实代表小数部分的位数(若数据的实际位数超过际位数超过n,则按,则按4舍舍5入规则处理后输入规则处理后输出;若数据的实际位数少于出;若数据的实际位数少于n,则其余位,
18、则其余位数用数用0补齐)。补齐)。例:例:#includeusingnamespacestd;voidmain()doublea=87654321.12345678;coutaendl;cout.precision(3);coutaendl;cout.precision(n):指明输出有效位数:指明输出有效位数n位位fixed和和cout.precision(p)两者共用时两者共用时cout.precision(p)表示表示小数点后的位数小数点后的位数假设变量假设变量a=87654321.12345678用下面方式控制输出用下面方式控制输出:cout.precision(7);coutfixe
19、d;coutaendl;其输出结果为其输出结果为:87654321.1234568小数点后显示小数点后显示7位数位数格式化数字的输出格式化数字的输出 内置函数内置函数precision()包含在头文件包含在头文件#includefixed流控制器、流控制器、precision()函数函数必须在第一个显示数字的必须在第一个显示数字的cout语句之语句之前出现。前出现。在没有遇到另一个语句改变这些设在没有遇到另一个语句改变这些设定,这两个设定一直有效。定,这两个设定一直有效。3、格式化输出数据、格式化输出数据n控制输出对齐方式控制输出对齐方式qcoutleft左对齐;左对齐;coutright右对
20、齐。右对齐。#include#includeusingnamespacestd;voidmain()floatscore1,score2,score3,average;cout请输入三门课程的考试成绩:请输入三门课程的考试成绩:score1score2score3;average=(score1+score2+score3)/3;coutleft;coutsetw(10)科目科目setw(12)成绩成绩endl;coutsetw(10)英语英语setw(12)score1endl;/coutright;coutsetw(10)程序设计程序设计setw(12)score2endl;coutset
21、w(10)大学物理大学物理setw(12)score3endl;coutscientific;cout.precision(2);cout该生的平均成绩为:该生的平均成绩为:averageendl;3.2 选择结构程序设计选择结构程序设计n一路分支选择结构一路分支选择结构if(条件条件)语句语句n两路分支选择结构两路分支选择结构if(条件条件)语句语句1else语句语句2n选择结构的嵌套选择结构的嵌套n多路分支选择结构多路分支选择结构switch语句语句n关系运算符与关系表关系运算符与关系表达式达式n逻辑运算符与逻辑表逻辑运算符与逻辑表达式达式n条件运算符与条件表条件运算符与条件表达式达式3.
22、2 选择结构程序设计选择结构程序设计n选择结构是根据给定条件的判断结果决选择结构是根据给定条件的判断结果决定程序执行的走向,也称定程序执行的走向,也称判断判断结构。结构。n例例3.3从键盘输入一个数,计算并输出该数从键盘输入一个数,计算并输出该数的绝对值。的绝对值。xx0计算计算 绝对值绝对值y=-xx0#includeusingnamespacestd;voidmain()floatm;coutm;if(m0)m=-1*m;cout你输入数据的绝对值为你输入数据的绝对值为:mx?开始开始结束结束输入输入x,y输出输出x,y#includeusingnamespacestd;voidmain(
23、)doublex,y,t;coutxy;if(yx)t=x;x=y;y=t;coutx,yendl;正确吗正确吗?正确程序:#includeusingnamespacestd;voidmain()doublex,y,t;coutxy;if(yx)t=x;x=y;y=t;coutx,yendl;关系关系运算符与关系表达式运算符与关系表达式n简单的条件通过包含简单的条件通过包含关系运算符关系运算符的关系表达式的关系表达式来表示来表示。nC+语言的关系运算符见下表语言的关系运算符见下表关系表达式关系表达式n注意:注意:(1)关系表达式的值为)关系表达式的值为布尔型布尔型。若满足条件,值。若满足条件,
24、值为布尔值为布尔值true;若不满足条件,关系表达式的;若不满足条件,关系表达式的值为布尔值值为布尔值false;(2)关系运算符若为两字符,在书写时两字符间关系运算符若为两字符,在书写时两字符间不能加空格不能加空格;(3)=与与=的区别:如的区别:如x=1为条件表达式,判为条件表达式,判断断x是否等于是否等于1。x=1为赋值表达式,将数值为赋值表达式,将数值1存存入变量入变量x中;中;关系表达式关系表达式(4)两个浮点数之间一般不用两个浮点数之间一般不用=来判断是否相来判断是否相等;等;浮点数在大多数计算机上都采用近似表示。浮点浮点数在大多数计算机上都采用近似表示。浮点数的相等与否用测试差值
25、绝对值是否小于指定数的相等与否用测试差值绝对值是否小于指定的值来判定。的值来判定。(5)关系运算符的优先级低于算术运算符,高于)关系运算符的优先级低于算术运算符,高于赋值运算符。赋值运算符。注意:注意:=运算符不能写成运算符不能写成=,=是无效的运算符。是无效的运算符。例:例:运算符运算符名字名字实例实例小于小于55.5/得出得出1=小于或等于小于或等于5大于大于55.5/得出得出0=大于或等于大于或等于6.3=5/得出得出1=等于等于5=5/得出得出1!=不等于不等于5!=5/得出得出0运用举例:运用举例:1、若、若A=3,B=2,C=1,求下列表达式的求下列表达式的值。值。AB即即32,值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 第三 基本 程序设计
限制150内