精华内容
下载资源
问答
  • C语言 循环

    2020-07-07 10:05:10
    循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行。 条件成立是循环继续的条件。 do-while循环 进入循环时不做检查,执行完一轮循环体的代码后再检查循环的条件是否满足,若满足则继续下一轮循环,...

    C语言 循环

    参考翁恺老师慕课《c语言程序设计》

    while循环

    在这里插入图片描述

    1. 当条件满足时,不断重复执行循环体中的语句。
    2. 循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行。
    3. 条件成立是循环继续的条件。

    do-while循环
    在这里插入图片描述
    进入循环时不做检查,执行完一轮循环体的代码后再检查循环的条件是否满足,若满足则继续下一轮循环,不满足则结束循环。循环体至少执行一遍。

    for循环
    for(初始动作;条件;每轮的动作){ }
    for中的表达式每一个都是可以省略的。

    执行顺序:

    for(int i=1;i<=n;i++){fact *= i}
    

    在这里插入图片描述

    循环次数:
    eg:for(i=0;i<n;i++)
    循环次数为n,循环结束后,i的值是n。

    总结:
    若有固定次数,用for;
    若必须执行一次,用do-while;
    其他情况用while。

    展开全文
  • C语言复习循环

    2020-08-22 18:19:21
    关系运算符的优先级低于算术运算符(==和!=在关系运算符中优先级...2)如果没有break 则会继续执行后面的代码 3)可以没有defalut 三目元算符 a>b ? a : c>d ? c : d等价于a>b ? a : c>d ? c : d for(表

    关系运算符的优先级低于算术运算符(==和!=在关系运算符中优先级最低),高于赋值运算符

    kji+5

    注意if判断中的=和==
    例如if (a=b)和if(a==b)

    赋值运算符 逻辑运算符与或 关系运算符 算术运算符 非
    优先级从低到高

    switch
    1)case后面必须是整数 不能是变量
    2)如果没有break 则会继续执行后面的代码
    3)可以没有defalut

    三目元算符
    a>b ? a : c>d ? c : d等价于a>b ? a : c>d ? c : d

    for(表达式1; 表达式2; 表达式3){
    语句块
    }
    表达式3在循环体执行完以后再执行 表达式1只执行一次

    表达式1”可以是初始化语句,也可以是其他语句。例如:
    for( sum=0; i<=100; i++ ) sum=sum+i;

    表达式1”和“表达式3”可以是一个简单表达式也可以是逗号表达式。
    for( sum=0,i=1; i<=100; i++ ) sum=sum+i;

    展开全文
  • C语言汇编循环语句

    2020-02-25 21:27:47
    今天讲的是C语言在的while循环语句。 一、while语句 while(i <= 5) { sum = sum + i; i++; } 1、代码示例 while利用 i 作为循环条件,不断地进行 sum 求和。 #include "stdafx.h" int main(int argc, ...

    首先,每天的C汇编搁了两天,要继续了,加油。
    今天讲的是C语言在的while循环语句。

    一、while语句

    while(i <= 5)
    	{
    		sum = sum + i;
    		i++;
    	}
    

    1、代码示例

    while利用 i 作为循环条件,不断地进行 sum 求和。

    #include "stdafx.h"
    
    int main(int argc, char* argv[])
    {
    	printf("Hello World!\n");
    	int i = 1,sum = 0;
    	while(i <= 5)
    	{
    		sum = sum + i;
    		i++;
    	}
    	printf("sum=%d\n",sum);
    	return 0;
    }
    

    2、反汇编

    在这里插入图片描述
    如上图,可以发现 while (){循环体} 语句的原理是:首先用 cmp 与
    被比较数 5进行 cmp比较,如果相反,则跳转地址(即 jg main+4Dh)。当执行完循环体时,利用 jmp + 条件地址 实现跳转,跳转到 while()语句 执行下一次循环。

    3、汇编代码实现:

    方法一:按照反汇编模式进行汇编

    	_asm
    	{
    		mov eax, [ebp - 4]
    		mov ebx, [ebp - 8]
    begin:
    		cmp eax, 5
    		jg end
    		add ebx, eax
    		inc eax
    		jmp begin
    
    end:	mov [ebp - 4], eax
    		mov [ebp - 8], ebx
    	}
    

    方法二:

    	_asm
    	{
    		mov eax, [ebp - 4]
    		mov ebx, [ebp - 8]
    		mov ecx, 5
    s:		add ebx, eax
    		inc eax
    		loop s
    		mov [ebp - 4], eax
    		mov [ebp - 8], ebx
    	}
    

    二、do……while语句

    1、代码示例:

    #include "stdafx.h"
    
    int main(int argc, char* argv[])
    {
    	printf("Hello World!\n");
    	int i = 1,sum = 0;
    	
    	do{
    		sum = sum + i;
    		i++;
    	
    	}while(i <= 5);
    
    
    	printf("sum=%d\n",sum);
    	return 0;
    }
    

    2、反汇编

    在这里插入图片描述
    如上图可知,do {循环体} while() 循环语句与while类似,只是首先执行了一遍循环体,当执行到while语句时,先用 cmp 和 被比较数5进行比较,如果满足条件(这里是jle),则返回循环体。

    3、汇编实现

    方法一;

    	_asm
    	{
    		mov eax, [ebp - 4]
    		mov ebx, [ebp - 8]
    		mov ecx, 5
    s:		add ebx, eax
    		inc eax
    		loop s
    		mov [ebp - 4], eax
    		mov [ebp - 8], ebx
    	}
    

    三、for循环语句

    1、代码示例

    #include "stdafx.h"
    
    int main(int argc, char* argv[])
    {
    	printf("Hello World!\n");
    	int i = 1,sum = 0;
    
    	for(; i<=5; i++)
    	{
    		sum = sum + i;
    	}
    
    	printf("sum=%d\n",sum);
    	return 0;
    }
    

    2、反汇编

    在这里插入图片描述
    由图可知,for(i=0; i<=5; i++)循环语句,i=1 可以分解为:mov指令使 i = 1,然后 jmp 执行条件语句(即cmp比较语句)。i <= 5类似于while中的条件比较,首先 cmp 进行比较,如果不满足条件(即jg 大于),则跳出循环体。当执行完循环体后,jmp 跳转到 i++ 语句,i++ 执行完成之后,执行 cmp 语句,然后执行循环体。

    3、汇编实现 :同上,基本相同

    展开全文
  • 03、C语言循环结构

    2021-02-16 00:58:26
    03、C语言循环结构 ①基本的循环语句 1.1 while循环 while循环的基本模式: while(表达式) //当循环条件被满足,继续向下执行 { 循环体; //若条件成立,则一直循环 //若想跳出循环,则需要改变循环条件,使...

    03、C语言的循环结构

    ①基本的循环语句

    1.1 while循环

    while循环的基本模式:

    while(表达式)    //当循环条件被满足,继续向下执行
    {
        循环体;	  //若条件成立,则一直循环
        			//若想跳出循环,则需要改变循环条件,使条件不成立
    }
    

    来个例子①

    #include<stdio.h>
    int main()
    {
        int count=0;//来个计数器
        while(count<3)
        {
            printf("I_LOVE_CODING\n");
            count++;//改变循环条件的计数器
        }
        return 0;
    }
    

    1.2 do while循环

    do while循环的基本模式:

    do
    {
        
        循环体;
            
    }while(表达式);
    

    举个例子:

    int count=0;
    do
    {
        printf("ILOVEYOU\n");
    }while(count<3);//满足条件三次,所以打印三遍
    

    此循环与while循环稍有不同之处在于:无论条件成立与否,循环至少执行一次

    do
    {
    
    }while(0); //此循环就只执行一次,多用于宏里
    

    1.3 for循环

    for循环基本样式:

    for(表达式1;表达式2;表达式3)
    {
        循环体4;
    }
    

    表达式1:循环条件的初始化

    表达式2:条件或逻辑表达式作为限制循环的条件

    表达式3:改变循环的语句

    循环的过程:1 {2 4 3} {2 4 3} {2 4 3}

    再来个小栗子:

    for(int count=0;count<3;count++)
    {
        printf("CSDN\n");
    }
    //表达式1也可出来
    int count=0;
    for(;count<3;count++)
    {
        printf("CSDN\n");
    }
    

    基本的循环语句看完了,了解下变异版循环——死循环,顾名思义,死循环就是走不出去的循环,即条件一直被满足

    while的死循环在第二课的博客中用到过

    while(1)
    {
        printf("爱你一万年\n");
    }
    

    do while 循环类似

    do
    {
        printf("PPP\n");
    }while(1);
    

    for循环就很变态了

    for(;1;);
    for(;;);
    

    感受一下被死循环支配的恐惧,for(;1;)亦是如此;

    在这里插入图片描述

    ②作用域和生命周期

    作用域:从变量产生的位置到最接近变量的大括号内

    变量分为

    全局变量:不被大括号包含的变量

    局部变量:被大括号包含的变量

    Talk is cheap , show you the code

    #include<stdio.h>
    int iNum=0;		//此为全局变量
    int main()
    {
        int iNum=0;//此为局部变量,即使重名也没毛病,因为并不在同一作用域内
        return 0;
    }
    

    在同一作用域下,变量不可重名;

    不同作用域下同名问题的解决:就近原则;

    静态变量:static 修饰的变量,定义时必须初始化,且每次执行保留上一次执行后的结果

    for(int count=0;count<3;count++)
    {
        int i_Count=0;
    	static int s_Count=0;
        i_Count++;
        s_Count++;
        printf("i_Count=%d\n",i_Count);
        printf("s_Count=%d\n",s_Count);
    }
    

    上图片:简单明了(手动狗头)

    在这里插入图片描述

    ③循环的基本使用

    如何使用循环?

    1、描述有规律的事

    1.1 次数问题

    1.2 名次问题

        int count = 0;
        while (count++ < 3)
        {
            printf("第%d名\n", count);
        }          //打印出来是 第1名(换行)第2名(换行)第3名(换行)
        count = 0;
        while(++count<3)
        {
            printf("第%d名\n", count);
        }		   //打印出来是 第1名(换行)第2名(换行)
    

    2、做递推使用

    2.1 求和问题

      //从1加到100
    	int result = 0;
        for (int i = 1; i <= 100; i++)
        {
            result += i;
        }
        printf("result=%d\n", result);
    

    2.2 公式求解问题

    比如辗转相除法:

    //最大公约数,正常人的写法
        int m = 0, n = 0;
        scanf("%d%d", &m, &n);
        int max = m > n ? m : n;
        int min = n < m ? n : m;
        for (int k = min; k > 0; k--)
        {
            if (max % k == 0 && min % k == 0)
            {
                printf("%d\n", k);
                break;
            }
        }    
    //辗转相除法
        result = max;
        while (result != 0)
        {
            result = max % min;
            max = min;
            min = result;
        }
        printf("%d\n", max);
      
    

    2.3 拆分整数

        int iNum = 1234;
        while (iNum)
        {
            printf("%d\n", iNum % 10);
            iNum /= 10;
        }
        printf("\n");
    

    ④、循环嵌套

    用于描述1、行列关系

    int i , j ;
    	for (i = 0; i<3; i ++)		//外层循环
    	{
    		for (j = 0; j<3; j ++)  //内层循环
    		{
    			printf("%d%d\t", i, j);
    		}
    		printf("\n");
    	}
    

    2、行与数目关系

    /*
         *
        *** 
       ***** 
      *******
    */
    	for (int i = 0; i < 4; i++)
    	{
    		for (int k = 1; k < 4- i; k++)
    		{
    			printf(" ");
    		}
    		for (int j = 0; j <2*i+1; j++)
    		{
    			printf("*");
    		}
    		printf("\n");
    	}
    	
    

    3、枚举出来筛选数据

    			标记法
    

    上才艺

    	//求素数:只能被自身和1整除的数字就是素数
    	//整除:取余等于0
    	//标记法
    	int num = 123;
    	int flag = 0;
    	for (int i = 2; i < num; i++)
    	{
    		if (num % i == 0)
    		{
    			flag = 1;
    		}
    	}
    	if (flag == 1)
    	{
    		printf("不是素数\n");
    	}
    	//分析标记讨论结果
    	else
    	{
    		printf("素数\n");
    	}
    

    ⑤跳出语句

    break: 跳出switch语句,跳出一次循环

    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            if(i==2&&j==2)
            {
                break;
            }
        }
        printf("在此处跳出!\n");//break 跳出一次循环
    }
    

    goto: 跳转到标识位置

    for(int i=0;i<3;i++)
    {
        for(int j=0;j<3;j++)
        {
            if(i==2&&j==2)
            {
                goto NEXT;
            }
        }
    }
    NEXT:		//跳到标识处
    ;
    

    continue: 跳出(结束本次执行,继续下一次循环)

    for(int i=0;i<10;i++)
    {
        if(i%3==0)
        {
            continue;//当满足if语句条件时,无视本次满足if条件的打印任务,直接继续
        }
          printf("热爱工作\n");
    }
    

    i=3,6,9时跳过打印任务,因此只打印6次
    在这里插入图片描述

    ⑥随机函数

    1、rand():产生一个随机unsigned int数字

    2、如何控制范围:取余

    X % N —— [0,N-1]

    rand() % X —— [0,X-1]

    rand() % X + a —— [0,X-1+a]

    rand() % X * 10 —— 随机产生的数字都能被10整除

    3、设置随机函数种子:

    设置随机函数范围:

    srand(200);//范围是0—200
    
    srand((unsigned int)time(0));//随机数根据时间而改变
    
    展开全文
  • C语言for循环

    2013-10-31 22:19:05
    c语言中的for语句使用最为灵活,它完全可以替代while语句。 for(表达式1;表达式2;表达式3)语句 执行过程: (1)求解表达式1 (2)求解表达式2,若值为真(非0),则执行for语句中的内嵌语句,然后执行第3不,若值...
  • C语言循环语句

    千次阅读 2015-08-09 06:06:23
    循环语句是用于重复执行某条语句(循环体)的语句,它包含一个控制表达式,每循环执行一次都要对控制表达式进行判断,如果表达式为真,则继续执行循环C语言提供了3中循环语句,分别为while语句,do while语句和for...
  • C语言——循环结构(for循环,while循环,do-while循环) 1.for循环 for循环的格式为: for(初始化;条件;调整) { 循环体; } eg: ``for(int i=1;i<=n;i++) 初始化:int i=1;//初始时将1赋值给i,即i=1。 ...
  • 一、循环结构的思想及意义:知道了循环结构,那么在生活中也一样,我们每天都在重复做着相同的事情,例如:吸气呼气的过程;又如夏天开电扇,电扇一圈一圈的转,这都是在重复。现在大家玩个游戏,一个人A来说一个人B...
  • 可恶的C语言——循环

    2020-09-29 00:08:28
    循环 ...循环继续的条件;循环每轮要做的动作){ 语句; } 若有固定次数,则选用for循环。若必须执行一次,则选用do-while循环。其他情况则选用while循环。 四、break与continue break:跳出循环 co
  • C语言——循环练习

    2019-01-20 15:21:06
    让我们继续吧~ 1、使用for循环打印一个表格,要求用户输入表格的上下限,每一行打印一个整数、该数的平方、立方。 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; int main(void) { int n, MAX, MIN; ...
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    一、循环结构的思想及意义: 知道了循环结构,那么在生活中也一样...第一种思维那就是说一下命令就让B执行动作,B执行完动作后,A再继续说命令,B再继续做动作,同样的事情重复十遍。如果利用所学的知识,让你输出十...
  • C语言循环

    2018-11-09 19:59:45
    do{执行语句}while(判断条件):do…while的特点是先执行循环,再判断是否符合条件,若满足条件则继续循环,直到不满足条件或碰到break。 while(判断条件){执行语句}和for(判断条件){执行语句}语句均为先判断是否...
  • 表达式2:判断,为真循环继续,为加循环结束;每次进入循环都需判断;每次都执行。 表达式3:步进,修改循环因子值;执行完语句块1之后执行;每次都执行。 分析如下代码: int main() { char *strl = "a
  • C语言循环语句

    2014-08-08 20:34:10
    继续执行下面语句; if(条件表达式){ 语句1; }   2.复杂的:当条件表达式为真时执行语句1,否则,执行语句2; if(条件表达式){ 语句1; } else{ 语句2; }   3.超复杂的(级联式):在同一...
  • 而向while()循环 do_while()循环 if()语句中括号的表达式都是布尔表达式,只有在括号中的布尔表达式为真的时候,循环才会继续。 而for(表达式1;表达式2;表达式3) 其中表达式2为布尔类型,我们一定要明确java中布...
  • C语言 循环结构注释

    2018-12-20 22:53:12
    C语言中,循环结构由循环语句for、while和do…while来实现。 作为注释,应在它们的前面说明其功能,在循环条件判断语句行的后面,说明循环继续条件的含义,如下所示。 1)for语句 /功能/ for(变量初始化;循环...
  • c语言循环专题

    2018-11-22 23:26:05
    while()循环 //while的汉译是 当....循环继续的条件;循环每轮要做的条件){   } ***for中的每一个表达式都是可以省略的 for(;条件;)==while(条件)  for循环像一个计数循环:设定一个计数器,初始化它,  然后在计...
  • C语言中,continue语句常用于跳过循环体的某部分代码,然后继续下一次循环,如代码1: for(i=1;i{ if(i%3!=0) continue; printf("i=%d/n",n);} 代码自动输出100以内3的倍数.现在有如下代码2: for(i=1;i{ if(i%3!=...
  • do…while语句:执行循环体,判断条件是否为真而继续循环 举例——while循环 #include<stdio.h> int main() { int loop = 0; while (loop<1) { printf("Hello,World"); loop += 1; } return 0; } ...
  • 课堂测验 请同学们将书合上拿出一张纸 给你们3分钟...循环结构 引入循环结构就可以简化程序中大量的重复操作 C语言循环是由while语句do while 语句和for语句来实现的 为了更方便地控制程序流程C语言还提供了两个循环
  • 然后继续下一次循环。而continue语句在跳出switch语句后,会直接执行下一次循环语句,不会执行switch语句后面的语句。另外,在嵌套的循环语句中使用break语句时,只会跳出内层的循环语句,不会影响外层的循环体。 ...
  • C语言程序设计第4章 循环结构本章主要内容 1. 循环结构设计理念 2. for循环语句 3. while循环语句 4.... 构造循环体step2: 寻找控制循环的变量step3: 找出控制循环变量的3个要素初值继续循环的条件
  • * Version 1.0 * * Version 1.0 * 进一步学习描述算法的方法流程图 掌握C语言循环的三种语句格式 掌握应用循环的要求 * 数据结构+算法=程序 * 提款模拟程序程序要求用户输入要提取的现金额度后提问是否继续现金的...
  • For 循环 While 循环 Do while 循环 For 循环和 do while 循环的区别 PART A 各个语句的基本概念 ...B:再执行表达式2,其中若表达式2中的语句为真(非0)则继续下一步,执行循环体,若为假,跳出
  • C语言继续学习一

    2016-04-08 21:55:00
    字符数组思路:while (还有未处理的行) if (该行比已经处理的行中最长行还要长) 保存该行; 保存该行的长度; 打印最长行找出最长行并打印1、编写了一...功能读取下一行没有写完,把我喜欢的单曲循环的歌贴出来
  • c语言--循环结构.ppt

    2020-04-17 22:54:26
    C语言的重复语句用于设置循环 循环是重复执行其他语句的一种语句循环中重复执行的语句就是循环体 C语句中每个循环都有一个控制表达式 每次执行循环体时都要对控制表达式进行计算 如果表达式为真也就是不为零那么继续...
  • 为此,我们假定队列是循环的,虽然实际上不会是这样,但是在数据结构处理的时候,当元素填满之后,可以继续从头开始填充被空出来的位置,如图 下面是循环队列的模板算法 #include <stdio.h>#include &...
  • C语言中的循环结构

    千次阅读 2020-03-21 21:31:27
    它由循环体中的条件,判断继续执行某个功能还是退出循环循环结构的三个要素:循环变量、循环体和循环终止条件。循环结构有三种语句,即while、do…while和for循环。 while语句 代码结构 while(表达式) 循环语句;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 662
精华内容 264
关键字:

c语言继续循环

c语言 订阅