⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c++4.dat

📁 C++指令字典 一个方便的软件 用于C++指令的查询
💻 DAT
字号:
第四章 流程控制语句

语句是构造程序最基本的单位,程序运行的过程就是执行程序语句的过程.程序语句执行的次序称之为流程控制(或控制流程).我们前面介绍的实例程序中,程序语句都是顺序执行的.我们是否能够改变程序顺序执行的流程呢?例如,当满足某个条件时,执行某种运算或重复执行某种运算.答案是肯定的,流程控制语句就是用于修改程序的执行路径.
  本章我们介绍的C++流程控制语句包括:
  * if语句,也称为分支语句.
  * switch语句,也称之为多分支语句.
  * 循环语句.
  * break和continue语句,这两个语句与switch语句或循环语句配合使用. 
  * goto语句.

1   if  语句

 形式: C语言提供了三种形式的if语句
       1. if(表达式) 语句
          例如: if(x>y)printf("%d",x);

       2. if(表达式) 语句1 elae 语句2
          例如: if(x>y)printf("%d",x);
                else printf("%d",y);

       3. if(表达式1) 语句1
          else if(表达式2) 语句2
          else if(表达式3) 语句3
                 .
                 .
                 .
          else if(表达式n) 语句n
          else 语句n
          例如: if(number>500) cost=0.15;  
                else if(number>300) cost=0.10;
                else if(number>100) cost=0.075;
                else if(number>50)  cost=0.05;
                else  cost=0;

 功能: if语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一.
 说明: 1. 三种形式的if语句中在if后面都有"表达式", 一般为逻辑表达式或关系表达式.
          例如,if(a==b && x==y) printf("a=b,x=y");在执行if语句时先对表达式求解,若表达式的值           为0,按"假"处理,若表达式的值为非0,按"真"处理,执行指定的语句.

          假如有以下if语句: if('3')printf("OK");
          是合法的,执行结果输出"OK",因为表达式的值为3,按"真"处理.由此可见,表达式的类型不限          于逻辑表达式,可以是任意的数值类型.
          例如,下面的语句也是合法的:if('a')printf("%d",'a');
          执行结果,输出'a'的ASCII码97.

       2. 在if和else后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号"{}"将          几个语句括起来           成为一个复合语句.
          例如: if(x>0)
                 {
                   printf("%f",x);
                   printf("OK");
                 }
                 else
                   printf("it is not a trilateral");

2  switch语句
  switch语句的一般形式如下: 
    switch (表达式) {
    case常量表达式1:
      语句;
    ...
    case常量表达式n:
      语句;
    default:
      语句;
    } 
  switch语句的执行过程是这样的:首先计算"表达式"的值,然后,其结果值依次与每一个常量表达式的值进行匹配(常量表达式的值的类型必须与"表达式"的值的类型相同).如果匹配成功,则执行该常量表达式后的语句系列.当遇到break时,则立即结束switch语句的执行,否则,顺序执行到花括号中的最后一条语句.default情形是可选的,如果没有常量表达式的值与"表达式"的值匹配,则执行default后的语句系列.需要注意的是:"表达式"的值的类型必须是字符型或整型.
  我们下面看一个分析双目算术运算的例子4-9.双目算术运算符存在字符型变量operator中,两个操作数分别存在变量operand1和operand2,switch语句执行相应的运算,并将结果存在变量result中.
 
3.1 while语句
  while语句的一般形式如下: 
    while (表达式)
    语句;
  while语句的执行过程如下:首先计算"表达式"(称之为循环条件)的值,如果其结果值非0,则执行"语句"(称之为循环体).这个过程重复进行,称之为循环,直至"表达式"的值为0时,才结束循环.

3.2 do-while语句
  do-while语句类似于while语句,但是它先执行循环体,然后检查循环条件.do-while语句的一般形式为: 
  do  
    语句;
  while (表达式);
  如果"表达式"的值非0,循环继续进行,否则,循环终止.
  与while语句相比,我们使用do-while语句要少一些.但是,对于有些情况,循环体至少要执行一次,do-while语句就很有用.例如,假定我们要重复读一个值,并打印它的平方,终止的条件是该值为0.我们可以用do-while语句表示为:
  do {
    cin >> n;
    cout << n * n << '\n';
    }
  while (n != 0);

3.3 for语句
  for语句的一般形式如下:
  for (表达式1; 表达式2; 表达式3) 
  语句;
  for语句执行过程如下:首先计算"表达式1"(循环初值),且仅计算一次.每一次循环之前计算"表达式2"(循环条件),如果其结果非0,则执行"语句"(循环体),并计算"表达式3"(循环增量).否则,循环终止.for循环与下面的while循环等价:
  表达式1; 
  while (表达式2) {
   语句;
   表达式3;
  }

4.1 break语句
  break语句用在循环语句的循环体内的作用是终止当前的循环语句.

4.2 continue语句
  continue语句的功能与break语句不同,它是结束当前循环语句的当前循环,而执行下一次循环.在循环体中,continue语句执行之后,其后的语句均不再执行.
  在while和do-while循环语句中,下一次循环是从判断循环条件开始,在for循环语句中,下一次循环是是从先计算第三个表达式,再判断循环条件开始的.例如:重复读入一些整数,当该整数为负时忽略,否则,处理该整数,而该整数为0时,程序执行终止.

4.3 goto语句
  goto语句,它使程序执行分支转移到被称为"称号"(label)的目的地.
    1. 语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字       符必须为字母或下划线.不能用整数来做标号.

       2. goto label_1;是合法的,而goto 123;是不合法的.结构化程序设计方法主张限制使用goto语          句,因为滥用goto语将使程序流程无规律、可读性差.但也不是绝对禁止使用goto语句.

       3. 一般来说,可以有两种用途:(1)与if语句一起构成循环结构;(2)从循环体中跳转到循环体外,	  但在C语言中可以用break语句和continue语句跳出本层循环和结束本次循环.goto语句的使用	 	  机会已大大减少,只是需要从多层循环的内层循环跳到外层循环外时才用到goto语句.但是这	  种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能大大提高效率)才使用.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -