AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、执行下列语句后,a和b的值分别为()。 int a,b; a=1+'a'; b=2+7%-4-'A';

A
 -63,-64
B
 98,-60
C
 1,-60
D
 79,78

答案解析

正确答案:B

解析:

这道题主要考察 C/C++ 语言中字符常量与整数的运算、ASCII 码值以及运算符优先级和结合性的知识。 ### 1. 基础知识准备 在 ASCII 编码表中: - 字符 `'a'` 的十进制值为 **97**。 - 字符 `'A'` 的十进制值为 **65**。 ### 2. 逐步推导 **第一步:计算 `a` 的值** 语句:`a = 1 + 'a';` 1. 将字符 `'a'` 转换为其对应的 ASCII 整数值:97。 2. 执行加法运算:$1 + 97 = 98$。 3. 赋值给 `a`,所以 **`a = 98`**。 **第二步:计算 `b` 的值** 语句:`b = 2 + 7 % -4 - 'A';` 这里涉及三个运算符:`+`(加法)、`%`(取模/求余)、`-`(减法)。 根据 C/C++ 运算符优先级: - `%`(取模)的优先级高于 `+` 和 `-`。 - `+` 和 `-` 优先级相同,结合性为从左到右。 因此,表达式的计算顺序如下: 1. **先计算取模运算 `7 % -4`**: - 在 C/C++ 中,取模运算结果的符号与被除数(左操作数)相同。 - $7 \div (-4) = -1$ ... 余 $3$。 - 或者理解为:$7 = (-4) \times (-1) + 3$。 - 所以,`7 % -4` 的结果是 **3**。 - *注意:有些初学者可能会误以为结果是 -3 或 -1,但在 C 语言标准中,`a % b` 的结果符号同 `a`。即 $7 \% -4 = 3$。* 2. **代入原表达式**: - 原式变为:`b = 2 + 3 - 'A';` 3. **从左到右计算加减法**: - 先算 `2 + 3`,结果为 **5**。 - 再算 `5 - 'A'`。 - 将 `'A'` 转换为 ASCII 值 65。 - 计算 $5 - 65 = -60$。 - 赋值给 `b`,所以 **`b = -60`**。 ### 3. 最终结果 - `a` 的值为 **98** - `b` 的值为 **-60** 对比选项: A. -63, -64 B. 98, -60 C. 1, -60 D. 79, 78 故正确答案为 **B**。
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码