C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3

上传人:E**** 文档编号:89190940 上传时间:2019-05-21 格式:PPT 页数:80 大小:326.50KB
返回 下载 相关 举报
C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3_第1页
第1页 / 共80页
C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3_第2页
第2页 / 共80页
C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3_第3页
第3页 / 共80页
C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3_第4页
第4页 / 共80页
C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3》由会员分享,可在线阅读,更多相关《C++程序设计与应用 教学课件 ppt 作者 周仲宁 1 courseware3(80页珍藏版)》请在金锄头文库上搜索。

1、第3章 C+程序的流程控制,2006-04-01,C+程序设计,第3章内容,3.1 顺序控制语句 3.2 选择控制语句 3.3 循环控制语句 3.4 跳转语句 3.5 常见编程错误 3.6 良好的编程习惯 3.7 应用程序举例,2006-04-01,C+程序设计,高级语言源程序的基本组成单位是语句。在C+程序中,语句是最小的可执行单元,一条语句由一个分号结束。 C+程序的语句按其功能可以划分为两类: 操作运算语句 流程控制语句 基本的控制结构有三种: 顺序结构,选择结构,循环结构,2006-04-01,C+程序设计,3.1 顺序控制语句,所谓顺序结构,就是指按照语句在程序中的先后次序一条一条顺

2、次执行。顺序控制语句是一类简单的语句,操作运算语句即是顺序控制语句,包括表达式语句,输入输出等。,2006-04-01,C+程序设计,3.1.1 表达式语句,由表达式加上分号就构成了表达式语句(没有分号的不是语句)。表达式是指由运算符连接各个运算对象所形成的、合乎语法规则的式子。 例如,以下都是表达式语句: a=3+5; ab?a:b; a=1,b=2,c=3; printf(“hellon”); 常见的表达式语句有以下几种:空语句、赋值语句、函数调用语句。,2006-04-01,C+程序设计,1. 空语句 空语句是指只有一个分号而没有表达式的语句。语法格式为: ; 空语句不做任何操作运算,而

3、只是作为一种形式上的语句,填充在控制结构之中。这些填充处需要一条语句,但又不做任何操作。 空语句是最简单的表达式语句。,3.1.1 表达式语句,2006-04-01,C+程序设计,2. 赋值语句 赋值语句是由赋值表达式加一个语句结束标志(分号“;”)构成的语句。语法格式为: 变量 = 表达式; 例如: a=1; b+=2; c=sin(d); 其中:表达式可以是多重赋值表达式,如: 变量1=变量2= =变量n=表达式; 等价于: 变量1=表达式;变量2=表达式;变量n=表达式;,3.1.1 表达式语句,2006-04-01,C+程序设计,3. 函数调用语句 函数调用语句是由函数调用表达式加一个

4、语句结束标志(分号“;”)构成的语句。例如: scanf(“%d”,3.1.1 表达式语句,2006-04-01,C+程序设计,C+程序没有输入/输出语句,它的输入/输出功能由函数(scanf、printf)或流控制来实现。 输入/输出流(I/0流)是输入或输出的一系列字节。C+定义了运算符“”的iostream类。在这里只介绍如何利用C+的标准输入/输出流实现数据的输入/输出功能。,3.1.2 输入/输出语句,2006-04-01,C+程序设计,1 输入语句 当程序需要执行键盘输入时,可以使用抽取操作符“”从输入流cin中抽取键盘输入的字符或数字,并把它赋给指定的变量。例如: #includ

5、e void main() int a; cina; 注意:这里的抽取操作符“”与位移运算符“”是同样的符号,但这种符号在不同的地方其含义是不一样的。,3.1.2 输入/输出语句,2006-04-01,C+程序设计,2 输出语句 当程序需要在屏幕上显示输出时,可以使用插入操作符“ void main() cout”Hello”endl; 与输入一样,这里的插入操作符“”与位移运算符“”是同样的符号,但这种符号在不同的地方其含义是不一样的。,3.1.2 输入/输出语句,2006-04-01,C+程序设计,在C+程序中,cin与cout允许将任何基本数据类型的名字或值传给流。而且书写格式较灵活,可

6、以在同一行中串连书写,也可以分写在几行,提高可读性。 例如: coutab; /cin可分辨不同的变量类型,3.1.2 输入/输出语句,2006-04-01,C+程序设计,用控制符(manipulators)可以对I/O流的格式进行控制。C+在头文件iomanip.h中定义了控制符对象,可以直接将这些控制符嵌入到I/O语句中进行格式控制。在使用这些控制符时,要在程序的开头包含头文件iomanip.h。 表3-1列出了常用的I/O流控制符。,3.1.3 格式控制符,2006-04-01,C+程序设计,表3-1 常用的I/O流控制符,2006-04-01,C+程序设计,格式控制符的使用,1 控制不

7、同进制的输出(十进制、八进制、十六进制) #include void main() int a=1001; cout”默认:”aendl; cout”十进制:”decaendl; cout”八进制:”octaendl; cout”十六进制:”hexaendl; 此程序的运行结果为: 默认:1001 十进制:1001 八进制:1751 十六进制:3e9,2006-04-01,C+程序设计,2 控制输出宽度 #include #include void main() int a=1234567890; double b=123.45; coutsetw(10)aendl; coutsetw(10)

8、bendl; coutsetw(8)bendl; coutsetw(6)bendl; coutsetw(4)bendl; ,格式控制符的使用,程序运行结果为: 1234567890 123.45 123.45 123.45 123.5,2006-04-01,C+程序设计,3 控制输出精度 C+默认的输出流数值的有效位是6。 如果希望输出3位有效位,即保留两位小数,此时可用setprecision(3)控制符加以控制。当小数位数截断输出时,进行四舍五入处理。 如: #include #include void main() double a=1.234567; coutsetprecision(

9、3)aendl; ,格式控制符的使用,2006-04-01,C+程序设计,4 控制左右对齐 默认情况下,C+程序的I/O流以左对齐方式显示输出的内容。使用控制符 setiosflags(ios:left)和setiosflags(ios:right),可以控制输出内容的左、右对齐方式。Setiosflags(ios:left)和setiosflags(ios:right)控制符在头文件iomanip.h中定义。,格式控制符的使用,2006-04-01,C+程序设计,5 控制正、负符号的显示 #include #include void main() cout10” ”-20endl; cout

