C控制语句:循环

1.while循环
学习笔记3.(未完成)
     (1.)何时终止循环
程序示例1.1:
#include <stdio.h>
int main(void)
{
     int n=5;
          while(n<7) //第7行
     {
          printf(“n=%d\n”,n);
          n++;第10行
          printf(“Now n = %d\n”,n);//第11行
     }
     printf(“The loop has finished.\n”);
     return 0;
}
运行程序,输出如下:
n = 5
Now n = 6
n=6
Now n = 7
The loop has finished.
在第2次循环时,变量n在第10行首次获得值7。但是,此时程序并未退出,它结束本次循环(第11行),并在对第7行的测试条件求值时才退出循环(变量n在第1次判断时为S,第2次判断时为6)。
     (2.)while: 入口条件循环
          while循环是使用入口条件的有条件循环。所谓“有条件”指的是语句部分的执行取决于测试表达式描述的条件,如(index < 5)。该表达式是一个入口条件(entry condition),因为必须满足条件才能进入循环体。在下面的情况中,就不会进入循环体,因为条件一开始就为假:
index=10;
while (index++ < 5)
     printt(“Have a fair day or better.\n”);
把第1行改为: Index = 3;
就可以运行这个循环了。
     (3.)用关系运算符和表达式比较大小
          while循环经常依赖测试表达式作比较,这样的表达式被称为关系表达式(relational expression),出现在关系表达式中间的运算符叫做关系运算符(relational operator)。前面的示例中已经用过一些关系运算符,表6.1列出了C语言的所有关系运算符。该表也涵盖了所有的数值关系(数字之间的关系再复杂也是有人与人之间的关系复杂)。

运算符 含义
< 小于
<= 小于或等于
== 等于
>= 大于或等于
> 大于
!= 不等于

     关系运算符常用于构造while语句和其他C语句中用到的关系表达式。这些语句都会检查关系表达式为真还是为假。下面有3个互不相关的while语句,其中都包含关系表达式。
while (number < 6)
{
     printf(“Your number is too small.\n”);
     scanf("%d", number);
}

while (ch !=’$’)
{
     count++;
     scanf("%c", &ch);
}
while (scanf("%f", &num) == 1)
          sum = sum + num;
          注意,第2个while语句的关系表达式还可用于比较字符。比较时使用的是机器字符码(例如:ASCII)。但是,不能用关系运算符比较字符串。
          虽然关系运算符也可用来比校浮点数,但是要注意比较浮点数时,尽量只使用<和>。因为浮点数的舍入误差会导致在逻辑上应该相等的却不相等。例如3乘以1/3的积是1.0。如果用把1/3表示成小数点后面6位数字,乘积则是.999999,不等于1。使用fabs()函数(声明在math.h头文件中)可以方便地比较浮点数,该函数返回一个浮点值的绝对值(即没有代数符号的值)。

相关文章:

  • 2021-10-10
  • 2021-11-17
  • 2021-05-25
  • 2021-10-19
  • 2021-07-11
  • 2021-06-01
  • 2021-05-20
  • 2022-02-18
猜你喜欢
  • 2021-11-23
  • 2022-02-18
  • 2021-11-25
  • 2021-08-24
  • 2021-11-02
  • 2021-05-03
  • 2021-12-11
相关资源
相似解决方案