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

1、已知字母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. 变量初始化与运算 * **初始状态**:`char a = 'a';` * 题目已知 `'a'` 的 ASCII 十进制代码为 **97**。 * 此时,变量 `a` 的值为 97。 * **执行运算**:`a--;` * 这是自减运算,`a` 的值变为 $97 - 1 = 96$。 * ASCII 码中,96 对应的字符是 `` ` `` (反引号),但在本题中我们主要关注其数值参与后续计算。 ### 2. 分析 `printf` 中的表达式 `printf` 语句为:`printf("%d,%c\n", a+'2'-'0', a+'3'-'0');` 我们需要分别计算两个输出项的值。注意:在 C 语言中,字符常量(如 `'2'`, `'0'`)参与算术运算时,使用的是它们的 **ASCII 码值**。 * `'0'` 的 ASCII 码是 **48** * `'2'` 的 ASCII 码是 **50** * `'3'` 的 ASCII 码是 **51** #### 第一个输出项:`a + '2' - '0'` * **数值计算**: $$96 + 50 - 48 = 98$$ * **格式控制**:`%d` * `%d` 表示以**十进制整数**形式输出。 * 因此,第一个输出结果为 **98**。 #### 第二个输出项:`a + '3' - '0'` * **数值计算**: $$96 + 51 - 48 = 99$$ * **格式控制**:`%c` * `%c` 表示以**字符**形式输出。 * 我们需要找到 ASCII 码为 **99** 对应的字符。 * 已知 `'a'` 是 97,则 `'b'` 是 98,**`'c'` 是 99**。 * 因此,第二个输出结果为字符 **c**。 ### 3. 综合输出结果 将两个结果结合,中间用逗号分隔,最终输出为: `98,c` ### 4. 选项分析 * A. `b,c`:错误。第一个项用了 `%d`,应输出数字而非字符。 * B. `a--运算不合法...`:错误。`char` 类型可以进行自减运算。 * C. `98,c`:**正确**。符合上述推导。 * D. `格式描述和输出项不匹配...`:错误。`int` 类型可以匹配 `%d` 和 `%c`(只要数值在 char 范围内),这里计算结果均为合法整数,匹配无误。 ### 结论 正确答案是 **C**。
题目纠错
c语言选择判断题库

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

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