顺序结构:

顺序执行语句

 

分支结构:

通过进行一个判断在两个可选的语句序列之间选择执行(分支)

if语句:根据给定条件进行判定,以执行某个分支程序段,最多只能执行一个分支,可不执行分支。

if(条件表达式){
  语句1;
}

当条件表达式为真,执行语句1,否则,跳过语句1,继续执行下面的语句

 

if(条件表达式);{
    语句1;
}

表达式括号后跟了“;”,导致if语句为空语句,大括号内的语句跟if语句没有关系,无论条件真假都会执行语句1

 

③级联式

if(条件表达式1){
    语句1;
}
else if(条件表达式2){
    语句2;
}
else{
    语句3;
}

哪个条件表达式为真则执行哪个语句,当if和else if的条件表达式都为假时,执行else里的语句3

 

条件运算符:通常有两个分支,只执行一个分支

条件表达式 ? 表达式1 : 表达式2;

如果条件表达式为真,整个条件表达式的值为表达式1的值;

如果条件表达式为假,整个条件表达式的值为表达式2的值。

int c = a > b ? a : b;

 

switch语句:多分支语句,通过判断整型表达式的值,来决定执行语句,通常与case配合使用

switch ——开关,case ——情况,开关决定发生的情况

switch(表达式){
    case 值1:{语句1;break;}    //语句中需定义变量时加{},不定义可不加
    case 值2:{语句2;break;}
    ……
    case 值n:{语句n;break;}
    default:{语句n+1;break;}   //以上case的情况都不满足时执行
}

break用在switch…case中用于结束某个case,然后执行switch之外的语句。

case后面的标签只能是整型常量或者整型常量表达式,不能用变量作为case的标签。

switch语句比if-else级联式更容易阅读,更直观。

  • 整个default语句可以舍弃掉
  • 多个case(语句块一样时)可以运行一个语句块
  • case中定义变量需要加{}

 

循环结构:

满足某个条件的时候反复执行一个语句序列(循环)

特定条件称为循环条件反复执行程序段称为循环体

 ①while循环(先判断,后执行

while(条件表达式){
  语句;
}

条件表达式为执行循环体;一旦条件表达式为停止循环

 

②do…while循环(先执行,后判断

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

先执行循环体,再判断循环条件,直到条件不满足的时候,停止循环。

 

③for循环(先判断,后执行)

for(循环变量初始化;循环条件;循环增量){
    语句;
}

先进行循环变量初始化,一般是循环变量为条件判断,若循环条件为真,执行语句后,再执行循环增量,进入下次循环继续判断循环条件。

 

 

break:

在switch语句中,其作用是跳出switch语句

在循环体中,其作用是跳出本层循环(通常与if语句连用)

while(条件表达式1){
    if(条件表达式2){
        语句1;
        break;
   }
  语句2; }

当条件表达式2为真时,执行语句1后跳出循环,不再执行语句2,也不再继续循环。

 

continue:

在循环体中的作用是结束本次循环(continue后面的代码不再执行),进入下次循环(通常与if连用)

while(条件表达式1){
    if(条件表达式2){
        语句1;
        continue;
   }
  语句2;
}

当条件表达式2为真时,执行语句1后结束本次循环,不再执行语句2,再看条件表达式1若为真,则进入下次循环,否则跳出循环。

 

 

循环嵌套:

一般使用for循环嵌套

例子:九九乘法表

c语言版:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     for(int i = 1; i <= 9; i++)        //
 5     {
 6         for(int j = 1; j <= i; j++)        //
 7         {
 8             printf("%d*%d=%d",i,j,i*j);
 9             printf("   ");
10         }
11         printf("\n");
12     }
13     return 0;
14 } 

c++版:

 1 #include<iostream>
 2 using namespace std;
 3 void jiu(int n)
 4 {
 5     for(int i = 1; i <= n; i++)        //
 6     {
 7         for(int j = 1; j <= i; j++)        //
 8         {
 9             cout << i << "*" << j << "=" << i * j;
10             cout << "   ";
11         }
12         cout << endl;        //回车 
13     }
14 }
15 int main()
16 {
17     int n = 9;
18     jiu(n);
19     return 0;
20 } 

c#版:

 1 using System;
 2 
 3 namespace ConsoleApplication1
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             for (int i = 1; i <= 9; i++)
10             {
11                 for (int j = 1; j <= i; j++)
12                 {
13                     Console.Write("{0}*{1}={2}", i, j, i * j);
14                     Console.Write("  ");
15                 }
16                 Console.WriteLine();    //换行
17             }
18             Console.ReadKey();
19         }
20     }
21 }

结果:

posted on 2018-09-20 15:07  非洲酋长  阅读(2780)  评论(0编辑  收藏  举报