文章目录
1 printf输出格式
注意:使用printf 时最好添加头文件 #include < cstdio>。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int a = 3;
float b = 3.123223;
double c = 3.122323;
char d = 'y';
printf("%d\n",a);
printf("%f\n",b);
printf("%lf\n",c);
printf("%c\n",d);
return 0;
}
1、Int、float、double、char等类型的输出格式:
(1) Int:%d
(2) Float: %f, 默认保留6位小数
(3) Double: %lf, 默认保留6位小数
(4) Char: %c, 回车也是一个字符,用’\n’表示
2、扩展功能
(1) Float, double等输出保留若干位小数时用:%.4f, %3lf
(2) 最小数字宽度
a. %8.3f, 表示这个浮点数的最小宽度为8,保留3位小数,当宽度不足时在前面补空格。
b. %-8.3f,表示最小宽度为8,保留3位小数,当宽度不足时在后面补上空格
c. %08.3f, 表示最小宽度为8,保留3位小数,当宽度不足时在前面补上0
2 if 语句
-
基本if-else语句(略)
-
常用比较运算符
(1) 大于 >
(2) 小于 <
(3) 大于等于 >=
(4) 小于等于 <=
(5) 等于 ==
(6) 不等于 !=
3 条件表达式
(1) 与 &&
(2) 或 ||
(3) 非
注意
- 与的优先级高于或,在表达式中可将与&&看做乘法,或||看做加减法
- 注意短路的情况
举个例子:用一条if语句,判断闰年
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int year;
cin >> year;
if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
cout<< "yes" << endl;
else
cout<< "no" <<endl;
return 0;
}
4 循环结构
学习循环语句只需要抓住一点——代码执行顺序!
可以简单理解为循环版的if语句。If语句是判断一次,如果条件成立,则执行后面的语句;while是每次判断,如果成立,则执行循环体中的语句,否则停止。
4.1 while循环
求1~100中所有数的立方和。
求斐波那契数列的第n项。f(1)=1, f(2)=1, f(3)=2, f(n)=f(n-1) + f(n-2)。
4.2 do while循环(很少使用,一般不用)
do while语句与while语句非常相似。唯一的区别是,do while语句限制性循环体后检查条件。不管条件的值如何,我们都要至少执行一次循环。
4.3 for循环(较常使用,条理清晰,更接近人的思维)
基本思想:把控制循环次数的变量从循环体中剥离。
for (init-statement : condition: expression)
{
statement
}
init-statement可以是声明语句、表达式、空语句,一般用来初始化循环变量;
condition 是条件表达式,和while中的条件表达式作用一样;可以为空,空语句表示true
expression 一般负责修改循环变量,可以为空
init-statement可以定义多个变量,expression也可以修改多个变量。
例如求 1 * 10 + 2 * 8 + 3 * 7 + 4 * 6:
4.4 跳转语句
break
可以提前从循环中退出
例题:判断一个大于1的数是否是质数:
continue
可以直接跳到当前循环体的结尾
例题:求1~100中所有偶数的和。
4.5 多层循环
打印1~100中的所有质数
输入一个n,打印n阶菱形。n是奇数。
n=9时的结果:
5 读入的一些写法
一直读,读到0结束
方式一:
方式二:
方式三:
举个例子:
如果读入的 N 为 0 或负数,则继续读取数字直至读入 N 值为正整数为止
int n;
while(cin>>n, n<=0);
while循环一直读,当n为负数或0时,则继续读,直到读入一个整数,停止读