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

1、第225题 (1.0分) 题号:129 若k,g均为int型变量,则下列语句的输出为()。 k=017; g=111; printf(”%d\t”,++k); printf(”%x\n”,g++);

A
 15 6f
B
 16 70
C
 15 71
D
 16 6f

答案解析

正确答案:D

解析:

这道题主要考察 C 语言中**八进制常量的表示**、**自增运算符的前缀与后缀区别**以及**printf 格式化输出**的知识。 以下是详细解析: ### 1. 变量初始化分析 * `k = 017;` * 在 C 语言中,以 `0` 开头的整数常量表示**八进制**。 * 八进制数 `017` 转换为十进制:$1 \times 8^1 + 7 \times 8^0 = 8 + 7 = 15$。 * 所以,此时 `k` 的值为 **15**。 * `g = 111;` * 这是一个普通的十进制整数。 * 所以,此时 `g` 的值为 **111**。 ### 2. 第一条输出语句分析 ```c printf("%d\t", ++k); ``` * **`++k`(前缀自增)**:先将 `k` 的值加 1,然后再使用 `k` 的新值。 * `k` 原值为 15,执行 `++k` 后,`k` 变为 **16**。 * 表达式的值为 16。 * **`%d`**:以**十进制**有符号整数形式输出。 * 因此,第一部分输出为 **16**。 * `\t` 是制表符,用于间隔。 ### 3. 第二条输出语句分析 ```c printf("%x\n", g++); ``` * **`g++`(后缀自增)**:先使用 `g` 当前的值作为表达式的值,然后再将 `g` 的值加 1。 * `g` 原值为 111。 * 表达式 `g++` 的值为 **111**(用于本次 printf 输出)。 * 输出完成后,`g` 的值才会变为 112(但这不影响本次输出结果)。 * **`%x`**:以**十六进制**小写形式输出无符号整数。 * 需要将十进制的 **111** 转换为十六进制。 * 计算过程: * $111 \div 16 = 6 \dots 15$ * 商为 6,余数为 15。 * 在十六进制中,15 对应字符 **f**。 * 所以,$111_{10} = 6f_{16}$。 * 因此,第二部分输出为 **6f**。 ### 4. 综合结果 * 第一个 `printf` 输出:`16` * 第二个 `printf` 输出:`6f` * 中间由 `\t` 分隔,最终显示效果为:`16 6f` 对比选项: A. 15 6f B. 16 70 C. 15 71 D. 16 6f 故正确答案为 **D**。
题目纠错
c语言选择判断题库

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

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