第 12 届蓝桥杯 C++ 青少组中 / 高级组省赛 2021 年 4 月 24 日真题

第 3 题 单选题

题目 :已知 "int n=9;",则执行语句 "n*=n+=n%=2;" 后,n 的值为 ( )。

A. 4

B. 1

C. 8

D. 18

初始n=9。

首先执行最右边的n %=2:

n = n % 2 →9%2=1,所以n变为1,这个表达式的结果是1。

接下来执行中间的n += 前面的结果,即n += (n%=2的结果)。这里,由于n已经被修改为1,所以n +=1,即n=1+1=2,此时表达式的结果是2。

最后执行左边的n *= 前面的结果,即n *=2。此时n是2,所以2*2=4,n变为4。

因此,正确的答案应该是选项A,4。

相关推荐
两颗泡腾片2 小时前
C++提高编程学习--模板
c++·学习
你好!蒋韦杰-(烟雨平生)3 小时前
扫雷游戏C++
c++·单片机·游戏
monicaaaaan4 小时前
搜索二维矩阵Ⅱ C++
c++·线性代数·矩阵
zh_xuan5 小时前
duiLib 自定义资源目录
c++·ui
西红柿煎蛋5 小时前
C++11的可变参数模板 (Variadic Templates) 是如何工作的?如何使用递归解包一个参数包 (parameter pack)?
c++
源代码•宸5 小时前
深入浅出设计模式——创建型模式之原型模式 Prototype
c++·经验分享·设计模式·原型模式
晨曦学习日记6 小时前
Leetcode239:滑动窗口最大值,双端队列的实现!
数据结构·c++·算法
wait a minutes6 小时前
【c++】leetcode763 划分字母区间
开发语言·c++
菜还不练就废了6 小时前
7.25 C/C++蓝桥杯 |排序算法【下】
c语言·c++·排序算法
饭碗的彼岸one7 小时前
重生之我在10天内卷赢C++ - DAY 2
linux·开发语言·c++·笔记·算法·vim