程序设计基础第4章

上传人:san****019 文档编号:70881525 上传时间:2019-01-18 格式:PPT 页数:53 大小:1.37MB
返回 下载 相关 举报
程序设计基础第4章_第1页
第1页 / 共53页
程序设计基础第4章_第2页
第2页 / 共53页
程序设计基础第4章_第3页
第3页 / 共53页
程序设计基础第4章_第4页
第4页 / 共53页
程序设计基础第4章_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《程序设计基础第4章》由会员分享,可在线阅读,更多相关《程序设计基础第4章(53页珍藏版)》请在金锄头文库上搜索。

1、程序设计基础,主讲教师:崔莉莉 办公室:15号楼503 Email: 第1阶段起步入门网站: 课程论坛: 控制程序分支流程的编程,表达式 关系运算符 逻辑运算符 条件运算符 逗号运算符 语句 二路分支流程if 多路分支流程switch,学习要点:,关系运算符和表达式 关系运算符 种类:= != 结合方向:自左向右 双目运算符 优先级别 (高于赋值表达式,低于算术表达式),例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc),关系表达式的值:是逻辑值“真”或“假”,用1和0表示,例 int a=3,b=2,c=1,d; ab (ab)=c b+cb,/表达式值1,

2、/表达式值1,/表达式值0,/d=1,关系运算注意:,例 int i=1, j=7,a; a=i+(j%4!=0); 则a=,2,例 a0 结果为 A100 结果为,1,0,例:要求写出判断整数x是否为偶数的表达式 x % 2 = 0 或 x % 2 != 1,关系运算注意:,例:要求写出判断字符型变量ch的值是否为小写字母“y”的表达式。 ch = y,例:要求写出判断字符型变量ch的值是否为数字“0”的表达式 ch = 0,例 注意区分“=”与“=” int a=0,b=1; if(a=b) cout“a equal to b“; else cout“a not equal to b“;,

3、例 注意区分“=”与“=” int a=0,b=1; if(a=b) cout“a equal to b”; else cout“a not equal to b”;,赋值表达式,运行结果“a equal to b”,关系表达式“等于”,运行结果“a not equal to b”,要求:实型变量score,存放着一门课程的成绩,写出判断该成绩是否及格(即成绩不低于60)的表达式。 score = 60 要求:实型变量score,存放着一门课程的成绩,写出判断该成绩是否优秀(即成绩不低于90)的表达式。 score = 90,关系表达式书写示例1,关系表达式书写示例2,要求:实型变量score

4、1和score2分别存放一位学生的两门课程的成绩,写出判断该学生的平均成绩是否及格的表达式。 (score1 + score2)/ 2 = 60 要求:实型变量score1、score2和score3,分别存放一位学生的三门课程的成绩,写出判断总分是否超过270的表达式 score1 + score2 + score3 270,关系表达式书写示例3,要求:实型变量a、b、c存放着一元二次方程ax2+bx+c=0 的三个系数,写出判断该方程是否有实根的表达式 b * b 4 * a *c = 0 要求:写出判断整数x能被3整除的表达式 x % 3 = 0 要求:写出判断整数x不能被3整除的表达式

5、 x % 3 != 0,逻辑运算符和表达式 逻辑运算符 种类: ! & | 逻辑运算真值表,逻辑与(&):有0为0,全非零项为1 逻辑或( | ): 有非零项为1,全0为0 逻辑非( !): 取反,运算量: 0表示假,非0表示真,运算结果:0表示假,1表示真,优先级:,结合方向:,例:判断小写字母的逻辑表达式:(ch=a) 错误例:a0)&(i101) 错误例:0i101,例:判断非小写字母的逻辑表达式:(chz) | (ch9) | (ch0),例:判断小写字母的逻辑表达式:(ch=a) 例:判断非小写字母的逻辑表达式:!(ch=a),优先级:,结合方向:,例 ab&xy a=b|x=y !

