【教学课件】第3章控制语句.ppt
《【教学课件】第3章控制语句.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章控制语句.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计湖南大学 杜四春、银红霞第3章 控制语句 3.1 顺序控制语句 3.2 选择控制语句 3.3 循环控制语句 3.4 跳转语句 C+程序设计湖南大学 杜四春、银红霞高级语言源程序的基本组成单位是语句。在C+程序中,语句是最小的可执行单元,一条语句由一个分号结束。nC+程序的语句按其功能可以划分为两类:操作运算语句 流程控制语句n基本的控制结构有三种:顺序结构,选择结构,循环结构 C+程序设计湖南大学 杜四春、银红霞3.1 顺序控制语句顾名思义,所谓顺序结构,就是指按照语句在程序中的先后次序一条一条的顺次执行。顺序控制语句是一类简单的语句,上述的操作运算语句即是顺序控制语句,包括表达式
2、语句,输入/输出等。C+程序设计湖南大学 杜四春、银红霞3.1.1 表达式语句表达式语句 任何一个表达式后面加上一个分号就构成了表达式语句(没有分号的不是语句)。表达式是指用运算符连接各个运算对象,合乎语法规则的式子。例如,以下都是表达式语句:a=3+5;ab?a:b;a=1,b=2,c=3;printf(“hellon”);常见的表达式语句有以下几种:空语句、赋值语句、函数调用语句。C+程序设计湖南大学 杜四春、银红霞1.空空语句句空语句是指只有一个分号而没有表达式的语句。语法格式为:;空语句不做任何操作运算,而只是作为一种形式上的语句,填充在控制结构之中。这些填充处需要一条语句,但又不做任
3、何操作。空语句是最简单的表达式语句。C+程序设计湖南大学 杜四春、银红霞2.赋值语句句赋值语句是由赋值表达式加一个语句结束标志(分号“;”)构成的语句。语法格式为:变量 赋值运算符 表达式;例如:a=1;b+=2;c=sin(d);可以多重赋值,将一个表达式的值同时赋给多个变量。如:变量1=变量2=变量n=表达式;等价于:变量1=表达式;变量2=表达式;变量n=表达式;C+程序设计湖南大学 杜四春、银红霞3.函数函数调用用语句句函数调用语句是由函数调用表达式加一个语句结束标志(分号“;”)构成的语句。例如:scanf(“%d”,&e);max(a,b);C+程序设计湖南大学 杜四春、银红霞 输
4、入输入/输出(输出(I/OI/O)C+程序没有输入/输出语句,它的输入/输出功能由函数(scanf、printf)或流控制来实现。输入/输出流(I/0流)是输入或输出的一系列字节。C+定义了运算符“”的iostream类。在这里只介绍如何利用C+的标准输入/输出流实现数据的输入/输出功能。C+程序设计湖南大学 杜四春、银红霞1.输入入当程序需要执行键盘输入时,可以使用抽取操作符“”从输入流cin中抽取键盘输入的字符和数字,并把它赋给指定的变量。例如:#includevoid main()int a;cina;注意:这里的抽取操作符“”与位移运算符“”是同样的符号,但这种符号在不同的地方其含义是
5、不一样的。C+程序设计湖南大学 杜四春、银红霞2.输出出当程序需要在屏幕上显示输出时,可以使用插入操作符“”向输出流cout中插入字符和数字,并把它在屏幕上显示输出。例如:#includevoid main()cout”Hello.n”;与输入一样,这里的插入操作符“”与位移运算符“”是同样的符号,但这种符号在不同的地方其含义是不一样的。C+程序设计湖南大学 杜四春、银红霞在C+程序中,cin与cout允许将任何基本数据类型的名字或值传给流。而且书写格式较灵活,可以在同一行中串连书写,也可以分写在几行,提高可读性。例如:cout”hello”;cout3;coutendl;等价于:cout”h
6、ello”3endl;也等价于:cout”hello”/注意:行末无分号 3 /行末无分号 ab;/cin可分辨不同的抽取 /变量类型 C+程序设计湖南大学 杜四春、银红霞3.常用的控制符常用的控制符用控制符(manipulators)可以对I/O流的格式进行控制。C+在头文件iomanip.h中定义了控制符对象,可以直接将这些控制符嵌入到I/O语句中进行格式控制。在使用这些控制符时,要在程序的开头包含头文件iomanip.h。表3-1列出了常用的I/O流控制符。C+程序设计湖南大学 杜四春、银红霞控制符含义dec数值数据采用十进制表示hex数值数据采用十六进制表示oct数值数据采用八进制表示
7、setw(n)设置域宽为n个字符setprecision(n)设置浮点数的小数位数(包括小数点)setioflags(ios:uppercase)十六进制数大写输出setioflags(ios:lowercase)十六进制数小写输出setiosflags(ios:left)左对齐setiosflags(ios:right)右对齐setiosflags(ios:showpos)设置正、负符号的显示setfill(c)设置填充字符为cendl插入换行符,并刷新流 表3-1 常用的I/O流控制符 C+程序设计湖南大学 杜四春、银红霞(1)控制不同进制的输出(十进制、八进制、十六进制)#include
8、void main()int a=1001;cout”默认下:”aendl;cout”十进制:”decaendl;cout”八进制:”octaendl;cout”十六进制:”hexaendl;此程序的运行结果为:默认下:1001十进制:1001八进制:1751十六进制:3e9C+程序设计湖南大学 杜四春、银红霞(2)控制输出宽度#include#includevoid main()int a=1234567890;double b=123.45;coutsetw(10)aendl;coutsetw(10)bendl;coutsetw(8)bendl;coutsetw(6)bendl;couts
9、etw(4)bendl;此程序的运行结果为:1234567890 123.45 123.45123.45123.45 C+程序设计湖南大学 杜四春、银红霞(3)控制输出精度#include#includevoid main()double a=1.234567;coutsetprecision(3)aendl;如果希望显示的数字是1.23,即保留两位小数,此时可用setprecision(n)控制符加以控制,此时显示3位有效位。当小数位数截短显示时,进行四舍五入处理。C+默认的输出流数值的有效位是6。C+程序设计湖南大学 杜四春、银红霞(4)控制左右对齐默认情况下,C+程序的I/O流以左对齐方
10、式显示输出的内容。使用控制符setiosflags(ios:left)和setiosflags(ios:right),可以控制输出内容的左、右对齐方式。setiosflags(ios:left)和setiosflags(ios:right)控制符在头文件iomanip.h中定义。C+程序设计湖南大学 杜四春、银红霞(5)控制正、负符号的显示#include#includevoid main()cout10”-20endl;coutsetiosflags(ios:showpos)30”-40endl;此程序的运行结果为:10 -20+30 -40 C+程序设计湖南大学 杜四春、银红霞(6)控制空
11、位填充#include#includevoid main()coutsetfill(*)setw(4)12endl;此程序的运行结果为:*12 C+程序设计湖南大学 杜四春、银红霞3.1.3 3.1.3 复合语句复合语句C+语言允许把一组语句用一对花括号括起来,构成一个复合语句。例如:int a;a=1+2;请注意:一个复合语句的右花括号“”之后不能再写分号。复合语句也称为分程序,是若干条语句的一个集合,它在语法上是一个整体,相当于一个语句。在分程序中定义的变量只在此分程序中有效。C+程序设计湖南大学 杜四春、银红霞3.2 选择控制语句选择语句又称为分支语句,它通过对给定的条件进行判断,从而决
12、定执行两个或多个分支中的哪一支。因此,在编写选择语句之前,应该首先明确判断条件是什么,并确定当判断结果为“真”或“假”时应分别执行什么样的操作(算法)。C+程序中提供的选择语句有两种:ifelse语句和switch语句。C+程序设计湖南大学 杜四春、银红霞3.2.1 ifelse语句语句1.if语句句if语句的语法格式为:if(条件表达式)或:if(条件表达式)语句;语句序列;它的意义为:如果条件表达式进行一次测试,且测试为真,则执行后面的语句。当语句序列只包含一条语句时,包围该语句序列的花括号可以省略。C+程序设计湖南大学 杜四春、银红霞例如:判断用户的输入,如果输入的数值大于0,则在屏幕上
13、显示“正数”。#includevoid main()int a;cina;if(a0)cout”正数”endl;C+程序设计湖南大学 杜四春、银红霞2.空空语句句编译器必须在if条件表达式的后面找到一个作为语句结束符的分号“;”,以标志if语句的结束。这样,如果是下面的代码:if(条件表达式);/空语句做if中的语句语句;则不管条件表达式为真为假,总是接着执行分号后的语句。即相当于if语句不做任何事。C+程序设计湖南大学 杜四春、银红霞3.ifelse语句句ifelse语句的语法格式为:if(条件表达式)语句序列1;else 语句序列2;它的意义为:如果“条件表达式”的判断结果为真,则执行语句
14、序列1;如果“条件表达式”的判断结果为假,则执行语句序列2。C+程序设计湖南大学 杜四春、银红霞判断用户的输入,如果输入的数值大于0,则在屏幕上显示“正数”;否则在屏幕上显示“不是正数”。#includevoid main()int a;cina;if(a0)cout”正数”endl;else cout”不是正数”b)if(ac)max=a;else max=c;else if(bc)max=b;else max=c;C+程序设计湖南大学 杜四春、银红霞当多个ifelse语句嵌套时,在容易误解的地方可以按照语法关系加上花括号来标识逻辑关系的正确性。如上例可以改写为:if(ab)if(ac)ma
15、x=a;else max=c;else if(bc)max=b;else max=c;C+程序设计湖南大学 杜四春、银红霞3.2.2 switch语句语句switch语句是多分支的选择语句。嵌套的if语句可以处理多分支选择。但是,用switch语句更加直观。switch语句的语法格式为:switch(整数表达式)case 常量表达式1:;case 常量表达式2:;case 常量表达式n:;default:;C+程序设计湖南大学 杜四春、银红霞switch语句的执行顺序是:首先对“整数表达式”进行计算,得到一个整型常量结果,然后从上到下寻找与此结果相匹配的常量表达式所在的case语句,以此作为入
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 控制 语句
限制150内