返回 课程
信奥AC之路-1级
0% 完成
0/0 步骤
-
第1课 开发环境与基础输出5 主题|小节
-
第2课 算术运算符7 主题|小节
-
第3课 printf与运算输出7 主题|小节
-
第4课 数的进制与拆位6 主题|小节
-
第5课 变量与基础运算17 主题|小节
-
第6课 常量与取整运算8 主题|小节
-
第7课 关系运算8 主题|小节
-
第8课 逻辑运算9 主题|小节
-
第9课 输入与计算进阶10 主题|小节
-
第10课 if语句及双分支语句8 主题|小节
-
第11课 if语句及双分支进阶11 主题|小节
-
第12课 三目运算9 主题|小节
-
第13课 多分支、多if和switch语句11 主题|小节
-
第14课 循环(基本输出)7 主题|小节
-
第15课 循环(While+If)8 主题|小节
-
第16课 循环(计数、求和、求乘积)10 主题|小节
-
第17课 循环进阶(While+)8 主题|小节
-
第18课 do-while及while其他用法8 主题|小节
-
第19课 For循环基础9 主题|小节
-
第20课 For循环进阶8 主题|小节
课 进展
0% 完成
真题1
printf("Hello,GESP!");
判断:配对双引号内,不可以有汉字
A. 配对双引号内内容,不可以有汉字
B. 配对双引号内可以相互改变为英文单引号而输出效果不变
C. 配对双引号内可以相互改变为三个连续英文单引号而输出效果不变
D. 配对双引号内可以相互改变为三个连续英文双引号而输出效果不变
正确答案:A
详细解析:
-
语法规则:printf函数的字符串参数必须用双引号(“”)包围,这是C/C++的基本语法要求。
-
各选项分析:
- 选项A:错误。printf的双引号内是可以包含汉字的,C++支持Unicode字符集,可以正常输出中文字符。
- 选项B:错误。单引号和双引号在C++中有完全不同的含义:
- 双引号(“”)用于表示字符串
- 单引号(”)用于表示单个字符
因此不能互换使用。
- 选项C:错误。三个连续的单引号不是C++的有效语法。
- 选项D:错误。三个连续的双引号也不是C++的有效语法。
-
实际使用示例:
printf("你好,GESP!"); // ✓ 正确,可以包含汉字
printf('Hello,GESP!'); // × 错误,不能用单引号
printf(Hello,GESP!); // × 错误,必须用引号
真题2
C++语句 printf(“%d#%d”,2,3) 执行后的输出是什么?
A. 2#3
B. #
C. 2,3
D. 23
正确答案:A
详细解析:
-
printf格式串解析:
- “%d#%d” 是格式控制字符串
- 第一个%d会被第一个参数2替换
- #是普通字符,会原样输出
- 第二个%d会被第二个参数3替换
-
替换过程:
- “%d#%d”
→ “2#%d” (第一个%d被2替换)
→ “2#3” (第二个%d被3替换)
- “%d#%d”
-
关键点说明:
- %d是整数格式符,用于输出整数值
- 格式字符串中的非格式符字符(如这里的#)会原样输出
- 参数会按顺序替换格式字符串中的格式符
真题3
C++语句 printf(“5%2={%d}n”,5 % 2) 执行后的输出是什么?
A. 1={1}
B. 5%2={5%2}
C. 5%2={1}
D. 5 ={1}
正确答案:C
详细解析:
-
语句分解:
- 格式字符串:”5%2={%d}n”
- 参数:5 % 2 (取模运算)
- n 表示换行符
-
运算过程:
- 5 % 2 的计算:
- 5 ÷ 2 = 2 余 1
- 所以 5 % 2 = 1
- 5 % 2 的计算:
-
输出分析:
- “5%2=” 会原样输出
- {%d} 中的%d会被计算结果1替换
- 最后输出 “5%2={1}”
-
易错点:
- %在printf中有特殊含义,但这里它是作为普通字符输出的
- 如果要在printf中表示真正的百分号,需要用%%
真题4
C++语句 printf(“6%2={%d}”, 6%2) 执行后的输出是什么?
A. “6%2={6%2}”
B. 6%2={0}
C. 0={0}
D. 6%2={6}
正确答案:B
详细解析:
-
语句分析:
- 格式字符串:”6%2={%d}”
- 参数:6 % 2 (取模运算)
- {%d} 用于显示计算结果
-
运算过程:
- 6 % 2 的计算:
- 6 ÷ 2 = 3 余 0
- 所以 6 % 2 = 0
- 6 % 2 的计算:
-
输出形成过程:
- “6%2=” 部分原样输出
- {%d} 被替换为计算结果0
- 最终输出:”6%2={0}”
-
注意事项:
- % 在这里作为普通字符输出
- 格式串中的%d会被后面的参数值替换
- 大括号{}也会原样输出
-
一些相关的例子:
printf("6%%2=%d", 6%2); // 输出:6%2=0 (%%表示输出%)
printf("%d", 6%2); // 输出:0 (仅输出结果)
printf("6%2=%d", 6%2); // 输出:6%2=0