精华内容
下载资源
问答
  • C++流程控制语句

    2020-10-02 11:09:38
    C++流程控制语句 语句是C++程序中基本功能单元。任何一条C++语句都会为完成某项任务而进行相关...复合语句:由“{}”括起来一组语句一般格式为: { 若干语句序列 } 注意:复合语句描述一个块,在语法上起一

    C++流程控制语句

    语句是C++程序中的基本功能单元。任何一条C++语句都会为完成某项任务而进行相关的操作。C++语句通常以分号作为结束标志。

    C++中的语句分为以下几种:

    表达式语句:是最简单的语句形式,一般格式为:表达式;

    空语句:只由一个分号构成的语句,一般格式为: ;

    注意:空语句不执行任何操作,但具有语法作用。例如:for循环在有些情况下,循环体或者循环判别条件是空语句。

    复合语句:由“{}”括起来的一组语句,一般格式为: { 若干语句序列 }

    注意:复合语句描述一个块,在语法上起一个语句的作用。复合语句中的每个语句以“;”结束,而整个复合语句的结束符为“}”。

    流程控制语句:用来控制或改变程序的执行方向的语句.

     

    if语句

    1、基本if语句

    语法:

    if(条件表达式)

        语句或语句块

    执行过程:首先计算条件表达式的值,如果此值不为 “真”,则执行语句或语句块;如果此值为 “假”,则忽略语句或语句块即不执行,而继续执行整个语句之后的语句。

    例、输入一个整数,判断正负情况

    #include <iostream>
    using namespace std;
    int main()
    {
        int n;
        cout<<"请输入一个整数:"<<endl;
        cin>>n;
        if (n>0)
            cout<<"正";
        if (n==0)
            cout<<"零";
        if  (n<0)
            cout<<"负";
        return 0;
    }

     

    2、if...else语句

    语法:

    if(条件表达式)

        语句或语句块1

    else

        语句或语句块2

    执行过程:首先计算条件表达式的值,如果此值不为 “真”,则执行语句或语句块1,然后忽略后面的语句或语句块2去执行整个语句之后的语句;如果此值为 “假”,则忽略语句或语句块1执行语句或语句块2,然后继续执行整个语句之后的语句。

    例、输入一个年份,判断是否为闰年。

    #include <iostream>
    using namespace std;
    int main( ){
        int year;
        cout<<"输入年份:"<<endl;
        cin>>year;
        if (year%4==0&&year%100!=0||year%400==0)
            cout<<year<<"是闰年"<<endl;
        else  cout<< year<<"年不是闰年"<<endl;
        return 0;
    }
     

    3、If语句的嵌套

    嵌套if语句有2种形式:

    嵌套在else分支中,格式如下:

    if (表达式1)

    语句或语句块1

    else if (表达式2)

    语句或语句块2

        else if …

            else语句或语句块k

    嵌套在if分支中,格式如下:

    if (表达式1){

    if (表达式2)

    语句或语句块1

         else

    语句或语句块2

    }

    else

    语句或语句块3

     

    配对原则

    C++规定:在嵌套if语句中,if和else按照“就近配对”的原则配对,即相距最近且还没有配对的一对if和else首先配对。

    if中嵌套的形式较容易产生逻辑错误,而else中嵌套的形式配对关系则非常明确,因此从程序可读性角度出发,建议尽量使用在else分支中嵌套的形式,故对此进一步说明之:

    if(条件表达式1)

        语句或语句块1

    else if(条件表达式2)

        语句或语句块2

    else if(条件表达式3)

        语句或语句块3

    ......

    else

    语句或语句块k

    执行过程:从上向下逐一对if之后的条件进行检测。如果某一条件为“真”,则执行相应的if子句的语句或语句块并越过剩余的部分,然后继续执行整个语句之后的语句;如果所有条件都为“假”,则执行最后一个else子句的语句或语句块,然后继续执行整个语句之后的语句。

    例、求三个整数中的最大值。

    #include <iostream>
    using namespace std;
    int main(){
        int a, b, c, max;
        cout<<"输入三个整数:";
        cin>>a>>b>>c;
        if(a>b&&a>c)  max=a;
        else if(b>a&&b>c)  max=b;
            else  max=c;
        cout<<"最大数为:max="<<max<<endl;
        return 0;
    }

    switch语句

    switch(表达式)

      {

        case 常量表达式1:

           语句或语句块1

           break;

        case 常量表达式2:

           语句或语句块2

           break;

        case 常量表达式3:

           语句或语句块3

           break;

        … …

        default:

           语句或语句块K

           [break;]

      }

    执行流程参见下图(特别提示,与许多资料上的流程图相比,这个图表示的意思是比较全面准确的):

    或图示为:

    说明:

    switch语句中的表达式 必须是一个整型、字符型或枚举类型,或者是一个 class 类型,其中 class 有一个单一的转换函数将其转换为整型或枚举类型。

    case 的 常量表达式1,常量表达式2等 必须与 switch 中的表达式量具有相同的数据类型,且必须是一个常量或字面量。在一个 switch 中可以有任意数量的 case 语句(case子句)。每个 case 后跟一个要比较的值(常量表达式)和一个冒号,其后语句或语句块可没有,且语句块(多条语句)不必用{}括起来。

    break是可选的不是每一个 case 都需要包含 break。遇到break就跳出整个switch语句,如果子句中不包含 break,若有后续的子句,将接着处理后续的子句,而不论是否匹配,直至switch语句尾部或遇到下一个break,因此一般包含break!详见下面的例子。

    default语句(default子句)可没有,若有一般将将default语句放在所有case语句结束之后。default顾名思义是处理缺省情况,当常量表达式都不匹配的情况下执行之。

    例、

    #include <iostream>
    using namespace std;
     
    int main ()
    {
       char grade = 'D';
     
       switch(grade)
       {
       case 'A' :
          cout << "很棒!" << endl; 
          break;
       case 'B' :
       case 'C' :
          cout << "做得好" << endl;
          break;
       case 'D' :
          cout << "您通过了" << endl;
          break;
       case 'F' :
          cout << "最好再试一下" << endl;
          break;
       default :
          cout << "无效的成绩" << endl;
       }
       cout << "您的成绩是 " << grade << endl;
     
       return 0;
    }

    运行之,参见下图:

    请留意输出结果:
    您通过了
    您的成绩是 D

    为了了解C++中switch语句中break语句有什么用,现在将上例中break语句注释掉:
    #include <iostream>
    using namespace std;

    int main ()
    {
       char grade = 'D';
     
       switch(grade)
       {
       case 'A' :
          cout << "很棒!" << endl; 
          //break;
       case 'B' :
       case 'C' :
          cout << "做得好" << endl;
          //break;
       case 'D' :
          cout << "您通过了" << endl;
          //break;
       case 'F' :
          cout << "最好再试一下" << endl;
          //break;
       default :
          cout << "无效的成绩" << endl;
       }
       cout << "您的成绩是 " << grade << endl;
     
       return 0;
    }

    运行之,参见下图:

    请留意输出结果:
    您通过了
    最好再试一下
    无效的成绩
    您的成绩是 D

    对比上面的例子,可以看到区别:没有break,除了执行匹配的语句或语句块,还会顺序执行其后语句或语句块,而不论是否匹配,直至switch语句尾部或遇到下一个break。

    :switch某个符合条件的case后不加break,为什么会执行后面不符合case的语句?

    :switch起到的作用类似于跳转,满足switch的条件会跳转到对应的case下执行代码。如果不加break,代码会从那开始执行,不符合case的语句也会被执行,直到一直执行到最后或遇到下一个break才会跳出switch结构。】

     

    循环语句

    1、while语句
    while(判断表达式)
        循环体
    当判断表达式(条件)为真时执行循环体;当条件为假时,程序流将循环语句后的语句。循环体是语句或语句块。
    例、计算1+2+3+…+100的值。代码如下:
    #include <iostream>
    using namespace std;
    const int n=100; //用常变量利于修改程序
    int main(){
        int i=1,sum=0;   //循环初始条件
        while(i<=n){
          sum+=i;
          i++;    //修改循环条件
       }
       cout<<"sum="<<sum<<endl;
       return 0;
    }

    2、do...while语句
    do
        循环体
    while(判断表达式);
    条件表达式出现在循环的尾部,所以循环体会在条件被测试之前至少执行一次。
    如果条件为真,就会执行循环体,这个过程会不断重复,直到给定条件变为假为止。
    例、输出1,2,……,10。代码如下:
    #include <iostream>
    using namespace std;

    int main ()
    {
       // 局部变量声明
       int a = 1;

       // do 循环执行
       do
       {
           cout << "a 的值:" << a << endl;
           a = a + 1;
       }while( a < 10 );
     
       return 0;
    }

    3、for循环语句
    for(表达式1;表达式2;表达式3)
        循环体

    执行流程参见下图:


    执行过程说明:
    1) 计算表达式1的值;
    2) 计算表达式2的值,若表达式的值为真(或非0),则执行循环体;
    3) 计算表达式3的值;
    4) 再次计算表达式2的值,并重复以上过程;
    5) 直到表达式2的值为假(或为0),则结束该循环。
    循环初始条件可在表达式1中,循环条件的判断可包含在表达式2中,而循环条件变量的修改可包含在表达式3中,也可放在循环体中。
    例、计算1+2+3+…+100的值。代码如下:
    #include <iostream>
    using namespace std;

    int main(){
        int sum=0;
        for(int i=1 ; i<=100 ; i++) 
             sum +=i;
             
        cout << "sum = " << sum << endl;
        return 0;
    }

    运行之,参见下图:

     

    for语句中的三个表达式可部分或全部省略,但两个分号不能省略。常见的是:将表达式1放在了for语句之前,或表达式3放在了循环体中,在for语句中就可相应地省略表达式1或表达式3。

     

    4、循环的嵌套
    当循环语句中的循环体又是一个循环语句时,就构成了“嵌套循环”。
    for 语句、while语句和do-while语句均可以构成嵌套形式,这三种语句还可以互相嵌套。
    例、打印如下图形。
            * * * * * * * * * * *
          * * * * * * * * * * *
        * * * * * * * * * * *
      * * * * * * * * * * *
    * * * * * * * * * * *

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main(){
        int i,j;
        for(i=1;i<=5;i++){
          for(j=1;j<=5-i;j++)  cout<<"  " ;    //输出若干空格
          for(j=1;j<=11;j++)  cout<<"* ";           //输出若干*
          cout<<endl;            //准备输出下一行
       }
       return 0;
    }

    例、写一个九九乘法表
    #include<iostream>
    using namespace std;

    int main()
    {
        int i,j,t;
        for(i=1;i<=9;i++)
        {
            for(j=1;j<=i;j++)
            {
                t=j*i;
                cout<<j<<"*"<<i<<"="<<t<<"  ";
            }
            cout<<endl;
        }
        return 0;
    }
     

    运行之,参见下图:

     

    break语句
    只能用在switch语句和循环语句中。作用:跳出switch语句或提前终止循环。
    使用break语句的例:
    #include <iostream>
    #include <cmath>
    using namespace std;
    int main(){
        for (int i=1; i<20; i++){
          if (i % 3==0) break;  //能被3整除时,便由break退出循环
          cout<<i<<'\t';
        } 
        return 0;
    }

    运行之,参见下图:

     

    continue语句
    位置:只能用在循环语句中。作用:终止本次循环,即跳过其后尚未执行的循环体语句,并开始下一次循环。
    使用continue语句的例:
    #include <iostream>
    #include <cmath>
    using namespace std;
    int main(){
        for (int i=1; i<20; i++){
          if (i % 3==0) continue;  //能被3整除时结束本次循环
          cout<<i<<'\t';
        } 
        return 0;
    }

    运行之,参见下图:

    continue语句与break语句的区别是:continue语句结束本次循环,而break语句是结束整个循环。

    goto语句

    一般使用形式:

    goto 标识;

    ...

    标识://注意有一冒号,而且其后可有语句

    说明:goto语句和标识一起使用,控制程序从goto语句所在的地方转移到标识处。所谓“标识”,是用标识符标识的语句。应用:在某些特定场合下,比如在多层循环嵌套中,要从深层循环跳出,若用break语句,不仅要使用多次,而且可读性较差,这时goto语句可以发挥作用。

    使用goto语句的例:
    #include <iostream>
    using namespace std;
    int main ()
    {
       int a = 1;
       LOOP:
       do{
           if( a == 5)
           {
              a = a + 1;
              goto LOOP;
           }
           cout << "a 的值:" << a << endl;
           a = a + 1;
       }while( a < 10 );
     
       return 0;
    }

    运行之,参见下图:

     

     

     

    展开全文
  • 1.7 C++语句

    2016-06-11 10:19:09
    表达式语句:是最简单的语句形式,一般格式为:表达式;空语句:只由一个分号构成的语句一般格式为: ; 注意: 空语句不执行任何操作,但具有语法作用。例如:for循环在有些情况下,循环体或者循环判别条件是...
    语句是程序的基本单位,必须以分号作为结束标记。

    C++中的语句分为以下几种:
    1. 表达式语句:是最简单的语句形式,一般格式为:表达式;
    2. 空语句:只由一个分号构成的语句,一般格式为: ;
      注意:
      • 空语句不执行任何操作,但具有语法作用。例如:for循环在有些情况下,循环体或者循环判别条件是空语句,详细内容请参见第二章。
      • 从程序结构的紧凑性与合理性角度考虑,尽量不要随便使用空语句。
    3. 复合语句:由“{}”括起来的一组语句,一般格式为: { 若干语句序列 }
      注意:
      • 复合语句描述一个块,在语法上起一个语句的作用。
      • 复合语句中的每个语句以“;”结束,而整个复合语句的结束符为“}”。
    4. 流程控制语句:用来控制或改变程序的执行方向的语句,详细内容请参见第2章。
    展开全文
  • 当判断条件为逻辑真时执行紧跟在判断条件一条语句,若判断条件为逻辑假,则紧跟其后一条语句不被执行。 当语句超过一行时最好用{}将其括起来,构成复合语句 (2)、if双分支语句 一般格式为: if(条件) ...

    1、if语句
    (1)、if单分枝语句
    一般格式为:

    if(条件)
    	语句;
    

    当判断条件为逻辑真时执行紧跟在判断条件后的一条语句,若判断条件为逻辑假,则紧跟其后的一条语句不被执行。
    当语句超过一行时最好用{}将其括起来,构成复合语句
    (2)、if双分支语句
    一般格式为:

    if(条件)
    	语句1;
    else
    	语句2;
    

    当判断条件为逻辑真时,执行语句1,否则执行语句2
    (3)、if多分支语句
    一般格式为:

    if(条件)
    	语句1;
    	else if(条件2)
    		语句2;
    		else if(条件3)
    			语句3;
    			...
    			if(条件n)
    				语句n;
    			else
    				语句n+1;
    

    嵌套的if elseu语句在使用时一定要注意if与其对应的else的配对关系,通常else与其上方的离得最近且尚且未与其他else匹配的if语句配对。采用{}可以改变匹配关系

    2、条件表达式
    c语言提供了一种特殊的条件运算符。这种运算符允许表达式依据条件的值产生两个值中的一个。条件运算符由’?‘和’:‘组成,使用格式为:

    表达式1?表达式2:表达式3;
    

    表达式的执行过程为:先计算表达式1的值,如果表达式1的值为逻辑真,则求解表达式2,将表达式2的值作为整个条件表达式的值,否则,求解表达式3,将表达式3的值作为整个条件表达式的值
    例如:

    maxdata =a>b?a:b;
    

    等价于:

    if(a>b)
    	maxdata = a;
    else
    	maxdata = b;
    

    3、switch多分支语句
    switch()语句语法格式为:

    switch(表达式):
    {
    	case 常量表达式1:
    		语句序列1;
    	case 常量表达式2:
    		语句序列2;
    	...
    	case 表达式常量n:
    		语句序列n;
    	default:
    		语句;
    }
    

    注意:(1)、switch后面必须跟着由()括起来的整型表达式。
    (2)、常量表达式中不能包含变量和函数调用,且其值必须是整数
    (3)、switch语句执行时从上自下依次将switch()中的表达式的值与每个分支的常量表达式进行匹配,一旦与该常量表达式相等时,就从该标号后的语句开始执行,直到遇到break或switch结束符}为止
    (4)、当所有的case匹配均不成功时,程序跳转到default分支开始执行,直到遇到break或遇到switch结束符为止。default可以缺省。如果default不存在,而且switch()的表达式的值和任何一个case分支都不匹配的话,控制会直接传给switch语句后面的语句。
    (5)、同一个switch里,所有的case常量不能相同,当case的顺序没有要求。default分支不一定要放置到最后。

    当多个分支需要执行相同的语句时,可将多个case语句共享一段代码。
    例如:

    switch(c)
    {
    	case 'Y':
    	case 'y':
    		printf("Yes");
    		break;
    }
    
    展开全文
  • 控制流程之循环语句

    2020-09-09 22:38:33
    循环语句 一个循环一般应包括四部分内容: 初始化部分:用来设置循环的一些初始化条件,...while语句的一般格式: while(表达式){ 循环体; } 执行流程是,先判断条件是否满足,如果满足就执行循环体内的语句,执

    循环语句

    一个循环一般应包括四部分内容:

    1. 初始化部分:用来设置循环的一些初始化条件,计数器清零等。
    2. 循环体部分:这是反复被执行的一段代码,可以是单语句,也可以是复合语句。
    3. 迭代部分:这是在当前循环结束,下一次循环开始时执行的语句,常用来使计数器加1或减1。
    4. 终止部分:通常是以一个布尔表达式,每一次循环要对该表达式求值,以验证是否满足循环终止条件。
    while循环

    while语句的一般格式:

    	while(表达式){
    		循环体;
    	}
    

    执行流程是,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。
    简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。

    do-while循环

    do-while语句的一般格式:

    	do{
    		循环体;
    	}while(表达式);
    

    执行流程是,它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。
    因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。
    while与do-while的最大区别就是,do-while循环至少要执行一次循环语句。

    for循环

    如果希望程序的一部分内容按固定的次数重复执行,通常可以使用for循环,for循环采用一个计数器控制循环次数,每循环一次计数器就+1,直到完成给定的循环次数为止。for语句的一般格式:

    	for(表达式1;表达式2;表达式3){
    		循环体;
    	}
    

    执行流程,先执行表达式1进行初始化,然后表达式2进行关系比较,若成立执行循环体,不成立则跳出循环。成立执行循环体后,执行表达式3,然后再次执行表达式2,进行依次比较。

    展开全文
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  • C++ 无条件转移控制

    2021-01-05 13:41:28
    一般情况,很少使用goto语句复合语句外部转到复合语句内部,多用于从复合语句内部转到复合语句外部,如退出多重循环(goto语句会破坏程序结构,只有偶尔在这种情况下才使用),但是要是否会跳过变量定义语句,...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  • C语言语句分为5类: 1、 表达式语句 2、 函数调用语句 ...格式一般为:函数名(参数表); 控制语句条件判断语句  if语句,switch语句 循环执行语句  do while语句,while语句,for语句 转向语句  
  • 说明:修改用户密码一般有两种方式,一种是通过命令password修改,另一种是通过语句alter user实现,如果要修改他人密码,必须要具有相关权限才可以 用法: 方式一 password [用户名] 方式二 alert user 用户名...
  • 大学C/C++语言程序设计 第4章 选择结构程序设计; C语言的语句可分为以下...4.1 if语句条件选择语句 if语句的三种形式 1形式一单分支 一般格式 if表达式 语句 ;实验教程P18页6题if 单分支结构;实验教程P18页6题if 单分
  • 文章目录一.C语言程序设计二.C程序的语句1.表达式语句2.函数调用语句3....在使用if语句中还应注意以下问题5.if语句的嵌套6.条件运算符和条件表达式7.switch语句八.循环结构程序1.while语句2.do-wh
  • printf函数调用的一般形式为: printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  •  1 内存变量定义的一般形式  2 字节变量  3 字变量  4 双字变量  5 六字节变量  6 八字节变量  7 十字节变量  4.3 调整偏移量伪指令  1 偶对齐伪指令  2 对齐伪指令  3 调整偏移量伪指令  4 偏移量...
  • C 程序组成2 基本数据类型常量变量名整型转义字符计算机存储单位3 数据输入和输出数据输入输出基本的格式输出语句格式说明符强制转换格式输入函数格式控制取地址符字符输出函数字符输入函数4 表达式与宏定义复合...
  • 课程笔记

    2018-12-09 19:45:27
    选择三种循环的一般原则 如果循环次数已知,计数控制的循环。用for 如果循环次数未知,条件控制的循环用while 如果循环至少执行一次,用do-while 2.嵌套循环 一个循环语句的循环体内又包含循环语句,称为嵌套...
  •   enmmm,上次主要写啦一些单表查询的内容,这次主要是多个表的查询(连接查询)。   前面的查询都是针对...查询的一般格式为: SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]... FROM <
  • 狂人C程序员入门必备

    2014-01-17 13:32:44
    1.3.1 简单的一般用法 1.3.2 特殊的字符 1.4 C语言的“字母”和“单词” 1.4.1 C语言的字母 1.4 12C语言的“词” 小结 概念与术语 风格与习惯 常见错误 牛角尖 练习与自测 第2章 数据类型 2.1 什么是数据类型 2.1.1...
  • 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的概念 1.18 算术运算 1.19 判断:相等与关系运算符 1.20 新型头文件与名字空间 1.21 有关...
  • 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的概念 1.18 算术运算 1.19 判断:相等与关系运算符 1.20 新型头文件与名字空间 1.21 有关...
  • 14.1.1 while循环的一般形式 147 14.1.2 while循环的执行过程 147 14.2 do-while语句和用do-while语句构成的循环结构 149 14.2.1 do-while语句的循环结构 149 14.2.2 do-while循环的执行过程 149 14.3 break和...
  • Code Compl 代码大全

    2011-05-26 12:09:22
     第15章 使用条件语句  15.1 if语句  简单if-then语句  if-then-else语句串  15.2 case语句  为case选择最有效的排序  使用case语句的提示  关键点  第16章 控制循环  16.1 选择循环的种类  什么时候使用...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

复合条件语句的一般格式