程序的流程控制说明及笔试习题

已知程序的流程控制可分为:顺序,选择控制,循环等。

 1、顺序执行:从上往下,逐条来执行。

2、选择控制:当达到某种条件,执行特定的指令。

if  switch                                                    
if(逻辑条 件表达式)                                             

         语句;                                                                     

双分支:                                                             多分支:
if(表达式) //条件为真                                          if(表达式1)
{                                                                                     语句 1;
  语句 ;                                                                else if(表达式2)
}                                                                                     语句 2; 
    else //条件为假                                          ...
{                                                                          else
语句 ;                                                                       语句n;

}

 

  嵌套if

双分支:

if(表达式)                 //条件为真

{

   if(表达式)

                语句 ;

    ...

   else      //条件为假

{

   if (表达式)

               语句;

   ...

 

多分支:switch

switch(整型表达式) //注:必须为整型表达式

        case 常量表达式1:

         break;

        case 常量表达式2:

         break;

         default;

注:整型表达式表达式与常量表达式进行匹配;匹配成功则执行此分支直到遇到break分支才结束。

//注:1、表达式为真,则执行下列表名句。否则不执行。

         2、结合:if()一条语句或者语句块结合成为一条完整的语句。

循环控制:重复执行

 for   while  do-while

for(初始化表达式1;(逻辑值)结束表达式;过程表达式)

             循环体;

注:结束表达式为真则循环;否则退出循环  

嵌套循环

for(初始化表达式1;(逻辑值)结束表达式;过程表达式3)

        for(初始化1;结束表达式2;过程表达式3)

                   循环体; 

        ....

循环的控制:结束(不再循环;结束本次循环,开始下一次循环)循环

不再循环:break;(退出循环)

开始下一次循环:continue;

循环:for  while  do-while

while(逻辑值的表达式)//先判断再执行

             循环体

do

}while(逻辑值的表达式);  //先执行再判断

注:1、表达式为真,继续循环;表达式为假,退出循环

       2、表达式中值是否初始化。

       3、结束退出

练习

1、通过if来比较flag与零值。 (笔试题) 

float flag;(精度)+

int flag;

             if(0==flag)

double flag;

* bool flag;

* int* flag;

if语句中的布尔变量与零值作比较

不能用布尔变量与true,false,1,0直接作比较。布尔变量类型的语义是:零值为“假”,任何非零值都表示“真”。因为true的值并没有唯一的标准,因此不能用布尔变量与它直接进行比较。

假设布尔变量为flag,那么它与零值进行比较时if语句应该是

if(flag)\\表示如果flag为真

if(!flag)\\表示如果flag为假

不能用以下的这些方法

if(flag==1)

if(flag==true)

if(flag==false)

if(flag!=0)

if语句中整型变量与零值作比较

整型变量中应该用“==”“!=”直接与零作比较,例如:

if(value==0)

if(value!=0)

不应该用

if(value)

if(!value)

这样容易被误解为value是布尔变量。

if语句中浮点变量与零值作比较

不能将浮点变量用“==”“!=”与任何数字作比较。

float和double类型的变量都有精度限制。应该用“>=”“<=”的形式进行比较。应为

   if((x>=-MIN) && (x<=MIN))

MIN可以是0.00000001。

不能直接      if(x==0.00)

if语句中指针变量与零值作比较

指针变量的零值是“空”,因此应该与“NULL”作比较。虽然“NULL”代表0,但是有不同的意义。

if语句如下:

if(p==NULL)

IF(P!=NULL)

不同的形式代表不同的含义,因此要正确的表达想要表达的意思,应该用正确的方式写代码。

2、打印如下所示图案

    *    
   ***   
  *****  
 *******
*********

程序的流程控制说明及笔试习题

                                                      结果输出如图所示

3、求某正整型数字的最小公倍数(2位数的)程序的流程控制说明及笔试习题

程序的流程控制说明及笔试习题程序的流程控制说明及笔试习题

4、将54321的整型数字倒着打印
程序的流程控制说明及笔试习题

5、求某个数字的是否是回文数字   (***) 121  12345  54321 

程序的流程控制说明及笔试习题

6、求某个5位数中那一位数最大!12859

程序的流程控制说明及笔试习题