《算法与程序设计-C#》运算符与表达式(1)(举一反三考点练)-讲义
2025-09-02
|
10页
|
83人阅读
|
0人下载
精品
内容正文:
举一反三考点练
《算法与程序设计-C#》运算符与表达式-讲义
1. 掌握赋值运算符与复合赋值运算符
2. 掌握关系运算符与逻辑运算符
3. 掌握条件运算符与运算符优先级
知识点一 赋值运算符与复合赋值运算符
1.赋值运算符(=):
(1)基本功能:用于改变变量的值,先求出右侧表达式的结果,然后将结果赋给左侧的变量。例如,int i; i=4*(1+2);,i的值变为12。赋值表达式本身的运算结果是右侧表达式的值,结果的数据类型是左侧变量的数据类型,如int i=(int)(2.8*4);,结果为11。
(2)左值与右值:左值是赋值运算符左边的变量,右值是赋值运算符右边的可求值表达式。
2.复合赋值运算符:
(1)分类及意义:C#提供了多种复合赋值运算符,如+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(取模赋值)、<<=(左移赋值)、>>=(右移赋值)、&=(与赋值)、^=(异或赋值)、|=(或赋值)。这些运算符可以将赋值运算符与其他算术运算符写在一起,对一个给定的变量进行加、减、乘、除等操作从而改变变量的值。
(2)使用示例:a+=b等价于a=a+b,a-=b等价于a=a-b,a*=b等价于a=a*b,a/=b等价于a=a/b,a%=b等价于a=a%b,a<<=b等价于a=a<<b,a>>=b等价于a=a>>b,a&=b等价于a=a&b,a^=b等价于a=a^b,a|=b等价于a=a|b。
(填空题)复合赋值运算符是将____________与其他算术运算符结合使用的运算符。
【答案】赋值运算符
【解析】复合赋值运算符是将赋值运算符与其他算术运算符结合使用的运算符,如+=、-=、*=、/=、%=等。
【要点】考查对复合赋值运算符基本概念的理解。
1.(单项选择题)以下复合赋值运算符中,用于除法赋值的是( )
A. += B. -= C. *= D. /=
【答案】D
【解析】复合赋值运算符/=用于除法赋值,a/=b等价于a=a/b。
【要点】考查对除法赋值运算符的识别。
2.(单项选择题)以下复合赋值运算符中,用于取模赋值的是( )
A. += B. -= C. *= D. %=
【答案】D
【解析】复合赋值运算符%=用于取模赋值,a%=b等价于a=a%b。
【要点】考查对取模赋值运算符的识别。
3.(单项选择题)以下关于复合赋值运算符的使用示例,正确的是( )
A. a+=b等价于a=a+b B. a-=b等价于a=a*b
C. a*=b等价于a=a-b D. a/=b等价于a=a+b
【答案】A
【解析】复合赋值运算符a+=b等价于a=a+b,a-=b等价于a=a-b,a*=b等价于a=a*b,a/=b等价于a=a/b。
【要点】考查对复合赋值运算符使用示例的理解。
1.(判断题)赋值运算符(=)用于改变变量的值,先求出右侧表达式的结果,然后将结果赋给左侧的变量( )
【答案】√
【解析】赋值运算符(=)用于改变变量的值,它先求出右侧表达式的结果,然后将结果赋给左侧的变量。
【要点】考查对赋值运算符基本功能的判断。
2.(判断题)复合赋值运算符是将赋值运算符与其他算术运算符结合使用的运算符( )
【答案】√
【解析】复合赋值运算符是将赋值运算符与其他算术运算符结合使用的运算符,如+=、-=、*=、/=、%=等。
【要点】考查对复合赋值运算符基本概念的判断。
3.(填空题)复合赋值运算符的左值必须是____________,右值可以是表达式或变量。
【答案】变量
【解析】复合赋值运算符的左值必须是变量,右值可以是表达式或变量。
【要点】考查对复合赋值运算符左值和右值的理解。
· 赋值运算符(=):
用于改变变量值,先求右侧表达式结果,再赋给左侧变量,如i=4*(1+2),i变12。
赋值表达式结果是右侧值,类型是左侧变量类型,如int i=(int)(2.8*4),结果为11。
· 复合赋值运算符:
包括+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=等。
将赋值运算符与其他运算符结合,对变量进行操作,如a+=b等价于a=a+b。
知识点二 关系运算符与逻辑运算符
1.关系运算符:
(1)分类及意义:用于比较两个运算数,结果分为true或false。C#中的关系运算符包括<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、!=(不等于)。例如,2<3为true,2>=3为false,2==3为false,2!=3为true。
(2)使用场景:常用于条件判断语句中,根据比较结果决定程序的执行流程。
2.逻辑运算符:
(1)分类及意义:逻辑运算符的结果分为true或false。C#中的逻辑运算符包括!(逻辑非)、&&(逻辑与)、||(逻辑或)。!是单目运算符,只要求有一个运算对象;&&和||是双目运算符,要求有两个运算对象。它们的优先级由高到低依次是!、&&、||。
(2)运算规则:
&&:当且仅当两个运算对象的值都为true时运算结果为true,否则为false。
||:当且仅当两个运算对象的值都为false时运算结果为false,否则为true。
!:当运算对象的值为true时运算结果为false,当运算对象的值为false时运算结果为true。
(3)应用举例:判断某一年份year是否闰年的逻辑表达式为year%4==0 && year%100!=0 || year%400==0。其中,year%4==0表示年份能被4整除,year%100!=0表示年份不能被100整除,year%400==0表示年份能被400整除。只要满足这两个大条件中的任意一个,该年份就是闰年。
(填空题)在C#中,逻辑运算符!的优先级____________逻辑运算符&&和||。
【答案】高于
【解析】逻辑运算符的优先级从高到低依次是:!、&&、||。
【要点】考查逻辑运算符的优先级。
1.(单项选择题)在C#中,以下关于逻辑运算符的说法正确的是( )
A. &&运算符要求两个运算对象都为true时结果才为true
B. ||运算符要求两个运算对象都为false时结果才为false
C. !运算符对单个运算对象取反
D. 以上都是
【答案】D
【解析】&&运算符要求两个运算对象都为true时结果才为true;||运算符要求两个运算对象都为false时结果才为false;!运算符对单个运算对象取反。
【要点】考查逻辑运算符的运算规则。
2.(单项选择题)在C#中,以下关于关系运算符和逻辑运算符的结合性说法正确的是( )
A. 关系运算符是左结合 B. 逻辑运算符是右结合
C. 关系运算符和逻辑运算符都是左结合 D. 关系运算符和逻辑运算符都是右结合
【答案】C
【解析】关系运算符和逻辑运算符都是左结合。
【要点】考查关系运算符和逻辑运算符的结合性。
3.(单项选择题)在C#中,以下关于逻辑表达式的说法正确的是( )
A. 逻辑表达式的结果可以是任意类型 B. 逻辑表达式的结果只能是布尔类型
C. 逻辑表达式的结果可以是整数类型 D. 逻辑表达式的结果可以是浮点类型
【答案】B
【解析】逻辑表达式的结果只能是布尔类型(true或false)。
【要点】考查逻辑表达式的结果类型。
1.(判断题)在C#中,关系运算符的结果是布尔值( )
【答案】√
【解析】关系运算符的结果是布尔值(true或false)。
【要点】考查关系运算符的结果类型。
2.(判断题)在C#中,逻辑运算符!的优先级高于&&和||( )
【答案】√
【解析】逻辑运算符的优先级从高到低依次是:!、&&、||。
【要点】考查逻辑运算符的优先级。
3.(填空题)在C#中,逻辑表达式的结果只能是____________类型。
【答案】布尔
【解析】逻辑表达式的结果只能是布尔类型(true或false)。
【要点】考查逻辑表达式的结果类型。
· 关系运算符:
包括<、<=、>、>=、==、!=,用于比较两个运算数,结果为true或false,如2<3为true。
常用于条件判断语句中。
· 逻辑运算符:
包括!(逻辑非)、&&(逻辑与)、||(逻辑或),结果为true或false。
优先级:! > && > ||。
运算规则:&&要求两对象都为true结果才为true;||要求两对象都为false结果才为false;!对单对象取反。
如判断闰年:year%4==0 && year%100!=0 || year%400==0。
知识点三 条件运算符与运算符优先级
1.条件运算符:
(1)基本功能:条件运算符是一个三目运算符,需要三个操作数。使用格式为表达式1 ? 表达式2 : 表达式3。计算方式为先计算“表达式1”(表达式的结果必须为布尔值)的值,如果其值为true,则“表达式2”的值作为整个表达式的最终结果,否则“表达式3”的值作为整个表达式的值。例如,max = a>b ? a : b,若a>b,max=a,否则max=b。
(2)使用场景:常用于简单的条件判断和赋值操作,可以使代码更加简洁。
2.运算符优先级与结合性:
(1)运算符优先级:决定了表达式中运算执行的先后顺序。C#中的运算符优先级从高到低依次为:单目运算符(如++、--、!)、算术运算符(如*、/、%、+、-)、移位运算符(如<<、>>)、关系运算符(如>、>=、<、<=)、相等运算符(如==、!=)、逻辑与运算符(&&)、逻辑或运算符(||)、条件运算符(?:)、赋值运算符(如=、+=、-=等)。可以通过括号()提升运算符的优先级,括号内的运算符将被优先执行。
(2)结合性:当一个操作数两侧的运算符优先级相同时,运算符的结合性规定该操作数先与哪个操作数运算。结合性有两种:自左向右的结合方向称为左结合(如算术运算符、关系运算符、逻辑与运算符、逻辑或运算符等),自右向左的结合方向称为右结合(如单目运算符、赋值运算符、条件运算符等)。
(填空题)在C#中,逻辑与运算符(&&)的优先级____________逻辑或运算符(||)。
【答案】高于
【解析】逻辑与运算符(&&)的优先级高于逻辑或运算符(||)。
【要点】考查对运算符优先级的理解。
1.(单项选择题)在C#中,以下哪个表达式的结果是`true`( )
A. `!(3 > 5) && (4 < 5)` B. `!(3 < 5) || (4 > 5)`
C. `(3 > 5) && (4 < 5)` D. `(3 < 5) || (4 > 5)`
【答案】A
【解析】选项A中,`!(3 > 5) && (4 < 5)`的结果是`true`,因为`!(3 > 5)`为`true`,且`4 < 5`也为`true`。选项B中,`!(3 < 5) || (4 > 5)`的结果是`false`,因为`!(3 < 5)`为`false`,且`4 > 5`也为`false`。选项C中,`(3 > 5) && (4 < 5)`的结果是`false`,因为`3 > 5`为`false`。选项D中,`(3 < 5) || (4 > 5)`的结果是`true`,因为`3 < 5`为`true`。
【要点】考查对逻辑运算符和关系运算符的使用规则的理解。
2.(单项选择题)在C#中,表达式`a = b > c ? b : c`的作用是( )
A. 将b和c中的较大值赋给a B. 将b和c中的较小值赋给a
C. 将b的值赋给a D. 将c的值赋给a
【答案】A
【解析】条件运算符`b > c ? b : c`的作用是,如果`b > c`为`true`,则返回`b`的值,否则返回`c`的值。因此,该表达式的作用是将`b`和`c`中的较大值赋给`a`。
【要点】考查对条件运算符的理解。
3.(单项选择题)在C#中,以下表达式的结果是`true`的是( )
A. `(3 > 2) && (4 > 5)` B. `(3 > 2) || (4 > 5)`
C. `!(3 > 2) && (4 > 5)` D. `!(3 > 2) || (4 > 5)`
【答案】B
【解析】选项A中,`(3 > 2) && (4 > 5)`的结果是`false`,因为`4 > 5`为`false`。选项B中,`(3 > 2) || (4 > 5)`的结果是`true`,因为`3 > 2`为`true`。选项C中,`!(3 > 2) && (4 > 5)`的结果是`false`,因为`!(3 > 2)`为`false`。选项D中,`!(3 > 2) || (4 > 5)`的结果是`false`,因为`!(3 > 2)`为`false`,且`4 > 5`也为`false`。
【要点】考查对逻辑运算符和关系运算符的使用规则的理解。
1.(判断题)条件运算符是一个三目运算符,需要三个操作数( )
【答案】√
【解析】条件运算符是一个三目运算符,其格式为表达式1 ? 表达式2 : 表达式3,需要三个操作数。
【要点】考查对条件运算符基本概念的理解。
2.(判断题)在C#中,逻辑与运算符(&&)的优先级高于逻辑或运算符(||)( )
【答案】√
【解析】逻辑与运算符(&&)的优先级高于逻辑或运算符(||)。
【要点】考查对运算符优先级的理解。
3.(填空题)条件运算符的结果类型取决于____________和____________的类型。
【答案】表达式2,表达式3
【解析】条件运算符的结果类型取决于表达式2和表达式3的类型。
【要点】考查对条件运算符结果类型的理解。
· 条件运算符:
三目运算符,格式为表达式1 ? 表达式2 : 表达式3。
先计算表达式1(布尔值),为true时结果是表达式2的值,否则是表达式3的值,如max = a>b ? a : b。
· 运算符优先级与结合性:
优先级:单目运算符 > 算术运算符 > 移位运算符 > 关系运算符 > 相等运算符 > 逻辑与 > 逻辑或 > 条件运算符 > 赋值运算符。
结合性:算术、关系、逻辑与、逻辑或等运算符左结合;单目、赋值、条件运算符右结合。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。