——黑马程序员——C语言中程序结构(二)

-----------android培训java培训、java学习型技术博客、期待与您交流!-----------

C语言基础--while语句、do...while语句和for语句

三、循环结构

在C语言程序设计中除了,会遇到需要重复的事情需要处理所以除了(一)中提到的顺序结构和分支结构之外还有循环结构。

1、while 语句

while (表达式)
{
语句块
}
表达式 称为循环条件表式,它的值只有两种情况真或者假, { } 中语句称作循环体
条件:(1)循环控制条件(2)循环体 (3)让循环控制条件为假的语句,否则会死循环
特点:(1)是当型循环,先判断条件表达式,后执行循环体语句,当表达式为真时,执行循环
   (2)循环体语句只有一句时可以省略;
           (3)如果条件表达式为假,循环体语句一次也不执行
           (4)while()之后加了分号“;”之后相当于空语句
    (5)最简单的死循环 while(1),因为表达式永远都成立。
#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定义变量
    int i = 1;
    //判断i的值
    while(i < 5)
        {
	//打印出信息
	 printf("这是第%d次打印:黑马程序员\n",i);
	//让i加1
         i++;
        }
	system("pause");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
    //定义变量
    int i = 1;
    //判断i的值
    while(i > 5)
        {
	        //打印出信息
		printf("这是第%d次打印:黑马程序员\n",i);
	       //让i加1
               i++;
        }
     //while条件不成立时程序执行这句
     printf("while循环体没有执行\n");  
	system("pause");
	return 0;
}


2、do...while 语句

一般形式为:
do
{
语句块
}
while (表达式);
表达式 称为循环条件表式,它的值只有两种情况真或者假,do之后的 { } 中语句称作循环体
特点:(1)是直到型循环,先无条件地执行循环体,然后再判断循环条件是否为真,
   (2)不管表达式真假,循环体语句至少会执行一次。
   (3)在do...while(表大式)中while(表达式)之后必须加上分号“;” 不加时会报错
#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定义变量
    int i = 1;
    //判断i的值
    do
    {
			//打印出信息
			printf("这是第%d次打印:黑马程序员\n",i);
			//让i加1
            i++;
     }
     while(i > 5); 
	system("pause");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
int main()
{
		//定义变量
    int i = 1;
    //判断i的值
    do
    {
			//打印出信息
			printf("这是第%d次打印:黑马程序员\n",i);
			//让i加1
            i++;
     }
     while(i < 5); 
	system("pause");
	return 0;
}

while()之后未加分号“;”是报错


3、while 和do...while之间的区别:

(1)当循环控制条件第一次判断不为假的时候while和do...while 执行的次数相同
(2)当循环控制条件第一次判断为假的时候,while循环体执行0次,而do...while 循环执行1次
(3)while先判断后执行,do...while先执行后判断

4、for 循环语句

在C语言中for循环是用的最多的也是最灵活的循环,可用于循环次数不确定而只给出循环结束条件的情况,他完全可以代替while语句
一般形式:
for(表达式1;表达式2;表达式)
{
语句块
}
过程:先求解表达式1的值;再求解表达式2,若其值为真,则执行{ }中的语句块,然后返回求解表达式3;若表达式2的值为假则不执行{ }中的语句块,程序继续向下执行
特点:(1)表达式1也称初始化语句,可以写在for循环之外,在执行过程中只执行一次
   (2)当条件表达式2不满足是,则循环结束
   (3)表达式3省略后,会造成for 语句的死循环
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i;
    //调用for循环
    for( i = 0; i < 5; i++)
    {
    //打印结果
    printf("这是第%d次打印:黑马程序员\n", i);
	}
	system("pause");
	return 0;
}


for循环语句省略格式1

for(;表达式2;表达式3)
{
语句块
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //调用for循环
    for( ; i < 5; i++)
    {
    //打印结果
    printf("这是第%d次打印:黑马程序员\n", i);
     }
	system("pause");
	return 0;
}

for循环语句省略格式2

for(;表达式2;)
{
语句块
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //调用for循环
    for( ; i < 5;  )
    {
    //打印结果
    printf("这是第%d次打印:黑马程序员\n", i);
   //让i自增
    i++;
     }
	system("pause");
	return 0;
}

for循环语句省略格式3

for(;;)
{
语句块
}
#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i = 0;
    //调用for循环
    for( ; ; )
    {
    //用if语句判断i的值
	  if(i < 5)
      //i的值小于5时执行
        {
		//打印结果
		printf("这是第%d次打印:黑马程序员\n", i);
		//让i自增
		i++;
        }
        //当i的值不小于5时结束语句
       else
        {
			break;
        }
    }
	system("pause");
	return 0;
}

for语句死循环

#include <stdio.h>
#include <stdlib.h>
int main()
{

    int i;
    //调用for循环
    for( i = 0; i < 5; )
    {
		//打印结果
		printf("这是第%d次打印:黑马程序员\n", i);	
    }
	system("pause");
	return 0;
}


未完待续。。。。。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章