计算机程序设计:第4讲 数据类型(下)

上传人:s9****2 文档编号:568888423 上传时间:2024-07-27 格式:PPT 页数:24 大小:2.42MB
返回 下载 相关 举报
计算机程序设计:第4讲 数据类型(下)_第1页
第1页 / 共24页
计算机程序设计:第4讲 数据类型(下)_第2页
第2页 / 共24页
计算机程序设计:第4讲 数据类型(下)_第3页
第3页 / 共24页
计算机程序设计:第4讲 数据类型(下)_第4页
第4页 / 共24页
计算机程序设计:第4讲 数据类型(下)_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《计算机程序设计:第4讲 数据类型(下)》由会员分享,可在线阅读,更多相关《计算机程序设计:第4讲 数据类型(下)(24页珍藏版)》请在金锄头文库上搜索。

1、1第第4 4讲讲 数据类型(下)数据类型(下) 主要内容主要内容p算术运算符与表达式算术运算符与表达式p赋值运算符和表达式赋值运算符和表达式p逻辑运算符与表达式逻辑运算符与表达式p关系运算符与表达式关系运算符与表达式参考教材第参考教材第2章章P31-42, 第第3章的章的4.6节节,和和第第4章的章的4.16.1节节 22.6 2.6 算术运算符和算术表达式算术运算符和算术表达式基本算术运算符:基本算术运算符:5 5种双目种双目,+,+,- -,* *,/ /,(求余),(求余)优先级:先乘除,后加减,括号先内后外。结合性:左至右优先级:先乘除,后加减,括号先内后外。结合性:左至右32.62.

2、6算术运算符和算术表达式算术运算符和算术表达式p自增运算符:自增运算符:+有两种形式:有两种形式:+ k+ k,k +k +;+ k+ k为前置形式为前置形式, k +, k +为后置形式为后置形式前置形式是变量先递增,后参与其他运算前置形式是变量先递增,后参与其他运算后置形式是变量先参与其他运算,后进行递增后置形式是变量先参与其他运算,后进行递增例:例:int i=3,k,j;k=+i;(int i=3,k,j;k=+i;(相当相当i=i+1,k=i);j=i+;i=i+1,k=i);j=i+;(相(相当当j=i,i=i+1;)j=i,i=i+1;)p自减运算符:自减运算符:- - - -

3、有两种形式:有两种形式:-k k,k-k-k-k为前置形式;为前置形式;k-k-为后置形式为后置形式前置形式是:变量先递减,后参与其他运算前置形式是:变量先递减,后参与其他运算后置形式是:变量先参与其他运算,后进行递减后置形式是:变量先参与其他运算,后进行递减提问:提问:int i=3,k,j;k=-i; j=i-;kint i=3,k,j;k=-i; j=i-;k和和j j是多少?是多少?42.6 2.6 算术运算符和算术表达式算术运算符和算术表达式5p注意注意(1 1)+、-只能用于变量,不能用于常量或表达式只能用于变量,不能用于常量或表达式(2 2)+、-和负号运算符的优先级别是一样的,

4、但比正号运和负号运算符的优先级别是一样的,但比正号运算符的优先级别高;结合性:算符的优先级别高;结合性:自右至左自右至左n编程素养:表达式中尽可能只出现一次递增或递减运算符62.7 赋值运算符和赋值表达式赋值运算符和赋值表达式l赋值运算符:赋值运算符:= =l赋值表达式:赋值表达式: ,含义,含义: :先计算赋值号右边先计算赋值号右边表达式的值表达式的值, ,再将结果存储左边变量中;结合性:从右向左;再将结果存储左边变量中;结合性:从右向左;类型自动向左转换类型自动向左转换l复合赋值运算符(共有复合赋值运算符(共有1010种)种) 7l赋值表达式例子 int x,y=5; x= -3+4*5-

5、6; x变量中的结果为:11 x = 3+4%5-6; x变量中的结果为:1 x= -3*4%6/5; x变量中的结果为:0 x=(7+6)%5/2; x变量中的结果为:1 y+=5; y=y+5; y变量中的结果为:102.7 赋值运算符和赋值表达式赋值运算符和赋值表达式c = c-5;b = b*c;a = a+b;x = a;等价于等价于x = a += b *= c -= 582.7 赋值运算符和赋值表达式赋值运算符和赋值表达式92.8 2.8 关系运算符和关系表达式关系运算符和关系表达式l关系运算符:关系运算符:6种种,=,= =,!=,=的优先级高于= =,!=优先级:算术运算符

6、关系运算符 赋值运算符结合性:从左至右l关系表达式:关系表达式: 由关系运算符连接的表达式,其值为“0”(假)或“1”(真)102.8 2.8 关系运算符和关系表达式关系运算符和关系表达式提问:表达式:3x6的值是多少? 为什么呢?112.9 2.9 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式l逻辑运算符: &(与),!(或),!(非)l注:!为单目运算符,优先级最高;&和!为双目运算符,&比!高;结合性为从左至右优先级lC+语言中,非零表示逻辑真,0表示逻辑假 !(逻辑非)关系运算符& 和|赋值运算符算术运算符(高)(低)几种运算符的优先级12 注意:&和 | |为“短路”运算符,所谓“短