6、a|ab,/ (a=x) & (x=b),/(ab)&(xy),/(a=b)|(x=y),/(!a)|(ab),在双目运算符中,算术运算符的优先级高于关系运算符,关系运算符的优先级高于逻辑运算符,且服从左结合。单目运算符!、-,处于最高级,且服从右结合。利用优先关系可省略圆括号。,优先级:,结合方向:,例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|84-!0 c&d,值为1,值为0,值为1,值为1,值为1,值为1,/(53)&2|(8(4-(!0) 值为1,优先级:,结合方向:,例:整型变量year中存放着某年的年份,写出判断该年份是否为闰年的表达式。 (年份能被

7、4整除,但不能被100整除的是闰年,年份能被400整除的也是闰年)。 year%4 = 0 & year%100 != 0 | year%400 = 0,例:要求:变量score1、score2中存放着两个成绩,用关系表达式和逻辑运算符表示以下4种情况: (1)两个成绩全都及格 可理解为:第一个成绩及格,并且第二个成绩及格 (score1 = 60)& (score2 = 60) (2)两个成绩中有及格成绩 可理解为:第一个成绩或者第二个成绩及格 (score1 = 60) | (score2 = 60) (3)第一个成绩不及格 可理解为:否定第一个成绩及格 ! (score1 = 60) (

8、4)有且仅有一门课程及格的表达式 (x1=60) & (x2=60),条件运算符与表达式 一般形式: expr1 ? expr2 : expr3 功能: 若expr1的值为非0,取expr2的值作为条件表达式的值,否则取expr3的值作为条件表达式的值。,例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a & c=z)?c-a+A:c,条件运算符可嵌套 如 x0?1:(x0?-1:0) 高于赋值运算符,结合方向:自右向左 三目运算符,例1、写出使y等于x的绝对值的表达式。 表达式是:y = x 0 ? x : -x 或 x 0 ? y = x : y = -x,例2

9、、写出把字符型变量c中的小写字母换成大写字母的表达式,其他字符保持不变。 表达式是:c = (c = a) & (c = a & c = z ? c - 32 : c,逗号运算符和表达式 逗号“,”作用:作为分隔符作为运算符 逗号表达式形式:表达式1,表达式2,表达式n 逗号运算符结合性:从左向右 逗号表达式的值:等于表达式n的值 用途:常用于循环for语句中 逗号运算符的优先级:逗号运算符的优先级比任何其他运算符都低。,赋值运算具有自动的数据类型转换功能,当“=”两边的数据类型不相同时,C+会把右边数据转换成左边变量的类型,然后再赋值。,例: #include main() int x,y=

10、7; float z=4; x=(y=y+6,y/z); cout“x= “ xendl; ,运行结果:x=3,例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; coutabc; cout(a,b,c)bc;,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,C+常用运算符的优先级和结合性,注:可以使用园括号( )改变优先级,5.1 语句,C+规定:语句以分号;为结束标志 C+语句从总体上可分成 表达式语句 空语

11、句 复合语句 控制语句,C语言语句,1、流程控制语句,完成一定的控制功能 if ( ) else (条件语句) for ( ) (循环语句) while ( ) (循环语句) do while ( ) (循环语句) continue (结束本次循环语句) break (中止执行switch语句或者循环语句) switch (多分支选择语句) goto (跳转语句) return (从函数返回语句) 说明:括号()表示条件,表示内嵌的 执行语句。,5.1.1 表达式语句,表达式语句就是:表达式加上分号 一般格式如下: 表达式; 常用的表达式语句是赋值表达式组成的赋值语句 例:total = sc

12、ore1 + socre2; 函数也是一个表达式,加上分号就成了语句 例:getch();,getche()的功能是从键盘输入一个字符,并在屏幕上显示,通常称为回显; getch()的功能也是从键盘输入一个字符,但不在屏幕上显示; 要使用这两个函数,必须使用include命令把头文件conio.h包含到程序中。,5.1.2 复合语句,复合语句是用一对花括号括起来的若干语句 一般格式如下: 语句1; 语句2; 语句n; ,从语法上看,复合语句是作为一个语法整体出现。 在编写程序时要注意,复合语句中最后一条语句后面的分号不能省略,否则会造成语法错。,如 x=a+b; y=10+abs(x); /a

13、bs(x)为求x的绝对值 coutyendl; ,5.1.3 空语句,仅有一个分号的语句称为空语句 格式如下: ; 空语句被执行时,事实上什么也不做,5.2 程序的三种基本结构,结构化程序设计 基本思想:任何程序都可以用三种基本结构表示,限制使用无条件跳转语句(goto) 结构化程序:由三种基本结构反复嵌套构成的程序。 优点:结构清晰,易读,提高程序设计质量和效率,A与B顺序操作,执行完A后,必定接着执行B。是最简单的基本结构。,1、顺序结构,也称分支结构。必包含一个判断框,根据给定条件P是否成立而选择是执行A还是B,无论P成立否,只能执行A或B之一。,2、分支结构,二分支选择结构,多分支选择

14、结构,3、循环结构 重复结构,即反复执行某一部分操作,当型循环结构 如P成立,执行A,完后再判断P,如还是成立,再执行A,如此反复,当某一次P不成立.脱离循环结构。特征:先判断后执行。,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,3、循环结构 重复结构,即反复执行某一部分操作,直到型循环结构 先执行A,再判P,不成立再执行A,再判断P,P还是不成立,再执行A,如此循环反复,直到某一次P成立脱离循环。 特征:先执行后判断。,注:A,B,A1.An可以是一个简单语句,也可以是一个基本结构,5.2.1 if语句(条件选择语句),例:if (xy) coutx;,例:if (xy)

15、 max=x; else max=y;,执行过程:,例:实现函数: #include using namespace std; int main() int num,sign; cinnum; if(num0) sign=-1; else if(num=0) sign=0; else sign=1; cout“sign(x)=“signendl; return 0; ,如:if(a=b,说明: if后面的表达式一般为逻辑表达式或关系表达工,也可以是任意数值类型表达式,语句可以是复合语句 if(x) if(x!=0) if(!x) if(x=0),例 考虑下面程序的输出结果: #include using namespace std; int main() int x,y; cinxy; if(xy) x=y; y=x; else x+; y+; coutx“,“yendl; return 0; ,Compile Error!,#include using namespace std; int ma

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

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

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