精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句

上传人:飞*** 文档编号:46401095 上传时间:2018-06-26 格式:PPT 页数:60 大小:537KB
返回 下载 相关 举报
精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句_第1页
第1页 / 共60页
精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句_第2页
第2页 / 共60页
精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句_第3页
第3页 / 共60页
精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句_第4页
第4页 / 共60页
精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句》由会员分享,可在线阅读,更多相关《精品课程计算机程序设计VC++课件(铁道版)第二章 流程控制语句(60页珍藏版)》请在金锄头文库上搜索。

1、Visual C+程序设计第 2 章流程控制语句江苏科技江苏科技大学计算机科学大学计算机科学与与工程学院工程学院Visual C+程序设计第2章 流程控制语句2.1 操作运算语句2.2 流程控制语句VC+程序的语句按其功能可以划分为两类:操 作运算语句与流程控制语句。常见的操作运算语句有以下几种:说明语句、表 达式语句、空语句、块(复合)语句等。1、说明语句 说明语句用来说明或定义变量、函数、类型等, 变量说明语句的基本格式为: 类型 变量名;如: int a,b,c; /说明语句2.1 操作运算语句2、表达式语句 任何一个表达式后面加上一个分号(语句结束符“ ;”) 就构成了表达式语句,如赋

2、值语句由赋值表达式加分号“;”构 成,其语法格式为:变量 = 表达式;例如: a=1; b=c=a+2; /赋值语句 则 a的值为1; b的值为3; c的值为3注意: (1) “=”为赋值运算符,其左边只能是一个变量。 (2) 可以多重赋值,将一个表达式的值同时赋给多个变量。 如:变量1 = 变量2 = = 变量n = 表达式; 等价于:变量1 = 表达式;变量2 = 表达式;变量n = 表达式; 2.1 操作运算语句3、空语句空语句是指只有一个分号而没有表达式的语句。语法格 式为:; 空语句不做任何运算,只是一种形式上的语句。4、块语句(复合语句)块语句是用一对花括号 括起来的多个语句,在逻

3、辑上 它相当于一个语句。语法格式为: 语句1; 语句2; 语句n; 例如: t=a; a=b; b=t; 注意:块语句右花括号“”之后没有分号。2.1 操作运算语句Visual C+程序设计2.2 流程控制语句2.2.1 顺序结构2.2.2 选择结构2.2.3 循环结构2.2.4 循环嵌套2.2.5 break语句和continue语句2.2.6 abort( )函数和exit( )函数顺序结构按照语句在程序中的先 后次序一条一条的从上到下依次执 行。顺序结构是C+中最基本的程 序结构。图2-1表示了一个顺序结构 形式。bABa图2-1 顺序结构流程图C+程序基本的控制结构有三种:顺序结构、选

4、 择结构和循环结构。从图中可以看出它有一个入口a 点,一个出口 b点,在结构内A框 和B框都是顺序执行的处理框。2.2.1 顺序结构例2-1 从键盘输入一个三位正整数,求出各位数字,并将 其逆序逐个输出。 算法:利用整除与求模运算,将三位数中的个、十、百 位数字分离。 编程实现: #include void main( ) int n,i,j,k; cinn;i=n/100; /求百位数j=n/10%10; /求十位数k=n%10; /求个位数cout void main() int a; couta; if(a 0 ) /A行cout0); 输入的数据-5,输出结果如 何?(2)若再将B行删

5、除,分别 输入的3与-5 ,输出结果如 何?(3)怎样实现:输入正数、 零、负数,分别输出1、0 、-1?2.2.2 选择结构执行过程: 首先计算“表达式”值;如果其值为真,则执行语句1;如果其值为假,则执行语句2。条件语句 1语句 2abYN图2-3 if-else 语句流程图2、ifelse语句基本格式为: if(表达式)语句1; else 语句2;图2-3中,条件为真时执行语句1,否则执行语句2。语句 1与语句2中,一定执行且只执行其中的一条语句。2.2.2 选择结构例2-3 求方程ax2+bx+c=0的解。其中系数a,b,c由键盘输入 。#include #include void m

