专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)

2025-10-09
| 42页
| 79人阅读
| 2人下载
精品

内容正文:

专题2:运算符与表达式 《编程语言基础—C语言》课程 专题复习讲练测 掌握国家标准《机械制图》中有关图幅、比例、字体图线等基本规定。 考纲要求 一 掌握C语言中的各种运算符的功能及其使用要求 掌握C语言各种运算符的优先级和结合律 掌握C语言表达式的实际计算 知识点梳理 二 知识点梳理 二 1、算术运算符 (1)C语言程序由若干条语句组成,每条语句由变量、运算符、表达式、函数调用和控制语句等构成。 (2)C语句的运算符十分的丰富,所包含的内容广泛。表达式是由运算对象(包括常量、函数、变量)和运算符按照一定规则连接起来的有意义的式子。表达式中可以包括运算符、常量、变量、函数调用等。 知识点梳理 二 1、算术运算符 知识点梳理 二 1、算术运算符 (3)说明 ①模除运算是两个整数相除后取余数;要求 % 两边必须是整型数据。 ②若算术运算符的除号两边均为整数,则结果仍为整数。 例:7 / 3 = 2 1 / 2 = 0 ③若参加运算的两个数中有一个数为实数,则结果为double型。 ④每个运算符都有一个优先级。如乘除的优先级高于加减。 ⑤( )可改变运算次序。 ⑥若在一个运算符对象两侧的运算符的优先级相同,则按规定的“结合方向”处理。 知识点梳理 二 2、赋值、逗号运算符 (1)赋值运算符 赋值运算符为“=”,右结合性。 (2)逗号运算符 ①逗号运算符将两个表达式连接起来。其优先级15,最低,自左至右,顺序求值。 ②格式:表达式1,表达式2,……,表达式n ③功能:先求解表达式1,再求解表达式2。整个逗号表达式的值为表达式n的值。 知识点梳理 二 2、赋值、逗号运算符 知识点梳理 二 3、自增、自减运算符 (1)自增、自减运算符为“右结合性”,优先级为2。 (2)作用:自增(++)自减(- -)运算符的作用是使变量的值“加1”或“减1”。 (3)例如:int k=10; 执行语句“k=k+1;”后,变量k的值增1,即为11。也可用语句“k++;”代替,即“k++;”与“k=k+1;”等价。同样,“k- -;”与“k=k-1;”等价。 (4)注意 ①“++i,--i” “在使用i之前,先使i的值加(减)1 ” ②“i++,i--” “在使用i之后,使i的值加(减)1” 例:“a=++k”与“a=k++ ” 知识点梳理 二 3、自增、自减运算符 (5)i+++j 如何理解? C编译系统在处理时尽可能多的(自左而右)将若干个字符组成一个运算符(C在处理标识符和关键字时也按同一原则处理),如i+++j,将解释为(i++)+j。 (6)自增自减只能用于变量,而不能用于常量/表达式。 如:5++;(a+b)++ 均为非法! 知识点梳理 二 4、位运算 (1)概述 位运算符是指对操作数以二进制位(bit)为单位进行的数据处理,每一个二进制位只能存放一位二进制数“0”或者“1”,因此位运算对象是一个二进制数位的集合 (2)按位与运算符(&) 参与运算的两个数据,按二进制位进行“与”运算。即: 例:3&5值为1 0&0=0 0&1=0 1&0=0 1&1=1 若参与&运算的是负数,(如-3&-5),则以补码形式表示为二进制数。 知识点梳理 二 4、位运算 (3)按位或运算符(|) 参与运算的两个数据,按二进制位进行“或”运算。即: (4)按位异或运算符(^) 异或运算符的规则是,若参加运算的两个二进制位同号,则结果为0(假),异号则为1(真)。即: 例1:060 | 017 例2:071 ^ 052 0|0=0 0|1=1 1|0=1 1|1=1 0^0=0 0^1=1 1^0=1 1^1=0 在C语言中,任意数与0相异或(^),保留其原值。 知识点梳理 二 4、位运算 (5)按位取反运算符(~) 取反运算符是一个单目(元)运算符,用来对一个二进制数按位取反。即:0变1,将1变0。 例:~025(对八进制数25按位取反) 025 =(00010101)2 ①所有十进制正整数的按位取反是其本身+1的负数。“~x=-(x+1)” ②所有十进制负整数的按位取反是其本身+1的绝对值。“~(-x)=|x+1|” 知识点梳理 二 4、位运算 (6)按位左移运算符(<<) ①作用:用来将一个数的各二进制位全部左移若干位。 ②例如:a=a<<2(将a的二进制数左移2位,右补0。设a=15,即:0000 1111 ,左移2位得:0011 1100,得到十进制数:60) a的值 a的二进制形式 a<<1 a<<2 64 0100 0000 1000 0000 0000 0000 127 0111 1111 1111 1110 1111 1100 高位左移后溢出,即:舍弃 知识点梳理 二 4、位运算 (7)按位右移运算符(>>) ①a>>2表示将a的各二进制位右移2位,移到右端的低位被舍弃。对于无符号数,高位补0。 ②例如:a=017,对应的二进制数为0000 1111 a>>2为0000 0011(11) 此2位舍弃 ③正数右移:右移n位,低位去掉n个0,高位补个0。( Microsoft Visual C++编译器采用“逻辑右移”,所以高位补0) ④负数右移:采用该负数的补码进行右移,右移n位,低位去掉n位,高位补入n个1,但最后结果为负数的补码,应将其转换成原码(减一取反逆推),注意逆推时应保留其符号位不变。 知识点梳理 二 5、关系与逻辑运算 (1)关系运算符 关系运算符的优先级低于算术运算符,高于赋值运算符 知识点梳理 二 5、关系与逻辑运算 (2)关系表达式 ①用关系运算符将两个表达式(可以是算数表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。 ②当相同级别的关系运算符同时出现时,从左至右进行运算。 ③关系表达式的值是一个逻辑值,即“真”和“假”,在C语言的逻辑运算中,以“1”代表“真”,以“0”代表“假”。 知识点梳理 二 5、关系与逻辑运算 (3)逻辑运算符 “&&”和“||”是双目运算符,要有两个运算量(操作数),例:(a>b)||(x>y);“!”是单目运算符,只要求有一个运算量,如:!(a>b) 运算符 含义 优先级 结合方向 BASIC和Pascal语言 ! 逻辑非 2 自右至左(单目) 相当于其他语言中的NOT && 逻辑与 11 自左至右 相当于其他语言中的AND || 逻辑或 12 自左至右 相当于其他语言中的OR 知识点梳理 二 5、关系与逻辑运算 (3)逻辑运算符 a&&b 当a,b均为真,则“a&&b”值为真,否则为假。 a||b 当a,b均为假,则“a||b”值为假,否则为真。 !a 当a为真,则“!a”值为假,否则为真。 【非运算符】>【算数运算符】>【关系运算符】>【&&和||运算符】>【赋值运算符】 知识点梳理 二 5、关系与逻辑运算 (4)逻辑表达式 用逻辑运算符连接的若干个表达式组成的式子称为逻辑表达式。 x>7&&x+y!=20 等价于 (x>7)&&((x+y)!=20) 3+2&&5>4||!0 等价于 (3+2)&&(5>4)||(!0) 知识点梳理 二 6、强制类型转换运算符 (1)强制类型转换的运算符为(类型),优先级为2。 (2)格式: (类型)表达式 (3)功能:将表达式的结果类型强制转换为指定类型。 (4)举例: (int)3.14 //结果为整型3 (float)1 //结果为浮点型1.0 (float)1/2 //结果为浮点型0.5 1 /2 //结果为0 请问:float(2+5) 这种书写方式正确吗?不正确的话要怎么修改呢? 真题练讲 三 【答案】8,10 1.(2008年湖南高考真题)程序分析题。 main() {char a=55; a=~a&055; printf("%x,%o",a,a); getch();} 运行结果是__________ 。 真题练讲 三 【答案】B 2.(2011年湖南高考真题)单项选择题。已知i=3,执行j=i++后,i和j的值分别为( ) A.i=4 -2 B.i=4 j=3 C.i=3 j=3 D.i=3 j=2 真题练讲 三 【答案】10,14 3.(2012年高考真题)阅读程序,写出运行结果:____________ #include <conio.h> #include <stdio.h> main() { int a=3,b=4; a%=b+=a+=(a+b); printf("%d,%d",a,b); getch(); } 真题练讲 三 【答案】D 4.(2013年湖南高考真题)单项选择题。假设有:float a=5,b=a=5/2;则执行语句printf("%f",b)的输出结果为( ) A.7.500000 B.7 C.5.000000 D.7.000000 真题练讲 三 【答案】C 5.(2014年湖南高考真题)单项选择题。若变量a,i已正确定义,且i己正确赋值,合法的C语言语句是( ) A.a=int(i); B. a==0 C. ++i; D. a=a++=2; 真题练讲 三 【答案】B 6.(2015年高考真题)单项选择题。若有语句: int x=12,y=8,z;z=0.8+x/y;执行语句后z的值为( ) A.1.8 B.1 C.2 D.2.4 真题练讲 三 【答案】D 7.(2018年湖南高考真题)单项选择题。若“int a=12;”,执行“a/=a+8;”后,a的值是( ) A.1 B.8 C.9 D.0 真题练讲 三 【答案】C 8.(2018年湖南高考真题)单项选择题。若“int a=5,b;”,执行“b=a>>2;”后,b的值是( ) A.10 B.20 C.1 D.2 限时练习 四 1.(2020年高考真题)单项选择题。 在C语言中,用( )表示逻辑值“真”。 A. T B. F C.非零整数 D. 0 【答案】C 限时练习 四 2.(2020年湖南高考真题)单项选择题。 执行“inta=3;a+=a^2;”后,则a的值是( ) A.12 B.9 C.6 D.4 【答案】D 限时练习 四 3.(2019年湖南高考真题)单项选择题。已知“int a=1,b=2,c=3,x;"与“x=(a^b)&c;",则x的值为( ) A.0 B.1 C.2 D.3 【答案】D 限时练习 四 4.(2022年湖南高考真题)单项选择题。下列C语言表达式( )的值不等于1。 A.123/100 B.365%5 C.abs(-1) D.0||1 【答案】B 限时练习 四 5.(2021年湖南高考真题)单项选择题。若“int a=-7,b=-1;”执行“a%=b-1;”,a 的值是( ) A.-7 B.-1 C.-2 D.-3 【答案】B 限时练习 四 6.(2024年湖南高考真题)单项选择题。执行程序段"int x=061,y=016;int z=x|y;"后,z的值是( ) A.63 B.77 C.45 D.14 【答案】C 限时练习 四 7.(2024年湖南高考真题)单项选择题。执行程序段"int a=37;a+=a%=9;"后,a的值是( ) A.4 B.8 C.2 D.18 【答案】C 限时练习 四 8.(2017年湖南高考真题)单项选择题。若“int a; float b=12.2;”,则执行“a=(int)b%3;”后,a的值是( ) A.1 B.0 C.2.2 D.1.22 【答案】B 限时练习 四 9.(2025年湖南一轮联考题)执行程序段“int x=073,y=066;int z=x|y;”后,z的值是( ) A. 61 B. 62 C. 64 D. 63 【答案】D 限时练习 四 10.(2025年湖南一轮联考题)执行程序段“intx=6;x+=x%=x;”后,x的值是( ) A.36 B.1 C.0 D.12 【答案】C 内容小结 五 内容小结 五 一、算术运算符 • 用于实现加、减、乘、除、取余等基本算术运算,是数值计算的基础工具。 二、赋值、逗号运算符 • 赋值运算符:以=为核心,实现数据的赋值操作,还可结合算术运算形成复合赋值(如+=、-=等)。 • 逗号运算符:用,连接表达式,按从左到右顺序执行,最终结果为最右侧表达式的值。 三、自增、自减运算符 • 自增运算符(++):使变量值加1,分前缀(如++a,先加后用)和后缀(如a++,先用后加)形式。 • 自减运算符(--):使变量值减1,同样有前缀(--a)和后缀(a--)形式。 四、位运算 • 对数据的二进制位进行操作,包括按位与、或、异或、取反、左移、右移等运算,常用于底层硬件操作或性能优化场景。 五、关系与逻辑运算 • 关系运算符:包括>、<、>=、<=、==、!=,用于比较两个值的关系,结果为布尔值(真或假)。 • 逻辑运算符:包括&&(逻辑与)、||(逻辑或)、!(逻辑非),用于组合或取反布尔值,实现复杂逻辑判断。 六、强制类型转换运算符 • 通过(类型)的形式,将一个数据类型强制转换为另一种数据类型,例如(int)3.14可将浮点型转换为整型。 人,只要有一种信念,有所追求,什么艰苦都能忍受,什么环境也都能适应。——丁玲 $

资源预览图

专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
1
专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
2
专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
3
专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
4
专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
5
专题2:运算符与表达式(课件)-《编程语言基础—C语言》(高等教育出版社第5版)高考备考讲练测(湖南省)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。