第二章 printf语句与C++中的判断结构与循环结构

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 语句

  1. 基本if-else语句(略)

  2. 常用比较运算符
    (1) 大于 >
    (2) 小于 <
    (3) 大于等于 >=
    (4) 小于等于 <=
    (5) 等于 ==
    (6) 不等于 !=

3 条件表达式

(1) 与 &&
(2) 或 ||
(3) 非

注意

  1. 与的优先级高于或,在表达式中可将与&&看做乘法或||看做加减法
  2. 注意短路的情况

举个例子:用一条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时,则继续读,直到读入一个整数,停止读

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值