返回 课程
信奥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% 完成
小丽举手问道:”小C老师,printf能帮我们做数学计算吗?”
“当然可以!让我们看看printf是如何展示计算结果的!”
3.2.1 基本运算输出
// 加法运算
printf("5 + 3 = %dn", 5 + 3);
// %d会被5+3的结果替换,输出: 5 + 3 = 8
// 减法运算
printf("10 - 4 = %dn", 10 - 4);
// 计算机先算出10-4=6,然后把6放到%d的位置
// 乘法运算(用*号表示乘法)
printf("6 * 3 = %dn", 6 * 3);
// *是乘号,不要用×,输出: 6 * 3 = 18
// 除法运算(用/号表示除法)
printf("15 / 3 = %dn", 15 / 3);
// /是除号,不要用÷,输出: 15 / 3 = 5
// 求余运算(算出除法的余数)
printf("17 %% 5 = %dn", 17 % 5);
// %%表示输出%符号,%d显示余数2
[图片:展示各种运算符号和对应的计算结果]
练习题:
- 选择题:printf(“6%2=%dn”, 6%2);的输出结果是什么?
A. 6%2=0
B. 62=0
C. 6%2=3
D. 编译错误
正确答案:D
解析:要输出%符号需要使用%%,正确写法应该是printf(“6%%2=%dn”, 6%2);
- 选择题:printf(“%d+%d=%d”, 5,3,5+3);的输出结果是什么?
A. %d+%d=%d
B. 5+3=8
C. 5+3=53
D. 编译错误
正确答案:B
解析:每个%d会被依次替换为后面的参数值,5,3,和5+3的结果8。
3.2.2 复杂运算输出
// 多个运算组合(注意括号的使用)
printf("(5 + 3) * 2 = %dn", (5 + 3) * 2);
// 先算括号内的5+3=8,再乘以2=16
// 多个数值运算(可以使用多个%d)
printf("%d + %d = %dn", 10, 20, 10 + 20);
// 第一个%d放10,第二个%d放20,第三个%d放计算结果30
// 运算过程展示
printf("%d * %d / %d = %dn", 12, 6, 3, 12 * 6 / 3);
// 数字会按顺序放入%d中,最后一个%d放计算结果
3.2.3 小数运算输出
// 小数加法(用%.2f保留2位小数)
printf("3.14 + 2.86 = %.2fn", 3.14 + 2.86);
// %.2f表示保留2位小数,输出: 3.14 + 2.86 = 6.00
// 小数乘法(用%.1f保留1位小数)
printf("1.5 * 2.0 = %.1fn", 1.5 * 2.0);
// %.1f表示保留1位小数,输出: 1.5 * 2.0 = 3.0
// 混合运算(整数用%d,小数用%f)
printf("整数运算:%d, 小数运算:%.2fn", 5 + 3, 5.0 / 2);
// 注意:5/2=2(整数除法),5.0/2=2.50(小数除法)
[图片:展示整数除法和小数除法的区别]
练习题:
- 选择题:以下printf语句的输出结果是什么?
printf("%d元", 100);
A. %d元
B. d元
C. 100元
D. 元100
正确答案:C
解析:%d是格式控制符,用于输出整数。在输出时,%d会被替换为对应的整数值100,因此输出结果为”100元”。
- 判断题:在printf语句中,%.3f表示输出一个小数并精确到小数点后3位。
- 正确答案:√
- 解析:%.3f是控制小数输出精度的格式符,3表示保留小数点后3位。
3.2.4 字符输出魔法
“小朋友们,除了数字,printf还能输出单个字符呢!” 我拿起粉笔在黑板上写道。
// 输出单个字符
printf("字符是:%cn", 'A'); // 输出: 字符是:A
printf("等级是:%cn", 'S'); // 输出: 等级是:S
// 注意:字符要用单引号,不能用双引号
printf("成绩:%cn", 'A'); // ✅ 正确:用单引号
printf("成绩:%cn", "A"); // ❌ 错误:不能用双引号
// 输出多个字符
printf("第一个字母是%c,第二个字母是%cn", 'A', 'B');
// 输出: 第一个字母是A,第二个字母是B
[图片:展示字符输出和字符串输出的区别]
3.2.5 百分号的输出魔法
小明举手问道:”小C老师,如果我想输出百分号该怎么办呢?”
“这是个好问题!” 我说,”输出百分号需要用一个特殊的魔法!”
// 输出百分号
printf("及格率是50%%n"); // 输出: 及格率是50%
printf("完成度:75%%n"); // 输出: 完成度:75%
// 错误示范
printf("及格率是50%n"); // ❌ 错误:单个%会导致错误
printf("完成度:75%"); // ❌ 错误:需要用%%
// 和其他格式符号一起使用
printf("小明考了%d分,超过了班级%d%%的同学n", 95, 80);
// 输出: 小明考了95分,超过了班级80%的同学
💡 小贴士:关于百分号的使用
- 想输出一个%时,需要写两个%(即%%)
- %%不需要在后面添加任何值
- 可以和其他格式符号(如%d,%f)一起使用
[图片:展示百分号输出的正确和错误方式]
练习题:
- 选择题:以下哪个是正确的百分比输出方式?
A. printf(“完成度:50%”);
B. printf(“完成度:50%%”);
C. printf(“完成度:%d%”, 50);
D. printf(“完成度:%d%%”, 50);
正确答案:D
解析:要输出百分号需要使用%%,同时如果要输出变量值需要使用%d配合变量。
- 判断题:在printf中,单个%符号可以直接输出百分号。
- 正确答案:×
- 解析:在printf中输出百分号必须使用两个%符号(%%),单个%会被解释为格式控制符导致错误。