当前位置: 移动技术网 > IT编程>开发语言>C/C++ > C++ —— C++三大分支结构(顺序、选择、循环)

C++ —— C++三大分支结构(顺序、选择、循环)

2018年09月12日  | 移动技术网IT编程  | 我要评论
一、顺序结构的几种常用语句 1、声明语句 程序中所有由程序员给出的名字标识符,包括变量、常量、对象、类、类型、函数、参数等都要在使用前进行说明或定义。一般地,程序中的说明语句并不单纯说明,也往往包含

一、顺序结构的几种常用语句

1、声明语句

程序中所有由程序员给出的名字标识符,包括变量、常量、对象、类、类型、函数、参数等都要在使用前进行说明或定义。一般地,程序中的说明语句并不单纯说明,也往往包含创建和初始化等工作。如intsize = 0;

2、表达式语句

对数据进行处理和操作的语句。由表达式加分号“;”组成。如:s=(a+b+c)/2;

3、函数调用语句

如printf();语句实现对函数printf的调用。

4、复合语句和空语句

若干语句用一对花括号“{}”括起来组成一个复合语句 。空语句,由一个分号“;”组成 ,不进行任何操作,常用于循环结构中。

二、选择结构(if/switch)

1、if语句【建议每个if/else if用花括号】

①if(表达式) 语句

②if(表达式) 语句1 else 语句2

if(表达式1) 语句1

else if(表达式2) 语句2

else if(表达式n) 语句n ...

else 语句n+1

(1)如果在if、esle后有多条语句,则必须用花括号将这些语句括起来,否则只有后跟的第1条语句有效。

(2)if语句中的条件表达式一般为关系表达式或逻辑表达式,也可以是任意的数值类型。

(3)else总是和离它最近的还没有配对的可见的if匹配。

2、switch语句

switch (表达式)
{ 
case常量表达式 1:语句1;     break;
case常量表达式 2:语句2;     break;
                        ┆
case常量表达式 n:语句n;     break;
default: 语句n+1;          break;
}

(1)switch括号中的表达式只能是整型、字符型枚举型或布尔型;且case后面的常量表达式的类型必须与其匹配。

(2)以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。没有break继续执行后面的case语句。

(3)case值是语句标号,每个case常量表达式的值必须互不相同。

(4)default语句是可选的(为了规范,建议写上)。

三、循环结构

1、for

for(表达式1;表达式2;表达式3)
{
  // 语句
}

第一步:先计算表达式1,一般是个初始值;

第二步:然后执行表达式2的判断;

第三步:如果成立,执行语句,然后执行表达式3,再执行第二步;如果第二步不成立,退出循环;

break作用:中止switch语句的执行,并跳出switch语句;从最近的封闭循环体中跳出,转而执行循环体的下一条语句。【只能用于switch和循环语句中!】

continue作用:结束本次循环,执行表达式3,开始下一轮循环。【并不从循环体中跳出,除非已处于循环结束点】

2、while(与for完全等效)

while(表达式)
{
  // 语句;
}

先判断再执行;while后面的括号和括号中的表达式都必须有。表达式可以是常量或常量表达式。如while(1)死循环,break可以跳出。

3、do...while

do
{ 
  // 语句;
}while (表达式);

先执行循环体语句,后判断条件。表达式为 true时,继续执行循环体

while语句执行顺序:先判断表达式的值,为true 时,再执行语句。

dowhile:先执行再判断语句至少执行一次循环体。

// 判断素数
#include 
using namespace std;

int main(void)
{
  //输入
  long m;
  
  cout << "please input a number:\n";
  cin >> m;
  
  //处理
  for(int i = 2; i < m; i++) //找m的因数
  {
    if(m % i == 0)
    {
      break;
    }
  }
  //输出
  if(m == i) //判断m是否被小于m的数整除
  {
    cout << m << " is prime.\n";
  }
  else
  {
    cout << m << " isn't prime.\n";
  }
  
  return 0;
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网