美文网首页想法简友广场
第五章 循环和关系表达式(2)while循环语句

第五章 循环和关系表达式(2)while循环语句

作者: 阿厉a_li | 来源:发表于2019-12-08 15:25 被阅读0次

(二)while循环语句

1.While循环的过程:

    首先,程序计算圆括号内的测试条件(test-condition)表达式。如果该表达式为true,执行循环体中的语句。和for循环一样,while 循环也是一种入口条件循环。因此,如果测试条件一开始便为false,则程序将不会执行循环体

2.for与while

    for与while在本质上没有区别,我们可以将for改写成while,也可以将while改写成for。还要注意一点的是,如果省略for循环中的判断体部分,那么判断部分将默认为true,导致for循环一直循环下去(如果省略while循环的判断体,则不会通过编译)。一般情况下,我们使用for循环为循环计数,也就是如果循环次数是确定的,我们就用for循环,而如果不确定循环次数的话,我们就使用while循环

3.在设计循环时请记住下面几条指导原则

(1)指定循环终止的条件

(2)在首次测试之前初始化条件

(3)在条件再次被测试之前更新条件

    for循环的一个优点是,其结构提供了一个可实现上述3条指导原则的地方,因此有助于程序员记住应该这样做。但这些指导原则也适用于while 循环。

4.等待一段时间:编写延时循环

    可以调用系统时钟来完成这个工作,即让程序等待一段时间再运行

    #inclede <ctime>

    ctime中的clock()函数会返回一个时间,这个时间是以系统的时间单位为单位的不是秒,而且这个返回值的类型是不确定的,有的环境是long,有的是unsigned long。解决方案,首先,CLOCKS_PER_SEC该时间常量是每秒钟包含的系统时间单位数,用系统时间除以它得到的是秒,用秒乘以它得到的是系统时间。其次,将clock_t作为clock()返回值的别名,这样我们可以用clock_t来声明一个clock()返回的变量的类型,具体的类型看系统具体的实现。

    比如:float delay; cin>>delay; delay*=CLODKS_PER_SEC; clock_t start=clock(); while(clock()-start<delay);//小于delay就一直循环

5.类型别名

    可以用两种方法来定义类型别名。第一#define a b表示文中所有出现a的地方用b来表示,符号常量也可以用这种方式,作用仅仅是符号代换,并不是真正意义上的别名,有时候会出现歧义,比如#define a int *之后,当使用a声明了两个指针变量如:a pointer1,pointer2,则编译器会将其设定成这样:int* pointer1,pointer2;导致的后果是pointer2不是指针类型,与我们希望的结果不一致。第二种是采用typedef声明,比如,typedef char * byte_pointer;就是将byte_pointer作为了字符指针这种类型的一个别名,它本身是一个整体,就是char *本身,不会出现歧义。比如下面的语句是不同的:

#define FLOAT_POINTER float *

FLOAT_POINTER pa , pb;

    预处理器置换将该声明转换为这样 :float *pa, pb;  //pa是一个指针,而pb将是一个浮点型。

    而typedef float * FLOAT_POINTER;则不会产生这样的歧义,它会使pa,pb都是浮点指针类型。

    使用typedef的一个简便的记忆方法就是相当于后面跟的是变量声明,只不过这个声明出来的“变量”其实是一个可以声明其他变量的别名罢了,感觉应该使用了auto(自动类型推断)的机制来实现的。比如:typedef int a;a b;就相当于int b;。还可以给函数指针起一个别名,方法同样就是用typedef声明一个函数指针,比如typedef double * (* pdf)(int x);则pdf就是一个返回值为double指针,参数是int型的函数指针的别名,可以用它来声明函数指针并赋值。比如pdf xa=function(其中function是函数名)。

相关文章

  • 循环

    while循环语句 while(条件表达式) {执行语句} for循环语句 for(表达式1;表达式2;表达式3)...

  • python循环结构

    while循环 while语句的条件表达式是循环条件,常用的是关系表达式或者逻辑表达式,语句块是循环执行的语句。 ...

  • Python里的循环与迭代函数(上)

    简单的使用for和while语句实现循环 while循环 while语句反复执行循环体中的语句,直到相关表达式求值...

  • Dart 循环语句

    for 循环 while(表达式/循环条件){} do{语句/循环体}while(表达式/循环条件); break...

  • PHP -- 循环

    if语句: switch语句: 循环结构:while: while(表达式){代码块循环结束的语句/条件(这个判断...

  • 学习笔记2

    关于while循环 while...dowhile(判断表达式){循环语句} while...do循环的特点:先进...

  • while / do-while 使用

    一、while语句的一般形式为: while(表达式)语句其中表达式是循环条件,语句为循环体。while语句的语义...

  • js基础理论总结(三)

    循环语句 通过循环语句可以反复的执行一段代码多次 while循环 - 语法: while(条件表达式){...

  • 循环语句-while

    一、循环语句——while语句和for语句 1、while语句 2、for语句

  • 循环语句

    通过循环语句可以反复的执行一段代码多次 while循环- 语法:while(条件表达式){语句...}while语...

网友评论

    本文标题:第五章 循环和关系表达式(2)while循环语句

    本文链接:https://www.haomeiwen.com/subject/jzyhgctx.html