10、setiosflags(ios:showpos)30” ” -40endl; 程序运行结果为: 10 -20 +30 -40,格式控制符的使用,2006-04-01,C+程序设计,6 控制空位填充 #include #include void main() coutsetfill(*)setw(4)12 endl; 程序运行结果为: *12,格式控制符的使用,2006-04-01,C+程序设计,C+允许把一组语句用一对花括号括起来,构成一个复合语句。例如: int a; a=1+2; 请注意:一个复合语句的右花括号“”之后不能再写分号。 复合语句也称为分程序,是若干条语句的一个集合,它在语法上

11、是一个整体,相当于一个语句。在分程序中定义的变量只在此分程序中有效。,3.1.4 复合语句,2006-04-01,C+程序设计,习题,针对以下任务编写c+语句 把x 和y的和赋值给z。计算完成后让x的值自增1; 让x变量的值减1,再从total变量值中减去x,结果仍保存在total中; 计算变量q除以变量s后的余数,把结果还赋给q,写出两种不同的语句;,2006-04-01,C+程序设计,3.2 选择控制语句,选择语句又称为分支语句,它通过对给定的条件进行判断,从而决定执行两个或多个分支中的哪一支。因此,在编写选择语句之前,应该首先明确判断条件是什么,并确定当判断结果为“真”或“假”时应分别执

12、行什么样的操作(算法)。 C+程序中提供的选择语句有两种: ifelse语句和switch语句。,2006-04-01,C+程序设计,1 if语句 if语句的语法格式为: if(条件表达式) 或: if (条件表达式) 语句; 语句序列; 它的意义为:如果条件表达式进行一次测试,且测试为真,则执行后面的语句。 当语句序列只包含一条语句时,包围该语句序列的花括号可以省略。,3.2.1 ifelse语句,2006-04-01,C+程序设计,例:判断用户的输入,如果输入的数值大于0,则在屏幕上显示“正数”。 #include void main() int a; cina; if(a0) cout”

13、正数”endl; ,3.2.1 ifelse语句,2006-04-01,C+程序设计,编译器必须在if条件表达式的后面找到一个作为语句结束符的分号“;”,以标志if语句的结束。这样,如果是下面的代码: if (条件表达式); /空语句做if中的语句; 则不管条件表达式为真为假,总是接着执行分号后的语句。即相当于if语句不做任何事。,3.2.1 ifelse语句,2006-04-01,C+程序设计,2 ifelse语句 ifelse语句的语法格式为: if (条件表达式) 语句1; else 语句2; 它的意义为:如果“条件表达式”的判断结果为真,则执行语句1;如果“条件表达式”的判断结果为假,

14、则执行语句2。,3.2.1 ifelse语句,2006-04-01,C+程序设计,例:判断用户的输入,如果输入的数值大于0,则在屏幕上显示“正数”;否则在屏幕上显示“不是正数”。 #include void main() int a; cina; if(a0) cout”正数”endl; else cout”不是正数”endl; ,3.2.1 ifelse语句,2006-04-01,C+程序设计,当多个ifelse语句嵌套时,为了防止出现二义性,C+规定,由后向前使每一个else都与其前面的最靠近它的if配对。如果一个else的上面又有一个未经配对的else,则先处理上面的(内层的)else的

15、配对。 例:求a、b、c三个数中的最大值。 if (ab) if(ac) max=a; else max=c; else if(bc) max=b; else max=c;,3.2.1 ifelse语句,2006-04-01,C+程序设计,当多个ifelse语句嵌套时,在容易误解的地方可以按照语法关系加上花括号来标识逻辑关系的正确性。 如上例可以改写为: if (ab) if(ac) max=a; else max=c; else if(bc) max=b; else max=c; ,3.2.1 ifelse语句,2006-04-01,C+程序设计,switch是多分支的选择语句。尽管if语句的嵌套可以处理多分支选择。但用switch语句更加直观。 switch语句的语法格式为: switch (序数表达式) case 常量表达式1: ; case 常量表达式2: ; case 常量表达式n: ; default: ; ,3.2.2 switch语句,2006-04-01,C+程序设计,switch语句的执行顺序是: 首先对“序数表达式”进行计算,得到一个常量结果,然后从上到下寻找与此结果相匹配的常量表达式所在的case语句,以此作为入口,开始顺序执行入口处后面的各语句,直到遇到break语句,才结束switch语句,转而执行switc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号