C基础PPT课件第三章 表达式与语句

上传人:M****1 文档编号:587214976 上传时间:2024-09-05 格式:PPT 页数:22 大小:431.02KB
返回 下载 相关 举报
C基础PPT课件第三章 表达式与语句_第1页
第1页 / 共22页
C基础PPT课件第三章 表达式与语句_第2页
第2页 / 共22页
C基础PPT课件第三章 表达式与语句_第3页
第3页 / 共22页
C基础PPT课件第三章 表达式与语句_第4页
第4页 / 共22页
C基础PPT课件第三章 表达式与语句_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《C基础PPT课件第三章 表达式与语句》由会员分享,可在线阅读,更多相关《C基础PPT课件第三章 表达式与语句(22页珍藏版)》请在金锄头文库上搜索。

1、第三章 表达式与语句1-2课程内容安排课程内容安排掌握语句的概念;掌握语句的概念;了解什么是语句块;了解什么是语句块;掌握表达式的概念;掌握表达式的概念;熟悉表达式中的各种运算符;熟悉表达式中的各种运算符;掌握运算符的优先级和结合性。掌握运算符的优先级和结合性。1-3运算符运算符 表表达达式式由由操操作作数数和和运运算算符符组组成成,操操作作数数可可以以是是各各种种数数据据类类型型的的常常量量和和变变量量,而而运运算算符符必必须须是是符符合合C+语语法法规规则则的的符符号号。在在具具体体讲讲解解表表达达式式和和语语句句的的相相关关内内容容前前,读读者者需要对需要对C+所支持的各种表达式有详细的

2、理解。所支持的各种表达式有详细的理解。读者需要注意的是,不同的运算符需要指定的操作数的读者需要注意的是,不同的运算符需要指定的操作数的个数并不相同。根据运算符需要的操作数的个数,可将个数并不相同。根据运算符需要的操作数的个数,可将其分为其分为3种:种:单目运算符(一个操作数):如取址运算符(单目运算符(一个操作数):如取址运算符(&),其),其操作数只有一个变量。操作数只有一个变量。双目运算符(两个操作数):如算术运算符,每个都需双目运算符(两个操作数):如算术运算符,每个都需要两个操作数。如要两个操作数。如“1+2”,“3*4”等等。等等。三目运算符(三个操作数):在三目运算符(三个操作数)

