下列C语言程序运行时输入2473↙,则输出结果是( ) #include main() {int cx; while ((cx=getchar())!='\n') {switch
更新时间:2026-06-14 07:50:16 栏目: 中华词典
更新时间:2026-06-14 07:50:16 栏目: 中华词典
下列C语言程序运行时输入2473↙,则输出结果是( ) #include main() {int cx; while ((cx=getchar())!='\n') {switch(cx-'2') {case 0: case 1:putchar(cx+4); case 2:putchar(cx+4); break; case 3:putchar(cx+3); default:putchar(cx+2); } } } A. 668966 B. 668977 C. 6677877 D. 668876
好的,我们一步一步地分析这个 C 程序。
输入:2473
程序逐字符读取(getchar())直到 '\n'。
每次字符 cx 是 '2'、'4'、'7'、'3',分别处理。
对每个 cx 先计算 cx - '2'(即这个字符的数字 - 字符 '2' 的 ASCII 码)。
字符 '2':cx = '2' → cx - '2' = 0case 0: 无语句,直接进入 case 1:
执行 putchar(cx+4):'2' + 4 按 ASCII:'2' 的 ASCII 50,加 4 得 54,即字符 '6'
输出 '6'
然后因为 case 1: 后面没 break,继续执行 case 2: 的 putchar(cx+4)
再次输出 '6'。
遇到 case 2: 后面的 break 才跳出 switch。
所以 '2' 输出:66
字符 '4':cx = '4' → cx - '2' = 2case 2: 执行 putchar(cx+4):'4' + 4:'4' 的 ASCII 52,加 4 得 56,字符 '8'
输出 '8'break; 直接跳出 switch。
所以 '4' 输出:8
字符 '7':cx = '7' → cx - '2' = 5
无匹配的 case(0,1,2,3 都不匹配),执行 default 语句:putchar(cx+2)'7' + 2:'7' 的 ASCII 55,加 2 得 57,字符 '9'
输出 '9'default 执行完,switch 结束。
所以 '7' 输出:9
字符 '3':cx = '3' → cx - '2' = 1
跳到 case 1:(case 1 是匹配的),执行 putchar(cx+4):'3' + 4:'3' 的 ASCII 51,加 4 得 55,字符 '7'
输出 '7'
没有 break,进入 case 2::putchar(cx+4):又输出 '7'break; 结束 switch。
所以 '3' 输出:77
最终输出: 66 8 9 77 → 合并为 668977
B. 668977 ✅
宣布为甲类传染病的,由()决定。A.国务院 B.省级以上人民政府卫生行政主管部门 C.医疗机构
›马之于马厩,正如人之于() A.牛棚 B.马车 C.房屋 D.农场
›今年27岁属什么生肖
›资本主义工资的主要形式() A. 计时工资 B. 名义工资 C. 实际工资 D. 计件工资
›人民军队是中国特色社会主义的坚强柱石,党对人民军队的绝对领导是人民军队的建军之本,强军之魂。
›票打一成语
›阿阁的拼音_ā ge是什么意思
›【简答题】槽形板的作用是什么?
›国家标准中。A4图纸的幅面尺寸为210X297,A3的图纸的幅面尺寸为297×420。 A. 正确 B. 错误
›神舟十号的发射时间为()。 A. 2013年6月10日17时 B. 2013年6月11日12时 C. 2013年6月11日17时
›