6、ain(void) float a,b,c,delta; cinabc; delta=b*b-4*a*c;if(delta。 (2)作为条件判断 的“表达式”可以是变 量、常量、关系表达 式、逻辑表达式、赋 值表达式等。 (3)作为内嵌语句1 或语句2,同样可以 是单句、空语句、块 语句和条件语句等。2.2.2 选择结构3、if语句的嵌套if语句或ifelse语句中 的内嵌语句又可以是if语句或 ifelse语句,这样就形成了 if语句的嵌套。当多个if语句嵌套时 ,为了防止出现二义性 ,VC+语言规定:同一 个块中,else总是与其 前面的最靠近它的未经 配对的if配对。如下列程 序段:in

7、t a=3,b=4,c=5,x=0; if(ac)”,则x的值为多少?2.2.2 选择结构例2-4 判断输入字符的种类:数字、大写字母、小写字母 、控制字符(其ASCII码值小于32)和其他字符。 (1)程序流程真假真真真假假假void main(void) char c; cin.get(c); if(ch=0 它等同于: if(ab)max=a; else max=b; 条件运算符也可以嵌套。例如,求出三个数中的最大值 ,可以表示为:max= ab?ac?a:c:bc?b:c ; 它等同于什么样的ifelse语句?2.2.2 选择结构5、switch语句 switch语句是多分支的选择语句

8、,也称开关语句,其格式 为: switch(表达式) case 常量表达式1:语句序列1;case 常量表达式2:语句序列2;case 常量表达式n:语句序列n;default: 语句序列n+1; 使用时注意: (1)switch后面的表达式,可以是常量表达式,也可以是 变量表达式;而case后面的表达式只能是常量表达式。 (2)上述表达式其类型只能是整型、字符型或枚举类型。2.2.2 选择结构switch语句的执行顺序是: (1)首先对“表达式”进行计算,得到一个确定的值。 (2)然后在case 子句寻找与此值相匹配的常量表达式。若 找到相匹配的常量,则以此作为入口,开始顺序执行入口处 后面

9、的语句序列。 语句序列中如果遇到break语句,则跳出switch语句,转而 执行switch结构后的其他语句; 如果没有遇到break语句,则顺序执行后面case子句中的语 句序列,而不管该子句的常量表达式值是否匹配。 (3)如果没有找到相匹配的常量表达式: 在有default的情况下,执行default后面的语句序列; 否则结束switch语句,转而执行switch结构后的其它语句 。2.2.2 选择结构switch语句的执行过程如图2-5所示。语句序列1 break;语句序列2 break;语句序列n break;语句序列 n+1表达式case 常量1case 常量2case 常量nde

10、fault图2-5 switch语句流程图2.2.2 选择结构例2-5 对下列程序,当输入分别为2、1、3、7时 ,输出结果是什么。 #include void main() int n; cinn; switch(n) case 1:cout void main() float s;char c; cins; switch(int(s)/10)case 10:c=A; case 9 :c=A; case 8: c=B; case 7: c=C; case 6: c=D; default:c=E; cout #include void main( void ) int ascii=32; /A

11、行 char c; cout #include void main(void) float x0,x1,a; couta; if(a1e-5); couta;s+=a;a=s/10; 循环体是 cina; s+=a; 。flaot s=0, a; for(int i=0;ia; s+=a; a=s/10;/A(1)定义变量时, s能否像a一样 不赋值? (2)能否把s和a的定义放到循环体 中?或表达式1的位置? (3)i能否从1开始循环? (4)A行能否改为“a=s/i;”?2.2.3 循环结构(1) 选用for语句。 (2) 设a (0)为平均值,i(1)为循环控制变量,每循环一次增 加2。

12、(3) 循环条件:i #include void main( void ) int i,j; cout void main( ) for(int i=1; i #include void main( ) int i,n,count=0; for(n=2;nn-1) coutn-1 。 (4)内循环结束后,只要判断 i 是否大于n-1 就能确定n是否为素 数。 (5) count为计数器。2.2.5 break语句和continue语句abort( )与exit( )都是VC+的库函数,其功能都是终止程 序的执行,使用它们要包含头文件stdlib.h。 1、abort( )函数 使用格式:abo

13、rt( ); 调用该函数时,括号内不能有参数。在执行该函数时,系 统不做结束程序前的收尾工作,直接终止程序的执行。2、exit()函数 使用格式: exit( 表达式 ); 其中,表达式的值只能是整型数,作为终止程序执行的原 因:用0表示正常退出,而用其它的值表示异常退出。执行 时,系统要做终止程序执行前的收尾工作,如关闭该程序打 开的文件,释放变量所占用的存储空间(不包括动态分配的 存储空间)等。 2.2.6 abort( )函数和exit( )函数算法: (1)若某年份是闰年,则该年份能被400整除, 或能被4整除但不能被100整除。 (2) 定义变量year为年份,变量leap为是否闰

14、年的标记。若(year%400=0)|(year%4=0 coutyear; if(year%4=0 else leap=0; if(leap) cout void main() int i,a,b,c; for (i=100;i void main() int i,n,k,s; for (i=100;i void main() int i,j,k; for (i=1;i #include void main( void ) long int f1=1, f2=1, f3; cout setw(12)f1 setw(12) f2 ; /输出前两项 for(int n=3;n=20;n+) /循

15、环语句求第3项到第20 项 f3=f1+f2;cout setw(12) f3; /输出新值f1=f2; f2=f3; /更新f1和f2,注意赋值次 序 if(n%4=0) coutn; /控制输出格式cout endl; 程序举例1、编写程序,从键盘任意输入三个整数,按由 小到大输出。2 、从键盘上输入十个实型数,求出这十个数之 和与平均值,用循环语句实现。3 、从键盘上输入一个整数n的值,按下式求出 y的值,并输出n和y的值。y=1!+2!+3!+ +n!4 、设计一个程序,求出100到1000之间的所有 素数。练习题5 、设计一个程序,输入一个任意整数(1至4位 ),求出各位数字之和,并统计出位数。6 、找出1-999之间全部同构数。同构数是这样 组数:它出现在其平方数的右边。如5是25右边的数 ,25是在25右边的数,故5和25是同构数。7 、编写程序,求满足下列两个条件的最小自然 数n并将结果显示在屏幕上:n的个位数字是6;将n的个位

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

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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