硕彦博创学习记录——2018.7.10(if、for、switch)

块语句:成为一个整体
{

    语句1;

    语句2;

    ...
}

语句:

    空语句:       ;

    非空语句: ***;

程序的流程控制:顺序,选择控制,循环

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

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

    if  switch

        if(逻辑条件表达式) 

            语句;  

//注:1、表达式为真,则执行下列表名句。否则不执行。
          2、结合:if()一条语句或者语句块结合成为一条完整的语句。

    双分支:

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

        {

            语句 ;

        }

        else  //条件为假

        {

            语句 ;

        }

    多分支:

        if(表达式1)

            语句 1;

        else if(表达式2)

            语句 2; 

            ...

        else

            语句n;

    嵌套if

        双分支:

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

        {

            if(表达式)

                语句 ;

                ...

        }

        else  //条件为假

        {

            if(表达式)

                语句 ;

                ...

        }

    多分支:switch

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

        {

            case 常量表达式1:

            break;

            case 常量表达式2:

            break;

            default:

        }

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

循环控制:重复执行

    for   while  do-while

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

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

嵌套循环

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

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

            循环体;
            ...

    }

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

    不再循环:break;(退出循环)
    开始下一次循环:continue;

练习题
1、通过if来比较flag与零值。  (笔试题)
 float flag;(精度)
 
 int flag; 
  if(0==flag)
    double flag;
* bool flag;
* int* flag;

int flag;
if(flag)    这样写,运行没有错误,但是是不对的,因为这样写flag要么为1要么为0,没有其他的值
 只能用if(flag==0)进行比较

float flag;
if(flag==0)或if(flag)  错误,因为若flag=0.0000001,结果为0,很显然flag不为0
 浮点型的比较需要考虑精度
 float若打印,小数点后只有6位

分别给出bool,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)

【解答】   

bool型变量:if(!var) 或if(var)

int型变量: if(var==0)  

float型变量:

const float EPSINON = 0.00001;   

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

指针变量:  if(var==NULL)   

【剖析】   

考查对0值判断的“内功”,BOOL型变量的0判断完全可以写成if(var==0),而int型变量也可以写成if(!var),指针变量的判断也可以写成if(!var),上述写法虽然程序都能正确运行,但是未能清晰地表达程序的意思。  

一般的,如果想让if判断一个变量的“真”、“假”,应直接使用if(var)、if(!var),表明其为“逻辑”判断;如果用if判断一个数值型变量(short、int、long等),应该用if(var==0),表明是与0进行“数值”上的比较;而判断指针则适宜用if(var==NULL),这是一种很好的编程习惯。   

浮点型变量并不精确,所以不可将float变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。如果写成if (x == 0.0),则判为错,得0分。 

在计算机领域,单等号“=”表示的是赋值操作,而双等号“==”表示的是比较操作。

2、
    *   
   ***  
  ***** 
 *******
*********     

    i的循环是为了控制行数,j的循环是控制空格数,k的循环是控制*的个数
3、求某正整型数字的最小公倍数(2位数的)


4、将54321的整型数字倒着打印

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

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

猜你喜欢

转载自blog.csdn.net/yangwenxiao123456/article/details/80990415
今日推荐