C++语言-3-循环语句及选择语句

本章学习循环结构和选择结构的基本用法。


循环语句

while语句

while语句实现”当型”循环,它的一般格式为:

1
2
3
4
while (判断条件)
{
循环体
}
  1. 当判断条件成立时,循环执行大括号中语句。并且初始化部分和迭代部分是任选的。
  2. while语句首先检查判断条件,当条件满足时,才去执行循环中的语句。这是”当型”循环的特点。

do-while语句

do-while语句实现”直到型”循环,它的一般格式为:

1
2
3
4
do
{
循环体
}while (判断条件);
  1. do-while语句首先执行循环体,然后检查判断条件,若成立,则循环执行大括号中的语句,直到判断条件不成立。
  2. 与while语句不同的是,do-while语句的循环体至少执行一次,是”直到型”循环的特点。

for语句

for语句也用来实现”当型”循环,它的一般格式为:

1
2
3
4
for (初始化操作;判断条件;迭代部分)
{
循环体
}
  1. for语句执行时,首先执行初始化操作,然后检查判断条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。

  2. 可以在for语句的初始化部分声明一个变量,它的作用域为一个for语句。

  3. for语句通常用来执行循环次数确定的情况(如对数组元素进行操作),也可以根据循环结束条件执行循环次数不确定的情况。

  4. 在初始化部分和迭代部分可以使用逗号语句,来进行多个动作。逗号语句是用逗号分隔的语句序列。例如:

    1
    2
    3
    4
    for(i=0,j=10;i<j;i++,j--)
    {
    循环体
    }
  5. 初始化、终止以及迭代部分都可以为空语句,且只要判断条件为空,就相当于一个无限循环,如:

    1
    2
    3
    4
    for(i=0;;i++)
    {
    循环体
    }

循环语句的控制

  1. break

    跳出当前所在循环,忽略break以下的所有语句。

  2. continue

    直接执行下一次循环,忽略continue以下的所有语句。

条件语句

if-else语句

一般格式为:

1
2
3
4
5
6
7
8
if(判断条件)
{
语句1
}
else
{
语句2
}

当判断条件成立时,执行语句1,否则执行语句2。

switch语句

一般格式为:

1
2
3
4
5
6
7
8
9
10
11
12
switch(变量)
{
case1:
语句1;
break;
case2:
语句2;
break;
default:
语句3;
break;
}

当变量为值1时执行语句1,当为值2时执行语句2,当不为已给出的任何情况时执行default的语句3。

case可以无限添加,不只限2个。

需要注意的是,当你没有break时,会一直向下执行。如以下程序段,若变量为值1,则语句1,2,3都将被执行。

1
2
3
4
5
6
7
8
9
10
switch(变量)
{
case1:
语句1;
case2:
语句2;
default:
语句3;
break;
}

逻辑判断符号

小于:< 大于:> 等于:==(两个等号) 小于等于:<= 大于等于:>= 不等于:!=

特别的,计算时用的等于只有一个等号,判断时才用两个等号。

逻辑联结符号

且:&& 或:||

或的符号由两个竖线组成,竖线可以由回车上方的那个键打出。

如:

1
2
3
4
if(((x>1||x<-1)&&y>2)||(x<-9&&y>0))
{
sum=sum+1;
}

这样表示当满足以下两种情况之一时,sum的值+1。

  1. x大于1且y大于2,或x小于-1且y大于2时。

  2. x小于-9且y大于0时。

特别的,使用if(条件1||条件2)的时候,如果条件1成立,则不会判断条件2是否成立,直接进入if的语句块。

上述两种符号也属于运算符。

使用逻辑符号时的要点

*不可以写连等式,如:

如果x大于0小于100,不可以写if(0<x<100),必须拆开,写成if(0<x&&x<100)。其余逻辑符号同理。

第三章到此结束。

本章练习:

选择语句:
P1422 小玉家的电费

P1085 不高兴的津津

P1089 津津的储蓄计划

P1909 买铅笔

T16594 小明的四则运算

循环语句:

P1008 三连击

P1035 级数求和

P1423 小玉在游泳

P1424 小鱼的航程(改进版)

P1980 计数问题

T17068 有多少平方数

T17072 是质数吗?

T17073 什么?!n!

T17071 四个数的2nd问题

--It's the end.Thanks for your read.--