单选题
1、第287题 (1.0分) 题号:147 执行下列语句后,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 语言中字符常量与整数的运算、ASCII 码值以及运算符优先级和结合性的知识。
**1. 分析变量 `a` 的值:**
语句为 `a = 1 + 'a';`
* 在 C 语言中,字符常量 `'a'` 参与算术运算时,会自动转换为其对应的 ASCII 码值。
* 小写字母 `'a'` 的 ASCII 码值是 **97**。
* 因此,计算过程为:$a = 1 + 97 = 98$。
* 所以,**`a` 的值为 98**。
**2. 分析变量 `b` 的值:**
语句为 `b = 2 + 7 % -4 - 'A';`
这里涉及加法 `+`、取模 `%` 和减法 `-` 运算符。
* **优先级**:取模运算符 `%` 的优先级高于加法 `+` 和减法 `-`。
* **结合性**:加法和减法同级,从左到右结合。
**第一步:计算 `7 % -4`**
* 在 C 语言中,取模运算结果的符号与被除数(左操作数)相同。
* $7 \div (-4) = -1$ ... 余 $3$ (或者理解为 $7 = (-4) \times (-1) + 3$)。
* 所以,`7 % -4` 的结果是 **3**。
* 此时表达式变为:`b = 2 + 3 - 'A';`
**第二步:计算 `2 + 3`**
* $2 + 3 = 5$。
* 此时表达式变为:`b = 5 - 'A';`
**第三步:计算 `5 - 'A'`**
* 字符常量 `'A'` 参与运算时,转换为其 ASCII 码值。
* 大写字母 `'A'` 的 ASCII 码值是 **65**。
* 因此,计算过程为:$b = 5 - 65 = -60$。
* 所以,**`b` 的值为 -60**。
**结论:**
执行完语句后,`a` 的值为 98,`b` 的值为 -60。
对比选项:
A. -63, -64
B. 98, -60
C. 1, -60
D. 79, 78
故正确答案为 **B**。
题目纠错
c语言选择判断题库
相关题目
单选题
1、〖第12题〗641) 若有说明:int a[10];则对a数组元素的正确引用是()。
单选题
1、〖第11题〗384) 以下数据中,不正确的数值或字符常量是()。
单选题
1、〖第10题〗727) 以下read函数的调用形式中,参数类型正确的是()。
单选题
1、〖第9题〗656) 以下数组定义中不正确的是()。
单选题
1、〖第8题〗591) 设有 int x=11; 则表达式 (x++ * 1/3) 的值是()。
单选题
1、〖第7题〗737) 下列关于C语言数据文件的叙述中正确的是()。
单选题
1、〖第6题〗688) 若a=1,b=2则 a|b的值是()。
单选题
1、〖第5题〗705) 若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。
单选题
1、〖第4题〗700) 设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下
单选题
1、〖第3题〗90) 以下数据中,不正确的数值或字符常量是()。