3、:在C+中只有一个接受三中只有一个接受三个参数的运算符个参数的运算符“?:”,1-4算术运算符算术运算符 算术运算符包括加减乘除(四则运算)运算符(算术运算符包括加减乘除(四则运算)运算符(+-*/)和求模运算符(和求模运算符(%)。算术运算符是双目运算符,其操)。算术运算符是双目运算符,其操作数一般是整数和浮点数(或者是结果为整数或浮点数作数一般是整数和浮点数(或者是结果为整数或浮点数的表达式)。的表达式)。C+语言中支持的算术运算符符号、名称、语言中支持的算术运算符符号、名称、功能及其相关示例功能及其相关示例 运运 算算 符符运算符名称运算符名称功功 能能实实 例例结结 果果+加法运算符加

4、法运算符表示两个数相加表示两个数相加a+b14-减法运算符减法运算符表示两个数相减表示两个数相减a-b6*乘法运算符乘法运算符表示两个数相乘表示两个数相乘a*b40/除法运算符除法运算符表示两个数相除表示两个数相除a/b2.5%模运算符模运算符表示取模表示取模a%b21-5 自增和自减运算符自增和自减运算符 自增和自减运算符是自增和自减运算符是C语言中已包含的一类运算符,事实上语言中已包含的一类运算符,事实上其也可包含在算术运算符的范畴中。自增和自减运算符的表其也可包含在算术运算符的范畴中。自增和自减运算符的表示形式和实现的功能如下所示。示形式和实现的功能如下所示。前缀增量的一般形式为:前缀增

5、量的一般形式为:+(-);,表示使用运算,表示使用运算分量前其值加(减)分量前其值加(减)1。后缀增量的一般形式为:后缀增量的一般形式为:+(-);,表示使用运算,表示使用运算分量后其值加(减)分量后其值加(减)1。1-6赋值运算符赋值运算符 赋值运算符是赋值运算符是C+程序设计中最基本的运算符之一,利程序设计中最基本的运算符之一,利用赋值运算符可以给一个变量赋值。用赋值运算符可以给一个变量赋值。C+的赋值运算符的赋值运算符以以“=”来表示,其是一个二元运算符。其说明语句的来表示,其是一个二元运算符。其说明语句的一般形式为,一般形式为,=;其中,各部分的作用如下:其中,各部分的作用如下:表达式

6、的类型需与变量的类型一致。表达式的类型需与变量的类型一致。“=”为赋值运算符,其不同于数学上的等号。赋值运为赋值运算符,其不同于数学上的等号。赋值运算的运算规则是先计算右边表达式的值,然后将值赋给算的运算规则是先计算右边表达式的值,然后将值赋给左边的变量。左边的变量。1-7关系运算符关系运算符 关系运算符的功能是将两个运算分量进行大小比较,其关系运算符的功能是将两个运算分量进行大小比较,其运算结果类型为布尔数据类型。若关系成立,则值为运算结果类型为布尔数据类型。若关系成立,则值为true,否则为,否则为false。C+中,支持的关系运算符主要有中,支持的关系运算符主要有6种种 运运 算算 符符

7、运算符名称运算符名称功功 能能实实 例例结结 果果小于小于若若ab,结结果果为为true,否,否则为则为flase23true=小于等于小于等于若若a=b,结结果果为为true,否,否则为则为flase7大于大于若若ab,结结果果为为true,否,否则为则为flase73true=大于等于大于等于若若a=b,结结果果为为true,否,否则为则为flase3=3true=等于等于若若a=b,结结果果为为true,否,否则为则为flase7=3false!=不等于不等于若若a!=b,结结果果为为true,否,否则为则为flase7!=3true1-8C+中,一共提供了三种逻辑运算符,分别为单目运算

8、符逻中,一共提供了三种逻辑运算符,分别为单目运算符逻辑非(辑非(!)、双目运算符逻辑与()、双目运算符逻辑与(&)和逻辑或()和逻辑或(|)。这三)。这三种运算符的运算结果类型都为布尔型数据类型,其值为种运算符的运算结果类型都为布尔型数据类型,其值为true或或false。 逻辑运算符逻辑运算符 运运 算算 符符运算符名称运算符名称功功 能能实实 例例结结 果果!逻辑逻辑非非当运算分量当运算分量为为false时时,结结果果为为true当运算分量当运算分量为为true时时,结结果果为为false!0!1truefalse&逻辑逻辑与与当两个运算分量都当两个运算分量都为为true时时,结结果才果才

9、为为true0&00&11&1falsefalsetrue|逻辑逻辑或或当两个运算分量有一个当两个运算分量有一个为为true时时,结结果就果就为为true0|00|11|1falsetruetrue1-9条件运算符(条件运算符(?:)是)是C+中唯一的一个三目运算符。其语法中唯一的一个三目运算符。其语法格式如下:格式如下:expr1 ? expr2 : expr3;其含义是:如果子表达式其含义是:如果子表达式expr1的结果是的结果是true,则整个表达,则整个表达式的结果是子表达式式的结果是子表达式expr2的值;否则是子表达式的值;否则是子表达式expr3的值。例如,读者可以通过如下的表达

10、式理解条件运算符的值。例如,读者可以通过如下的表达式理解条件运算符的使用。的使用。x=ab?a:b上述表达式的含义为:如果上述表达式的含义为:如果ab成立,那么将成立,那么将a的值赋给的值赋给x;如果如果ab不成立,则将不成立,则将b的值赋给的值赋给x。这在实际程序中应用。这在实际程序中应用是比较多的。是比较多的。 条件运算符条件运算符 1-10在在C+标准中支持逗号运算符的使用,其可以使多个表标准中支持逗号运算符的使用,其可以使多个表达式写在一行上,从而大大地简化了程序,逗号表达式达式写在一行上,从而大大地简化了程序,逗号表达式的一般形式为:的一般形式为:,该表达式的使用规则如下:该表达式的

11、使用规则如下:表达式的执行顺序是:先求解表达式表达式的执行顺序是:先求解表达式1,再求解表达式,再求解表达式2,最后求解表达式,最后求解表达式n,其最终结果为表达式,其最终结果为表达式n的值。的值。逗号运算符是优先级最低的运算符,其结合性为从左到逗号运算符是优先级最低的运算符,其结合性为从左到右的。右的。 逗号运算符逗号运算符 1-11位运算符位运算符 读者知道,读者知道,C语言之所以被称为中级语言,很大程度上语言之所以被称为中级语言,很大程度上在于其支持位运算,而在于其支持位运算,而C+也继承了同样的优点。也继承了同样的优点。C+中包含了支持数据位运算的中包含了支持数据位运算的6种位运算符种

12、位运算符 运运 算算 符符运算符名称运算符名称功功 能能实实 例例结结 果果&按位与按位与表示表示a与与b按位与按位与二二进进制制1001&0101二二进进制制0001|按位或按位或表示表示a与与b按位或按位或二二进进制制1001!0101二二进进制制1101按位异或按位异或表示表示a与与b按位异或按位异或二二进进制制10010101二二进进制制1100右移位右移位表示表示a右移右移b位位二二进进制制10012二二进进制制0010左移位左移位表示表示a左移左移b位位二二进进制制10011二二进进制制0010按位取反按位取反表示表示a按位取反按位取反二二进进制制1001二二进进制制01101-1

13、2表达式表达式 表达式是由运算符和操作数组成的式子,参与计算过程的数表达式是由运算符和操作数组成的式子,参与计算过程的数值称作是操作数,而表示操作的符号称作是运算符(或运值称作是操作数,而表示操作的符号称作是运算符(或运算符)。一个表达式由一个或多个操作数,以及零或多个算符)。一个表达式由一个或多个操作数,以及零或多个运算符构成。其中,操作数包含了常量、变量、函数和其运算符构成。其中,操作数包含了常量、变量、函数和其他一些命名的标识符。他一些命名的标识符。 1-13语句语句 读者知道,表达式是由运算符和常量变量构成。而在读者知道,表达式是由运算符和常量变量构成。而在C+中,中,语句是数据处理过

14、程中的最小单位,其标志是结尾处的分语句是数据处理过程中的最小单位,其标志是结尾处的分号号“;”。读者可以认为语句由表达式和分号组成。读者可以认为语句由表达式和分号组成。 1-14小结小结 本章主要讲述本章主要讲述C+中的运算符、表达式和语句。在中的运算符、表达式和语句。在C+程序中,数程序中,数据通过运算符组合成表达式。一个表达式后面加上分号,则该据通过运算符组合成表达式。一个表达式后面加上分号,则该表达式就变成了一个语句。在运算符部分,本章着重讲解了表达式就变成了一个语句。在运算符部分,本章着重讲解了7种种运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符、运算符:算术运算符、赋值运算符

15、、关系运算符、逻辑运算符、条件运算符、逗号运算符、位运算符,在介绍这些运算符的基条件运算符、逗号运算符、位运算符,在介绍这些运算符的基本概念后,都设置了一个简单示例用以说明这些运算符在具体本概念后,都设置了一个简单示例用以说明这些运算符在具体程序中的使用,并对这些运算符的优先级和结合性进行了说明。程序中的使用,并对这些运算符的优先级和结合性进行了说明。同样地,针对不同的运算符,在表达式部分也对这些表达式做同样地,针对不同的运算符,在表达式部分也对这些表达式做了详细介绍。最后简要介绍了了详细介绍。最后简要介绍了C+中常见的几种语句。中常见的几种语句。 1-15习题习题 【题目题目25】设设int

16、 x = 10,则表达式,则表达式 x=10?20:30 的值为多少?的值为多少?【分析分析】该试题主要考查条件运算符,而条件运算符为一个三目该试题主要考查条件运算符,而条件运算符为一个三目运算符,对于其中的三个表达式的含义为:如果子表达式运算符,对于其中的三个表达式的含义为:如果子表达式1的的结果是结果是true,则整个表达式的结果是子表达式,则整个表达式的结果是子表达式2的值;否则是子的值;否则是子表达式表达式3的值。因此,该题首先判断表达式的值。因此,该题首先判断表达式1即即x=10是否成立,是否成立,此处此处x的值为的值为10,因此该表达式成立,其值为表达式,因此该表达式成立,其值为表

17、达式2的值,即的值,即20。【题目题目26】若有下面的语句若有下面的语句int x=2,y=3,z=4,m; 则在计算表达式则在计算表达式 m=(x c * 2 & b != 5 | !(1 / 2)中,中,a、b、c的定义和赋值为的定义和赋值为int a = 3, b = 4, c = 2;则表达式的值为多少?则表达式的值为多少?【分析分析】该试题涉及到了关系运算符、算术运算符、逻辑运算符等,该试题涉及到了关系运算符、算术运算符、逻辑运算符等,在表达式的运算前,读者要清楚其优先级和结合性。其中算术运算在表达式的运算前,读者要清楚其优先级和结合性。其中算术运算符的优先级最高,其次为关系运算符,

18、最后为逻辑运算符,但其中符的优先级最高,其次为关系运算符,最后为逻辑运算符,但其中非运算(非运算(!)的优先级又高于算术运算符。因此,该表达式先计算括)的优先级又高于算术运算符。因此,该表达式先计算括号,号,a+b的值为的值为7,c*2的值为的值为4,1/2的值为的值为0。因此,整个表达式的。因此,整个表达式的值为:值为:1。1-18【题目题目29】编写一个编写一个C+程序,要求从键盘上输入两个整数,程序,要求从键盘上输入两个整数,将其存入整型变量将其存入整型变量a和和b,不用第三个变量,将变量,不用第三个变量,将变量a和和b的值进行互换,并将交换前后的的值进行互换,并将交换前后的a和和b的值

19、输出。例如,的值输出。例如,输入输入a的值为的值为2,b的值为的值为5,输出结果如图,输出结果如图3.18所示。所示。1-19【题目题目30】设设int b=12,表达式,表达式b+=b-=b*b求值后求值后b的值是多少的值是多少?【分析分析】该试题同样考查算术运算和赋值运算,读者首先要考该试题同样考查算术运算和赋值运算,读者首先要考虑赋值号的结合性。在上述表达式中,复合赋值运算符的优虑赋值号的结合性。在上述表达式中,复合赋值运算符的优先级最低,而算术运算符先级最低,而算术运算符*的优先级较高。因此,得出变量的优先级较高。因此,得出变量b的值为的值为-264。【题目题目32】设设int a=4

20、,b=8,则,则+a*b的结果是多少?的结果是多少?【分析分析】该试题主要考查递增运算符和算术运算符,其中要求该试题主要考查递增运算符和算术运算符,其中要求考虑两个运算符的优先级。对于递增运算符考虑两个运算符的优先级。对于递增运算符+和乘法运算符和乘法运算符*而言,其优先级而言,其优先级+高于高于*。因此,该表达式。因此,该表达式+a*b首先将计首先将计算算+a,其值为,其值为5,从而得出整个表达式的值为,从而得出整个表达式的值为40。1-20【题目题目31】下面程序段的输出结果是多少?下面程序段的输出结果是多少?#include using namespace std;int main() int a,b; a=b=10; couta=a,b=bendl; int c=10,d; d=(c=5 * (a + b); coutc=c,d=db,ab)?a-b:b-a的值。其中,变量的值。其中,变量a和和b的初值分别为的初值分别为3和和4。 【题目题目39】编写一个编写一个C+程序,计算逗号表达式程序,计算逗号表达式(a=3,b=4,a+b)的值。的值。 【题目题目40】编写一个编写一个C+程序,计算表达式程序,计算表达式a&b,a|b,a和和ab的值,其中,变量的值,其中,变量a和和b的初值分别为的初值分别为3和和4。

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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