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

1、〖第14题〗35) 已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。 char a='a'; a--; printf(”%d,%c\n”,a+'2'-'0',a+'3'-'0');

A
 b,c
B
 a--运算不合法,故有语法错
C
 98,c
D
 格式描述和输出项不匹配,输出无定值

答案解析

正确答案:C

解析:

这是一道关于 C 语言字符运算、ASCII 码以及 `printf` 格式化输出的经典题目。以下是详细解析: ### 1. 代码逐步分析 **第一步:变量初始化与自减运算** ```c char a = 'a'; a--; ``` * 已知 `'a'` 的 ASCII 十进制代码为 **97**。 * 执行 `a--` 后,`a` 的值变为 $97 - 1 = 96$。 * 在 ASCII 码表中,96 对应的字符是 **`` ` ``** (反引号),但在本题中我们主要关注其数值 **96**。 **第二步:分析 `printf` 中的表达式** 语句为:`printf("%d,%c\n", a+'2'-'0', a+'3'-'0');` 我们需要分别计算两个输出项的值。注意:在 C 语言中,字符常量(如 `'2'`)参与运算时,使用的是其 ASCII 码值。 * `'0'` 的 ASCII 码是 48 * `'2'` 的 ASCII 码是 50 * `'3'` 的 ASCII 码是 51 * 当前 `a` 的数值是 96 **计算第一个参数(对应 `%d`):** 表达式:`a + '2' - '0'` $$ 96 + 50 - 48 = 96 + 2 = 98 $$ * 格式控制符是 `%d`,表示以**十进制整数**形式输出。 * 所以,第一部分输出结果为 **98**。 **计算第二个参数(对应 `%c`):** 表达式:`a + '3' - '0'` $$ 96 + 51 - 48 = 96 + 3 = 99 $$ * 格式控制符是 `%c`,表示以**字符**形式输出。 * 我们需要找到 ASCII 码为 **99** 的字符。 * 已知 `'a'` 是 97,则 `'b'` 是 98,**`'c'` 是 99**。 * 所以,第二部分输出结果为字符 **c**。 ### 2. 综合输出结果 将两部分结果结合,中间用逗号分隔: `98,c` ### 3. 选项分析 * **A. b,c**:错误。第一个输出项用了 `%d`,应该输出整数 98,而不是字符 'b'。如果格式符是 `%c`,才会输出 'b'。 * **B. a--运算不合法...**:错误。`char` 类型本质上是小整数,完全支持自增自减运算。 * **C. 98,c**:**正确**。符合上述推导。 * **D. 格式描述和输出项不匹配...**:错误。`%d` 匹配整型表达式,`%c` 匹配整型表达式(解释为字符),类型匹配合法。 ### 结论 最终输出结果为 `98,c`,故正确答案是 **C**。
题目纠错
c语言选择判断题库

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

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