2.2算术、关系与逻辑运算符 1.知识要点 数据的操作要通过运算符实现,而数据和运算符共同组成了表达式。本讲主要掌握以下的知识要点: 1.掌握算术运算、关系运算、逻辑运算等概念 2.掌握运算符的优先级、左结合和右结合规则。 3.掌握自加、自减运算的规则。 2.典型例题分析与解答 1.选择题 例题1:运算符+、一、>中,优先级最高的运算符是()。 A.十 B.= C.* D.= 答案:C 分析:根据C+语言对运算符优先级的规则,以上运算符优先级从低到高的次序为、>一、+、。 例题2:下面正确的为()。 A.412 B.3.2%3 C.3.0/2=1结果为1 D.72结果为3.5 答案:A 分析:%运算符要求式整型:关系运算值为0:两个整数相除,商为为相除后的整数部分 例题3:已知i=5,=0,下列各式中运算结果为-6的表达式是()。 A.j#(+ B.jjti+ C.j=++i+ D.j=+++i 答案:C 则牛终变量的 值加1《或减1)后,再将变量的值参与运算: +、自减运算符优先级高于算术运算符。 例题4:己知x=43,ch1squo:A&rsquo:,y=0:则表达式(xy&&ch&rsquo,B&rsquo,&&y)的值是()。 A.0 B.语法错C.1D.“假” 分析:根据C+语言中运算符优先级的高低,”!“运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换 为:1&&1&1,结果为1。 答案:C。 2.填空题 例愿5:如果s是in型变量,且s6,则下面s%2+(s+1)%2表达式的值为一· 答案:1 分析:%运算符是求余运算,得到的结果是相除后的余数。表达式转换为6%2+(6+1)%20+7%2=1。 例愿6:已知字母a的AsC吗为十进制数97.,且设ch为字符型变量,则表达式ch-&squo,a&rquo,+&rsquo,8.&squo &1squo,4&rsquo,的值】 为 答案:e 分析:C+语言中,对字符数据进行算术运算,实际上就是对字符的ASCⅡ码进行运算。以字符形式输出时,再将 ASCI码转换为相应的字符输出。本题表达式为ch=97+8-4=101,101相应的ASCI为字符e
2.2 算术、关系与逻辑运算符 1. 知识要点 数据的操作要通过运算符实现,而数据和运算符共同组成了表达式。本讲主要掌握以下的知识要点: 1.掌握算术运算、关系运算、逻辑运算等概念。 2.掌握运算符的优先级、左结合和右结合规则。 3.掌握自加、自减运算的规则。 2.典型例题分析与解答 1. 选择题 例题1:运算符+、=、*、>=中,优先级最高的运算符是( )。 A.+ B.= C.* D.>= 答案:C 分析:根据C++语言对运算符优先级的规则,以上运算符优先级从低到高的次序为=、>=、+、*。 例题2:下面正确的为( )。 A.4.1/2 B.3.2%3 C.3.0/2==1 结果为1 D.7/2 结果为3.5 答案:A 分析:%运算符要求式整型;关系运算值为0;两个整数相除,商为为相除后的整数部分。 例题3:已知i=5,j=0,下列各式中运算结果为j=6的表达式是( )。 A.j=i+(++j) B.j=j+i++ C.j=++i+j D.j=j+++i 答案:C 分析:自增++、自减运算符在变量的前面或后面,其运算结果是不同的。若++或—在变量前,则先将变量的 值加1(或减1)后,再将变量的值参与运算;反之则先将变量的值参加运算,再将变量的值加1(或减1)。自增 ++、自减运算符优先级高于算术运算符。 例题4:已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是( )。 A.0 B.语法错 C.1 D."假" 分析:根据C++语言中运算符优先级的高低,"!"运算符最高,关系运算符高于逻辑运算符。则上面的表达式转换 为:1&&1&&1,结果为1。 答案:C。 2. 填空题 例题5:如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为_。 答案:1 分析:%运算符是求余运算,得到的结果是相除后的余数。表达式转换为6%2+(6+1)%2=0+7%2=1。 例题6:已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’- ‘4’的值为_。 答案:e 分析:C++语言中,对字符数据进行算术运算,实际上就是对字符的ASCII码进行运算。以字符形式输出时,再将 ASCII码转换为相应的字符输出。本题表达式为ch=97+8-4=101,101相应的ASCII为字符e
五、算术运算与关系运算 1、判断:取余运算符(%)两侧的操作数必须为整数 答案:对 2、判断:除法运算符()两侧的操作数必须为整数 答案:错 3、填空:表达式10%4的运算结果是【1】 答案:2 4、填空:表达式5/2的运算结果是【1】 答案:2 5、填空:如果s是it型变量,且s=6,则下面s%2+(s+1)%2表达式的值为【1】 答案:1 6、填空:若有定义语句"inta=1,b=2;",则表达式(+ab)b-的值为【1】. 答案:2 7、填空:若有定义语句"inta=1,b=2;",则表达式a++-b的值为【1】. 答案:2 8、单选:设a=3,b=4,则执行b=(+a)+b:后a的值为(). A.1 B. D.4 答案:D 9、单选:设a=3,b=4,则执行b=(+a)+b:后b的值为() A.8 B. 0. 3 D.4 答案:A 10、单选:设a=3,b=4,则执行b=(a+)+b:后a的值为() A.1 B. 4 3 D.7 答案:B 11、单选:设a=3,b=4,则执行b=(a+)+b:后b的值为(), D.4 答案:C 12、单选:已知i=5,j=0,下列各式中运算结果为j=6的表达式是() A.j=i+j B.J=i+ isttiti D.j=j+++i 答案:C 13、判断:任何字符常量与一个任意大小的整型数进行加减都是有意义的. 答案:错 14、单选:下面正确的为(). A.4.1/2 B.3.2%3 C.3/2=1结果为1 D.72结果为3.5
五、算术运算与关系运算 1、判断:取余运算符(%)两侧的操作数必须为整数. 答案:对 2、判断:除法运算符(/)两侧的操作数必须为整数. 答案:错 3、填空:表达式10%4的运算结果是【1】. 答案:2 4、填空:表达式5/2的运算结果是【1】. 答案:2 5、填空:如果s是int型变量,且s=6,则下面s%2+(s+1)%2表达式的值为【1】. 答案:1 6、填空:若有定义语句"int a=1, b=2;",则表达式(++a/b)* b-的值为【1】. 答案:2 7、填空:若有定义语句"int a=1, b=2;",则表达式a++ + -b的值为【1】. 答案:2 8、单选:设a=3,b=4,则执行b=(++a)+b;后a的值为( ). A. 1 B. 3 C. 7 D. 4 答案:D 9、单选:设a=3,b=4,则执行b=(++a)+b;后b的值为( ). A. 8 B. 7 C. 3 D. 4 答案:A 10、单选:设a=3,b=4,则执行b=(a++)+b;后a的值为( ). A. 1 B. 4 C. 3 D. 7 答案:B 11、单选:设a=3,b=4,则执行b=(a++)+b;后b的值为( ). A. 1 B. 3 C. 7 D. 4 答案:C 12、单选:已知i=5,j=0,下列各式中运算结果为j=6的表达式是( ). A. j=i+j B. j=i++ C. j=++i+j D. j=j+++i 答案:C 13、判断:任何字符常量与一个任意大小的整型数进行加减都是有意义的. 答案:错 14、单选:下面正确的为( ). A. 4.1/2 B. 3.2%3 C. 3/2==1结果为1 D. 7/2 结果为3.5
答案:A 15、单选:判断整型变量a为偶数的表达式可以写成(), A.a/2=0 B.a%2==0 a/2!=0 D.a%2!=0 答案:B 16、单选:判断整型变量a为奇数的表达式可以写成(). A.a/2==0 B.a%2=0 a/2!=0 D.a%2!=0 答案:D 六、逻辑运算 1、判断:逻辑与运算(&&)的优先级别高于逻辑非运算(!) 答案:错 2、判断:逻辑与运算(&)具有短路效果,即当左侧的表达式值为0时,不再计算右侧的表达式, 运算结果为0. 答案:对 3、填空:若有定义语句"inta=10,b=11,c=12;",则表达式(a+b)<c&&b=c的值是【1】, 答案:0 4、单选:已知x=43,ch=A',y=0;则表达式(x>=y&&ch<B'&&y)的值是(). A.0 B.语法错 C.1 D.假 答案:C 5、单选:表示变量a既能被3整除又能被5整除的表达式为(), A.a%3&a%5 B. a%3=0la%5=0 C.a%3=0&&a%5=0 D.a%3a%5 答案:C
答案:A 15、单选:判断整型变量a为偶数的表达式可以写成( ). A. a/2==0 B. a%2==0 C. a/2!=0 D. a%2!=0 答案:B 16、单选:判断整型变量a为奇数的表达式可以写成( ). A. a/2==0 B. a%2==0 C. a/2!=0 D. a%2!=0 答案:D 六、逻辑运算 1、判断:逻辑与运算(&&)的优先级别高于逻辑非运算(!). 答案:错 2、判断:逻辑与运算(&&)具有短路效果,即当左侧的表达式值为0时,不再计算右侧的表达式, 运算结果为0. 答案:对 3、填空:若有定义语句"int a=10, b=11, c=12;",则表达式(a+b)<c && b== c的值是【1】. 答案:0 4、单选:已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是( ). A. 0 B. 语法错 C. 1 D. 假 答案:C 5、单选:表示变量a既能被3整除又能被5整除的表达式为( ). A. a%3&&a%5 B. a%3==0||a%5==0 C. a%3==0&&a%5==0 D. a%3||a%5 答案:C