第5练 2.6 算术运算符、自增自减运算符、赋值运算符 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 7页
| 48人阅读
| 0人下载

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第5练,内容是2.6 算术运算符、自增自减运算符、赋值运算符。 《C语言》(第五版)一课一练 第5练 2.6 算术运算符、自增自减运算符、赋值运算符 一、单选题 1. 在C语言中,求余运算符%的两个操作数必须是( ) A. 浮点型数据 B. 字符型数据 C. 整型数据 D. 任意类型数据 【答案】C 【解析】求余运算符%要求两个操作数都是整型数据,结果为两数相除后的余数。A错,浮点型数据不能使用%运算符;B错,字符型虽然本质上是整数,但直接使用%运算不符合规范;D错,并非任意类型都能使用%运算符。 2. 设有 int a=3; 执行 a++; 后,a的值是( ) A. 2(减1后的值) B. 3(值不变) C. 5(加2后的值) D. 4(加1后的值) 【答案】D 【解析】a++是自增运算,使变量a的值增加1,执行后a从3变为4。A中2是a--的结果;B中3是a自增前的值,自增后值已改变;C中5不是a++的结果,自增运算每次加1而非加2。 3. 设有 int x=5, y; 执行 y=x++; 后,x和y的值分别是( ) A. x=5, y=5 B. x=6, y=5 C. x=6, y=6 D. x=5, y=6 【答案】B 【解析】x++是后缀自增,先使用x的当前值5赋给y,然后x自增为6,所以x=6, y=5。A错在x应自增为6;C错在后缀自增先使用原值,y应为5而非6;D错在x应自增为6,同时y应取原值5。 4. 设有 int a=3, b=4, c; 执行 c=a+++b; 后,c的值是( ) A. 7((a++)+b的结果) B. 8(a+(++b)的结果) C. 6(a+(++b)的另一种理解) D. 3((a++)+b中a未自增前的值) 【答案】A 【解析】C语言编译器按照贪心法解析,a+++b被解析为(a++)+b。a++是后缀自增,先使用a的当前值3参与加法运算,3+4=7赋给c,然后a自增为4。B错在++b不是对b自增;C和D计算结果不正确。 5. 以下关于赋值运算符的说法中,正确的是( ) A. 赋值运算符的结合性是从左到右 B. 赋值运算符的优先级高于算术运算符 C. 赋值运算符的结合性是从右到左 D. 赋值号左边可以出现常量表达式 【答案】C 【解析】赋值运算符的结合性是从右到左,例如a=b=c先计算b=c再赋给a。A错,从左到右是算术运算符的结合方向;B错,赋值运算符优先级很低,低于算术运算符;D错,赋值号左边必须是变量(左值),不能是常量表达式。 6. 设有 int a=5; 执行 a+=3; 后,a的值是( ) A. 3(赋值为3) B. 5(值不变) C. 8(5+3的结果) D. 15(5*3的结果) 【答案】C 【解析】a+=3等价于a=a+3,即5+3=8,a变为8。A错,a+=3不是赋值为3;B错,a+=3会使a的值改变;D错,a+=3是加法而非乘法,a*=3才等于15。 7. 算术运算符*、/、%的优先级关系是( ) A. *优先级最高,/其次,%最低 B. 三者优先级相同,均高于+和- C. /和%优先级相同,高于* D. 三者优先级各不相同 【答案】B 【解析】*、/、%三个运算符优先级相同,都高于+和-。同级运算符按从左到右的顺序结合。A、C、D均错,这三个运算符的优先级是相同的,不存在谁高谁低的区别。 8. 设有 int x=3, y=4; 执行 x*=y+1; 后,x的值是( ) A. 15(x*(y+1)=3*5的正确结果) B. 13(x*(y+1)误算为3*4+1) C. 16(4*(y+1)的错误结果) D. 12(x*y=3*4的结果) 【答案】A 【解析】x*=y+1等价于x=x*(y+1)。先计算y+1=4+1=5,再计算x*5=3*5=15,x变为15。注意复合赋值运算符右边的表达式y+1作为整体参与运算,相当于x=x*(y+1)而非x=x*y+1(后者结果为13)。 9. 以下表达式中,与 x=x+1 不等价的是( ) A. x++(后缀自增表达式) B. ++x(前缀自增表达式) C. x+=1(复合赋值表达式) D. x=+1(正数1赋值给x) 【答案】D 【解析】x=+1是将正数1赋值给x,等价于x=1,与x=x+1不等价。A中x++作为独立语句执行后x增加1,效果与x=x+1相同(虽然表达式的值不同);B中++x作为独立语句效果与x=x+1相同;C中x+=1严格等价于x=x+1。 10. 设有 int a=10; 依次执行 a-=3; a*=2; a+=5; 后,a的值是( ) A. 19(10-3=7,7*2=14,14+5=19) B. 22(计算顺序错误的结果) C. 15(部分运算的结果) D. 17(某一步骤的中间值) 【答案】A 【解析】依次执行:a-=3即a=10-3=7;a*=2即a=7*2=14;a+=5即a=14+5=19。每一步都用上一步的结果作为基础,顺序执行不能颠倒。B、C、D均未按正确的顺序计算。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第5练,内容是2.6 算术运算符、自增自减运算符、赋值运算符。 《C语言》(第五版)一课一练 第5练 2.6 算术运算符、自增自减运算符、赋值运算符 一、单选题 1. 在C语言中,求余运算符%的两个操作数必须是( ) A. 浮点型数据 B. 字符型数据 C. 整型数据 D. 任意类型数据 2. 设有 int a=3; 执行 a++; 后,a的值是( ) A. 2(减1后的值) B. 3(值不变) C. 5(加2后的值) D. 4(加1后的值) 3. 设有 int x=5, y; 执行 y=x++; 后,x和y的值分别是( ) A. x=5, y=5 B. x=6, y=5 C. x=6, y=6 D. x=5, y=6 4. 设有 int a=3, b=4, c; 执行 c=a+++b; 后,c的值是( ) A. 7((a++)+b的结果) B. 8(a+(++b)的结果) C. 6(a+(++b)的另一种理解) D. 3((a++)+b中a未自增前的值) 5. 以下关于赋值运算符的说法中,正确的是( ) A. 赋值运算符的结合性是从左到右 B. 赋值运算符的优先级高于算术运算符 C. 赋值运算符的结合性是从右到左 D. 赋值号左边可以出现常量表达式 6. 设有 int a=5; 执行 a+=3; 后,a的值是( ) A. 3(赋值为3) B. 5(值不变) C. 8(5+3的结果) D. 15(5*3的结果) 7. 算术运算符*、/、%的优先级关系是( ) A. *优先级最高,/其次,%最低 B. 三者优先级相同,均高于+和- C. /和%优先级相同,高于* D. 三者优先级各不相同 8. 设有 int x=3, y=4; 执行 x*=y+1; 后,x的值是( ) A. 15(x*(y+1)=3*5的正确结果) B. 13(x*(y+1)误算为3*4+1) C. 16(4*(y+1)的错误结果) D. 12(x*y=3*4的结果) 9. 以下表达式中,与 x=x+1 不等价的是( ) A. x++(后缀自增表达式) B. ++x(前缀自增表达式) C. x+=1(复合赋值表达式) D. x=+1(正数1赋值给x) 10. 设有 int a=10; 依次执行 a-=3; a*=2; a+=5; 后,a的值是( ) A. 19(10-3=7,7*2=14,14+5=19) B. 22(计算顺序错误的结果) C. 15(部分运算的结果) D. 17(某一步骤的中间值) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第5练 2.6 算术运算符、自增自减运算符、赋值运算符 《C语言》 (第五版) 一课一练 (山东省)
1
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。