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

1、第42题 (1.0分) 题号:518 char a[]=“This is a program.”;输出前5个字符的语句是()。

A
 printf(”%.5s”,a);
B
 puts(a);
C
 printf(”%s”,a);
D
 a[5*2]=0;puts(a);

答案解析

正确答案:A

解析:

**解析:** 本题考查 C 语言中字符串的输出控制,特别是 `printf` 函数的格式说明符用法。 1. **分析题目要求**: 题目定义了一个字符数组 `char a[] = "This is a program.";`,要求输出该字符串的**前 5 个字符**。 字符串的前 5 个字符是 `'T', 'h', 'i', 's', ' '`(注意空格也算一个字符)。 2. **逐项分析选项**: * **A. `printf("%.5s", a);`** * 在 `printf` 函数中,`%s` 用于输出字符串。 * `.5` 是精度修饰符。对于字符串类型 `%s`,精度指定了**最大输出字符数**。 * `%.5s` 表示最多输出字符串的前 5 个字符。如果字符串长度不足 5,则输出全部;如果超过 5,则截断只输出前 5 个。 * 因此,该语句会输出 `"This "`,符合题目要求。**(正确)** * **B. `puts(a);`** * `puts()` 函数用于输出整个字符串,并自动在末尾添加一个换行符 `\n`。 * 它会输出 `"This is a program."` 的全部内容,而不是仅前 5 个字符。**(错误)** * **C. `printf("%s", a);`** * `%s` 没有指定精度限制,默认输出从起始地址直到遇到结束符 `\0` 为止的所有字符。 * 它会输出 `"This is a program."` 的全部内容。**(错误)** * **D. `a[5*2]=0; puts(a);`** * `a[5*2]` 即 `a[10]`。将 `a[10]` 赋值为 `0`(即 `\0`),相当于人为地在第 11 个位置截断字符串。 * 原字符串索引对应关系: * 0: 'T' * 1: 'h' * 2: 'i' * 3: 's' * 4: ' ' * 5: 'i' * 6: 's' * 7: ' ' * 8: 'a' * 9: ' ' * 10: 'p' <-- 这里被改为 '\0' * 执行后,`puts(a)` 将输出 `"This is a "`(前 10 个字符),而不是前 5 个字符。此外,这种写法修改了原数组的内容,通常不是单纯的“输出”操作的首选方式。**(错误)** **结论:** 只有选项 A 能够准确且非破坏性地输出字符串的前 5 个字符。 **正确答案:A**
题目纠错
c语言选择判断题库

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

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