7、路”运算符是指从左到右进行计算,只要结果能够确定,就不再进行下去2.9 2.9 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式13【例例例例】犀利哥的故事犀利哥的故事犀利哥的故事犀利哥的故事5 5 5 5:八卦疑云八卦疑云 话说犀利哥和天仙妹妹的恋情还没有正式确定,就在网络上传得沸沸扬话说犀利哥和天仙妹妹的恋情还没有正式确定,就在网络上传得沸沸扬话说犀利哥和天仙妹妹的恋情还没有正式确定,就在网络上传得沸沸扬话说犀利哥和天仙妹妹的恋情还没有正式确定,就在网络上传得沸沸扬扬。已知犀利哥的扬。已知犀利哥的扬。已知犀利哥的扬。已知犀利哥的4 4 4 4个朋友个朋友个朋友个朋友A A A A,B B B

8、B,C C C C,D D D D中有一人是中有一人是中有一人是中有一人是“八卦八卦八卦八卦”者。现在犀者。现在犀者。现在犀者。现在犀利哥质问利哥质问利哥质问利哥质问4 4 4 4人。人。人。人。4 4 4 4人回答如下:假设四个人中每人要么说真话,要么说假人回答如下:假设四个人中每人要么说真话,要么说假人回答如下:假设四个人中每人要么说真话,要么说假人回答如下:假设四个人中每人要么说真话,要么说假话。话。话。话。A A A A说:说:说:说:B B B B没有八卦,是没有八卦,是没有八卦,是没有八卦,是D D D D八卦。八卦。八卦。八卦。B B B B说:我没八卦,是说:我没八卦,是说:我

9、没八卦,是说:我没八卦,是C C C C八卦。八卦。八卦。八卦。C C C C说:说:说:说:A A A A没有八卦,是没有八卦,是没有八卦,是没有八卦,是B B B B八卦。八卦。八卦。八卦。D D D D说:我没有八卦。说:我没有八卦。说:我没有八卦。说:我没有八卦。pp犀利哥听了犀利哥听了犀利哥听了犀利哥听了4 4 4 4人回答,人回答,人回答,人回答,“晕菜了晕菜了晕菜了晕菜了”。请你根据这四个人的回答,写出能。请你根据这四个人的回答,写出能。请你根据这四个人的回答,写出能。请你根据这四个人的回答,写出能确定谁是八卦者的条件。确定谁是八卦者的条件。确定谁是八卦者的条件。确定谁是八卦者的

10、条件。pp假设用整型变量假设用整型变量假设用整型变量假设用整型变量a a a a,b b b b,c c c c,d d d d分别代表分别代表分别代表分别代表A A A A,B B B B,C C C C,D D D D四个人,且变量只取值四个人,且变量只取值四个人,且变量只取值四个人,且变量只取值为为为为0 0 0 0和和和和1 1 1 1,值为,值为,值为,值为1 1 1 1表示该人为表示该人为表示该人为表示该人为八卦者八卦者八卦者八卦者,值为,值为,值为,值为0 0 0 0表示该人没八卦。表示该人没八卦。表示该人没八卦。表示该人没八卦。pp由于四个人中只有一人是由于四个人中只有一人是由

11、于四个人中只有一人是由于四个人中只有一人是八卦者八卦者八卦者八卦者,而且不管是不是,而且不管是不是,而且不管是不是,而且不管是不是八卦者八卦者八卦者八卦者,他的回答要,他的回答要,他的回答要,他的回答要么是真话,要么是假话。么是真话,要么是假话。么是真话,要么是假话。么是真话,要么是假话。2.9 逻辑运算符和逻辑表达式逻辑运算符和逻辑表达式14数学表达式:数学表达式:数学表达式:数学表达式:b+db+d= =1 1 且且且且 b+c=1 b+c=1 且且且且 a+b=1 a+b=1 且且且且 a+b+c+d=1a+b+c+d=1C+C+表达式:表达式:表达式:表达式:b+db+d=1 & b+

12、c=1 & a+b=1 & a+b+c+d=11 & b+c=1 & a+b=1 & a+b+c+d=1注意注意注意注意: : : :“=”=”=”=”在在在在C+C+C+C+是赋值运算符;是赋值运算符;是赋值运算符;是赋值运算符;“=”=”=”=”才是才是才是才是“等于等于等于等于”运算符运算符运算符运算符pp问题:有了上述表达式,如何求解。即如何找到八卦者?问题:有了上述表达式,如何求解。即如何找到八卦者?pp方法:只需将方法:只需将a,b,c,d 4a,b,c,d 4个变量所有取值(个变量所有取值(0 0,1 1)都试探一边)都试探一边?满足条件的取值就是解。这就是后面将要学习?满足条件

