10min快速回顾C++语法(二)
⭐写在前面的话:本系列文章旨在短时间内回顾C/C++语法中的重点与易错点,巩固算法竞赛与写题过程中常用的语法知识,精准地解决学过但有遗忘的情况,为算法刷题打下坚实的基础。
三、关于printf的格式化输出
3.1 保留位数
float, double等输出保留若干位小数时用:%.4f, %.3lf
3.2 最小数字宽度
3.2.1 %8.3f
表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格。
可以规定占位
#include <iostream> #include <cstdio> using namespace std; int main() { int a = 3; float b = 3.12345678; double c = 3.12345678; //注意默认是右对齐 //占5个字符的位置 printf("%5d\n", a); //占8个字符的位置,保留4位小数 printf("%8.4f\n", b); //占7个字符的位置 printf("%7.3lf\n", c); return 0; }
Output:
3 3.1235 3.123
3.2.2 %-8.3f
表示最小宽度为8,保留3位小数,当宽度不足时在后面补上空格
#include <iostream> #include <cstdio> using namespace std; int main() { int a = 3; float b = 3.12345678; double c = 3.12345678; printf("%-5d!\n", a); printf("%-8.4f!\n", b); printf("%-7.3lf!\n", c); return 0; }
Output:
3 ! 3.1235 ! 3.123 !
3.2.3 %08.3f
表示最小宽度为8,保留3位小数,当宽度不足时在前面补上0,压位时常用。
上述输出修改为:
printf("%05d\n", a); printf("%08.4f\n", b); printf("%07.3lf\n", c);
Output:
00003 003.1235 003.123
四、If-else 语句
4.1 详解一个标准的If-else
#include <iostream> #include <cstdio> using namespace std; int main() { int a; cin >> a; if (a > 5)//不能加; { printf("%d is big!\n", a); printf("%d + 1 = %d\n", a, a + 1); } else { printf("%d is small!\n", a); printf("%d - 1 = %d\n", a, a - 1); } return 0; }
注意:
在if语句之后不能加;因为C语言中允许空语句的存在,if后;相当于什么也没执行。括号内部具体语句勿忘;。
else
语句可以省略。当只有一条语句时,大括号可以省略
if-else
语句内部也可以是if-else
语句。
4.2 常用比较运算符
- 大于 >
- 小于 <
- 大于等于 >=
- 小于等于 <=
- 等于 ==
- 不等于 !=
4.3 if-else连写
eg:简单计算器输入两个数,以及一个运算符+, -, *, /,输出这两个数运算后的结果。
当运算符是/,且除数是0时,输出Divided by zero!; 当输入的字符不是+, -, *, /时,输出Invalid operator!。
#include <iostream> #include <cstdio> using namespace std; int main() { int a, b; char c; cin >> a >> b >> c; if (c == '+') cout << a + b << endl; else if (c == '-') cout << a - b << endl; else if (c == '*') cout << a * b << endl; else if (c == '/') { if (b != 0) { cout << a / b << endl; } else { cout << "Divided by zero!" << endl; } } else { cout << "Invalid operator!" << endl; } return 0; }
4.4 条件表达式
- 与 &&
- 或 ||
- 非 !
练习:球的体积
给定你一个球体的半径 RR,请你计算球体的体积。
计算球体的公式为 。
π取 3.14159。
输入格式
输入一个整数 R。
输出格式
输出格式为 VOLUME = X
,其中 XX 为球体的体积,结果保留三位小数。
数据范围
1≤R≤2000
输入样例
3
输出样例
VOLUME = 113.097
代码
#include <iostream> #include <cstdio> using namespace std; int main() { double a,V; cin>>a; V=(4/3.0)*3.14159*a*a*a; printf("VOLUME = %.3f",V); return 0; }
总结
注意:有些语言中 (4/3) 无法得到 1.3333…,建议在公式中使用 (4/3.0)。
#C/C++##算法#