精华内容
下载资源
问答
  • C语言do while用法

    2020-12-02 10:22:58
    C语言do while与while与for循环用法 while循环的用法 while循环的结构如下 while (表达式){ 语句 }; 当表达式为真,执行下面的语句。语句执行完之后再判断表达式是否为真,若是真则继续执行下面的语句。...

    C语言中do while与while与for循环用法

    while循环的用法

    while循环的结构如下

    while (表达式){
        语句
    };

    当表达式为真,执行下面的语句。语句执行完之后再判断表达式是否为真,若是真则继续执行下面的语句。反之跳出循环。

    do while循环的用法

    do while循环的结构如下

    do{
        语句
    }while(表达式);
    
    

    do while循环与while循环的不同是:先执行一次语句,再判断表达式是否为真,然后决定是否再执行一次语句或者跳出循环。

    for循环的用法

    for循环的结构如下

    for (语句一,语句二,语句三){
        语句四
    };
    
    /***************例子***************/
    int i;
    for (i=0,i<3,i++){
    printf("hello %d\n");
    } //即打印三次hello

    其中语句一为单次表达式,语句二为条件表达式,语句三为末尾循环体。语句四为循环体。

    先根据for循环()中的语句判断条件是否满足,如果满足执行循环体语句,反之则跳出循环。

    展开全文
  • C语言中if,while, do-while和for循环用法 if 循环 if(条件成立){ …; } else { 条件不成立; } 一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干...

    C语言中if,while, do-while和for循环用法

    if 循环
    if(条件成立){
    …;
    }
    else
    {
    条件不成立;
    }

    一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果不是零,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的语句。
    if语句这一行结束的时候并没有表示语句结束的“;”,而后面的赋值语句写在if的下一行,并且缩进了,在这一行结束的时候有一个表示语句结束的“;”。这表明这条赋值语句是if语句的一部分,if语句拥有和控制这条赋值语句,决定它是否要被执行。

    while循环:
    while(条件满足){
    …//循环
    }

    eg:判断一个数是几位?

    #include<stdio.h>
    int main()
    {
    	int count=1;
    	int a;
    	scanf("%d",&a);
    	while(a/10){
    		count++;
    		a=a/10;// a/=10;
    	}
    	printf("%d\n",count);
    	return 0;
    } 
    

    或者如下

    #include<stdio.h>
    int main()
    {
    	int count=0;
    	int a;
    	scanf("%d",&a);
    	while(a){  //a>0
    		count++;
    		a=a/10;// a/=10;
    	}
    	printf("%d\n",count);
    	return 0;
    } 
    

    do-while 循环:
    在进入循环的时候不做检查,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环
    do
    {
    <循环体语句>
    }while(<循环条件>);

    eg:判断一个数是几位?

    #include<stdio.h>
     int main()
     {
     	int a;
     	int count=0;
     	scanf("%d",&a);
     	do {
     		count++;
     		a/=10;
    	 }
    	 while(a) ;
    	 printf("%d\n",count);
     	return 0;
      } 
    

    for 循环:
    for(count=10;count>0;count–)
    就读成:对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count–。

    求n!

    #include<stdio.h>
    int main()
    {
    	int n;
    	int sum=1;
    	scanf("%d",&n);
    	for(int i=0;i<n;i++)
    	{
    		sum=sum*(i+1);
    	}
    	printf("%d\n",sum);
    	return 0;
    } 
    
    #include<stdio.h>
     int main()
     {
     	int n;
     	int sum=1;
     	int i=1;
     	scanf("%d",&n);
     	do {
     		sum=sum*i;
     		i++;
    	 }
    	 while(i<=n) ;
    	 printf("%d\n",sum);
     	return 0;
      } 
    
    #include<stdio.h>
     int main()
     {
     	int n;
     	int sum=1;
     	int i=1;
     	scanf("%d",&n);
     	while(i<=n)
     	{
     		sum=sum*i;
     		i++;
    	 }
    	 printf("%d\n",sum);
     	return 0;
      } 
    

    for(i=0;i<n;i++)
    则循环的次数是n,而循环结束以后,i的值是n。循环的控制变量i,是选择从0开始还是从I开始,是判断i<n还是判断i<=n,对循环的次数,循环结束后变量的值都有影响。for中每一个表达式都是可以省略的
    for(;判断;)=while(判断)
    for==while
    for(int i=0;i<=n;i++)
    {
    fact*=i;
    }

    等价于======
    int i=1;
    while(i<=n){
    fact*=i;
    i++;
    }

    如何选择 循环:
    如果有固定的次数,用for
    如果必须执行一次,用do-whlie
    其他情况用while

    break:跳出循环
    continue:跳出循环
    goto: 从嵌套的循环中跳出,goto out

    eg:判断一个数是不是质数

    #include<stdio.h>
    int main()
    {
    	int n;
    	int isprime=1;
    	scanf("%d",&n);
    	for(int i=2;i<n;i++)
    	{
    		if(n%i==0)
    		isprime=0;
    		break;
    	} 
    	if(isprime==0)
    	printf("不是质数");
    	else
    	printf("是质数"); 
    	return 0;
    } 
    

    eg:输出n以内的素数

    #include<stdio.h>
    int main()
    {
    	int n;
    
    	scanf("%d",&n);
    	for(int j=2;j<=n;j++)
    	{
    		int isprime=1;
    		for(int i=2;i<j;i++)
    		{
    			if(j%i==0)
    			isprime=0;
    			break;
    		} 
    		if(isprime==1)
    		{
    			printf("%d ",j);
    		}
    
        }
     
    	return 0;
    } 
    

    //如何用1角,2角和5角的硬币凑出10元以下的金额呢

    #include<stdio.h>
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	for(int i=1;i<n*10;i++)
    	{
    		for(int j=1;j<n*10/2;j++)
    		{
    	 		for(int k=1;k<n*10/5;k++)
    	 		{
    	 			if(i+j*2+k*5==n*10)	
    				 printf("可以用%d个一角和%d个2角和%d个5角得到%d元钱\n",i,j,k,n);	
    			 }	
    		}
    	}
    	return 0;
    } 
    

    goto从嵌套循环中跳出

    #include<stdio.h>
    int main()
    {
    	int n;
    	scanf("%d",&n);
    	for(int i=1;i<n*10;i++)
    	{
    		for(int j=1;j<n*10/2;j++)
    		{
    	 		for(int k=1;k<n*10/5;k++)
    	 		{
    	 			if(i+j*2+k*5==n*10)	
    				 printf("可以用%d个一角和%d个2角和%d个5角得到%d元钱\n",
                                     i,j,k,n);
                                     goto out;
        }
    		}
    	}
     out:
    	return 0;
    } 
    
    展开全文
  • do-while语句的一般形式为:  do  语句  while(表达式); 这个循环与while循环的不同在于:它先执行循环中...因此, do-while循环至少要执行一次循环语句。 【例6.5】用do-while语句计算从1加到100的值 main() {

    do-while语句的一般形式为:
            do
                语句
            while(表达式);

    这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。

    【例6.5】用do-while语句计算从1加到100的值
    main()
    {
       int i,sum=0;
       i=1;
       do
            {
    sum=sum+i;
              i++;
             }
    while(i<=100)
        printf("%d\n",sum);
    }

    同样当有许多语句参加循环时, 要用"{"和"}"把它们括起来。

    【例6.6】while和do-while循环比较。

    (1)main()
    {

    int sum=0,i;
     scanf(“%d”,&i);
     while(i<=10)
        {

          sum=sum+i;
          i++;
       }
    printf(“sum=%d”,sum);
    }

    (2)main()
    {

    int sum=0,i;
     scanf(“%d”,&i);
     do
       {

        sum=sum+i;
         i++;
      }
    while(i<=10);
    printf(“sum=%d”,sum);

    }

    展开全文
  • 循环控制语句goto语句和if语句构成循环while语句do...while语句for语句 goto语句和if语句构成循环 goto语句的一般形式: 形式一 形式二 goto 语句标号—— – ````````````````````````… … |– ...

    C语言循环控制语句基本用法

    循环语句使用的基本思想:

    1. 对于事先循环次数已知的称为计数控制的循环,一般使用for循环;
    2. 对于事先循环次数不知的称为条件控制的循环,一般使用while或者do while循环语句;
    3. 对于一个循环语句包括另外一个循环语句的称为嵌套循环

    一、while语句

    1. 一般形式:
      赋初始值;赋初始值;赋初始值;
      while(循环控制表达式)
      {
      循环体语句;
      }
    2. 流程图:
      while

    循环控制表达式是在执行循环体语句前判断的:

    1. while语句的执行过程

    循环控制表达式是在执行循环体语句前判断的;
    如果表达式的值一开始就为0,则语句一次也不会被执行;
    a.计算循环控制表达式的值;
    b.如果循环控制表达式的值为真,则执行循环体语句,并返回步骤;
    c.如果循环控制表达式的值为假,则跳过循环,接着执行后面的语句;

    例1、输出1-100之间所有的奇数;

    #include <stdio.h>
    void main()
    {
    	int i=1;//记得赋初始值;
    	while(i <= 100)
    	{
    		if(i%2 != 0)//判断奇偶;(i%2==0)输出偶数;
    		{
    			printf("%5d",i);
    		}
    		i++;
    	}
    }
    
    1. 死循环(例举一种情况)
    #include <stdio.h>
    void main()
    {
    	int i=1;
    	while(i <= 100);//这里加上分号就很有可能变成死循环
    	{
    		if(i%2 != 0)
    		{
    			printf("%5d",i);
    		}
    		i++;
    	}
    }
    

    二、do…while语句

    1. 一般形式
      do
      {
      循环体语句;
      }
      while(循环控制表达式);

    while();后面有一个分号

    1. 流程图
      do...while

    先执行循环体语句,再进行表达式判断;

    1. do…while语句的执行过程:

    a.计算循环体语句;
    b.计算循环控制表达式的值;
    c.如果循环控制表达式的值为真,并返回步骤;
    d.如果循环控制表达式的值为假,则跳过循环,接着执行后面的语句;
    由于是先执行,后判断表达式的真假,所以循环体中的语句至少被执行一次;

    1. while 与 do…while的区别:
    (1)#include <stdio.h>              (2)#include <stdio.h>
    void main()                        void main()                           
    {                                  {    
    	int i=11;                       int i=11;
    	while(i<=10)                    do
    	{                              {
    		printf("i = %d\n",i);          printf("i = %d\n",i);
    		i++;                           i++;
    	}                               }
    	                                while(i<=10);
    }                                  }
    没有任何输出                        输出:i=11
    

    程序(1)是因为先判断后执行,所以当条件一开始就不满足的情况下,循环一次也不执行,所以没有任何输出;
    程序(2)是因为先执行后判断,已经执行过了一次再进行的判断,所以循环至少执行了一次,输出 i=11。

    例2:1-100之间的数字竞猜游戏(随机数值固定的情况下)

    #include <stdio.h>
    #include <stdlib.h>
    void main()
    {
    	int person,machine;//用户猜的数,系统随机数
    	int i = 0;  //猜的次数
    	printf("输入一个1-100之间的数:");
    	machine = rand()%100+1;
    	do{     
    		    scanf("%d",&person);
    			if(person>machine)
    			{
    				printf("这个数大了!\n");
    			}
    			else if(person<machine)
    			{
    				printf("这个数小了!\n");
    			}
    			else
    			{
    				printf("你猜对了!\n");
    			}
    			i++;
    	  }
    	while(person!=machine);
    	printf("您一共猜了%d次\n",i);
    }
    

    rand()函数生成的是0–32767之间的整数;使用时需要包括头文件 stdlib.h;
    rand()%b ==> [ 0, b-1 ] 之间;
    rand()%b+a ==> [ a,a+b-1 ]之间;

    三、for语句

    1. 一般形式:
      for(初始化表达式;循环控制表达式;循环变量增量)
      {
      循环语句;
      }

    for语句中的表达式分隔符分号,有且只有两个,不可以省略;

    也可以表示为其他形式:

    初始化表达式                           初始化表达式 
     for(  ;循环控制表达式;循环变量增量)     for( ;循环控制表达式; )
        {                                      {
           循环语句;                              循环语句;  
                                                  循环变量增量;
        }                                     }
     当循环控制表达式省略时,则表示循环条件永真,不做处理的话,可能会导致死循环;
    
    1. 流程图:
      for

    2. for语句的执行过程:
      a. 由初始化表达式开始;
      b.执行循环控制表达式,若其值为真(非0),则执行循环内语句,然后执行循环变量增量语句;
      c.若其值为假(0),则结束循环,执行循环外语句;

    例3:(算法一:穷举法) 韩信点兵问题
    韩信有一队兵,他想知道有多少人,便让士兵排队报数:按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。编程求韩信至少有多少兵?

    穷举法:从1开始,直到上述条件成立i,i则为所求的值;

    解法一:

    #include <stdio.h>
    void main()
    {
    	int i;
    	for(i=1; ;i++)
    	{
    		if(i%5==1 && i%6==5 && i%7==4 && i%11==10)
    		{
    			printf("%d\n",i);
    			break;
    		}
    	}
    }
    

    利用无限循环找出第一个满足条件的值,然后跳出循环;

    解法二:(对于循环次数未知的条件控制循环,一般使用while或者do while语句)

    #include <stdio.h>
    void main()
    {
    	int i = 0;
    	do
    	{
    		i++;
    	}
    	while(!(i%5==1 && i%6==5 && i%7==4 && i%11==10));
    	printf("%d\n",i);
    }
    

    算法二:递推法:下一项的值是在前一项的前提下推算出来的。
    求Fibonacci数列前40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始,该数是其前面两个数之和。

    #include <stdio.h>
    void main()
    {
    	int i, p=1,q=1;
    	for(i=1;i<=20;i++)
    	{
    		printf("%d %10d\n",p,q);
    		p=p+q;
    		q=q+p;
    	}
    }
    

    四、goto语句和if语句构成循环

    1. 一般不使用goto语句和if语句构成循环;

    **例:**计算1+2+…+100的和

    #include <stdio.h>
    void main()
    {
    	int i,sum;
    	i=1;sum=0;
    	round: if(i<=100)
    		   {
    			   sum = sum + i;
    			   i++;
    			   goto round;
    		   }
    	printf("%d\n",sum);
    }
    
    展开全文
  • C语言基础知识:do while用法理解

    千次阅读 2018-10-26 22:58:04
    while类似,do while语句也同样是用于完成程序循环的一种方式,它的基本用法如下: do {  //循环体 } while (条件表达式); 注意:do while语法与while有一些类似,也有一些不同,类似的地方是它同样有循环体和...
  • -循环语句分析  循环语句的基本工作方式 - 通过条件表达式判断是否执行循环体 - 条件表达式循环if语句表达式的原则 ... - do语句先执行后判断,循环体至少循环一次 - while语句先判断后执行,循环体可能不...
  • 前面学习的 do-while 语句和 while 语句都适合于解决循环次数未知的重复操作,在C语言中,如果已知重复操作的次数,可以使用for 循环语句,其一般格式如下:for(循环变量初始化;循环条件;循环变量增量){循环体 //一...
  • 循环 : 多次执行同一段程序 for(表达式1; 表达式2; 表达式3) { 语句块1 } 表达式1:初始化,有且执行一次,最早被执行 表达式2:判断,如果为真,循环继续,为假循环结束,每次进入时都需要...whiledo while只有0和1的区别
  • C语言之嵌套循环

    2020-03-24 11:48:44
    for循环用法链接:https://blog.csdn.net/qqj3066574300/article/details/105038846 while循环用法链接:https://blog.csdn.net/qqj3066574300/article/details/105039377 do while循环用法...
  • 用法while (条件) { } do { } while(条件); whiledo-while的区别 1.很多情况下,whiledo while可以互换 2.while特点:如果一开始的条件不成立,永远不会执行循环do while特点:不管一开始的条件是否成立,...
  • 中,我们了解了whiledowhile语法和continue语句的应用场景。本篇文章中,我们分析循环结构嵌套使用,并通过几个示例分析continue和break语句的结合用法。 章节预览: 3. continue和break应用场景 4. 循环结构...
  • 资料来源:C循环|菜鸟教程 break: 1、当break语句出现在一个内循环时,循环会立即终止,程序接着执行循环语句的下一句语句;也就是跳出当前的循环 2、用于终止switch语句中的一个case;... /* while...
  • 循环程序设计目标要求掌握C语言while循环用法掌握C语言do-while循环用法掌握C语言中for循环的用法掌握并能熟练地运用循环的嵌套设计掌握break语句和contiue语句控制循环的方法 第5章?循环程序设计讲课提纲...
  • C语言】08 循环

    2021-04-30 09:11:49
    do while 基本用法程序 3:编写一个程序计算用户输入的整数的位数三 for 循环1. for 语句的基本用法2. 在 for 语句中省略表达式3. C99 中的 for 语句4. 逗号表达式基本用法应用程序 4:显示平方表(for)程序 5:...
  • /*初学C语言,有不足还请指正*/ #include<stdio.h> #include"math.h" int main() { int i = 0; int sum = 0; xunhuan:if (i <= 100) //定义循环名称 <—————— //循环100次 { // ...
  • for()循环用法: for( e1 ; e2 ; e3 ) //注意三个区域间用分号来分隔,而不是逗号!! { for_statements ; //多条语句用{}括起来,单条语句可以不用,建议也使用,一:代码清楚,二:便于查错。 其它循环也是...
  • C语言 -- do{…}while(0)的意义和用法

    千次阅读 2018-03-08 11:51:50
    }while(0)这样的代码一看就不是一个循环do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 156
精华内容 62
关键字:

c语言dowhile循环用法

c语言 订阅