13、的取值就是解。这就是后面将要学习“穷举法穷举法”Ab+d=1b+d=1Bb+c=1b+c=1Ca+b=1a+b=1Da+b+c+d=1a+b+c+d=1l l(b=1) & (d=0) / A(b=1) & (d=0) / A说真话说真话l l(b=0) & (d=1) / A(b=0) & (d=1) / A说假话说假话lb+d=1152.10 2.10 逗号运算符和逗号表达式逗号运算符和逗号表达式p优先级:优先级在所有运算符中是最低优先级:优先级在所有运算符中是最低p结合性:结合方向是从左至右结合性:结合方向是从左至右p逗号运算符的用途:逗号运算符的用途:1 1)用逗号运算符将多个表达式)

14、用逗号运算符将多个表达式“连接连接”在一起,如:在一起,如:t=at=a,a=ba=b,b=t b=t ;可以看成一个语句,表示三个表达式之间有;可以看成一个语句,表示三个表达式之间有一种密不可分的关系一种密不可分的关系2 2)用在)用在forfor语句中,置初值和步长运算中要完成多个表达语句中,置初值和步长运算中要完成多个表达式的场合式的场合 如:如:forfor(i=1i=1,sum=0sum=0,j=100j=100;i0; +i,-j)i0; +i,-j)l提问提问:int x,y,x;:int x,y,x;中的中的, ,作用作用? ?162.10 2.10 逗号运算符和逗号表达式逗号

15、运算符和逗号表达式p逗号表达式:逗号表达式:用逗号把若干独立的运算表达式结合而成的表达式p 形式:形式: ,p 逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值一直计算到表达式n的值。整个表达式的值是最后一个表达式整个表达式的值是最后一个表达式n的值的值172.11 sizeof( )运算符psizeof( )运算符是求表达式计算结果或者某种数据类型的量在内存中所占字节数18本讲小结p如何让计算按照你期望进行?能背下优先级表是凤毛麟角, 脑细胞宝贵,别用来死记硬背用括号来控制运算顺序更直观、可减少出错概率。但括号太多有时不清楚,可用空格分离先算乘除、后算加减,有括号就先算括号里的

16、实在不行就拆分表达式一般来说:单目、条件(?:)和=是右结合,其他是左结合19本讲重点提示1.复合算术运算符,自增和自减运算符2.复合赋值运算符3.逻辑运算符和关系运算符的应用20下次课的内容p面向过程编程的基本结构面向过程编程的基本结构p顺序结构程序设计顺序结构程序设计p分支程序设计分支程序设计参考教材第参考教材第3章内容章内容21第3次实验练习 【要求】本次实验练习共2道题,提交时间第6周末之前,不要写实验报告,只要提交:源程序代码和测试结果22第第2 2题:犀利哥的故事题:犀利哥的故事6 6:甄别谎言甄别谎言 话说犀利哥和天仙妹妹的恋情被八卦者贴到话说犀利哥和天仙妹妹的恋情被八卦者贴到B

17、BSBBS“一塌糊一塌糊涂涂”后,通过一翻追查。最后范围缩小后,通过一翻追查。最后范围缩小3 3个可疑者。犀利个可疑者。犀利哥找到甲,乙,丙;询问是谁灌水,哥找到甲,乙,丙;询问是谁灌水,3 3人都说没有灌水。人都说没有灌水。且甲,乙,丙三人每人说一句话如下:且甲,乙,丙三人每人说一句话如下:甲说:乙在说谎。甲说:乙在说谎。乙说:丙在说谎。乙说:丙在说谎。丙说:甲和乙都在说谎。丙说:甲和乙都在说谎。(1 1)试写出能确定谁在说谎的条件(即逻辑表达式)。)试写出能确定谁在说谎的条件(即逻辑表达式)。(2 2)犀利哥很着急,建议提前自学)犀利哥很着急,建议提前自学ifif语句,编写程序找出谁语句,

18、编写程序找出谁在说谎。在说谎。注意:如果实在不会写程序,第注意:如果实在不会写程序,第2 2问等到第问等到第4 4次练习再补作次练习再补作。第3次实验练习23选做题p某食堂管理员带1000元人民币去市场买鸡,市场价每只小鸡5元,每只公鸡10元,每只母鸡15元。该管理员打算正好买100只鸡,每种鸡的数目都要大于零,并且尽可能多买母鸡。请编程序,替他制定采购方案。p建议:提前学习循环结构程序设计,学会梳理解题算法,试试能否写出正确程序来输出正确的结果,注意代码的编写风格 24笑话一则:笑话一则:C+C+语言为什么应该改名为语言为什么应该改名为+C+Cp本讲中学过C+语言的自增、自减运算符(+、-)。其前后缀的意义是不一样的。前缀:先进行自运算,后主运算;后缀:先进行主运算,后自运算p而+作为C+语言名称的一部分,便引发了有关程序设计语言的第一个笑话。C+的反对者认为,这种语言的名称也存在着Bug,他们说:“因为只因为只有对它改进之后,我们才有可能使用它,所以它有对它改进之后,我们才有可能使用它,所以它的名字应该命名为的名字应该命名为+C+C。”

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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