-循环语句分析 

循环语句的基本工作方式

- 通过条件表达式判断是否执行循环体

- 条件表达式循环if语句表达式的原则

do、while、for的区别

- do语句先执行后判断,循环体至少循环一次

- while语句先判断后执行,循环体可能不执行

- for语句先判断后执行,相比while更简洁

三者在使用上的区别:

 #include <stdio.h>

 int f1(int n)
{
int ret = ; if( n > )
{
do
{
ret += n;
n--;
}
while( n > );
} return ret;
} int f2(int n)
{
int ret = ; while( n > )
{
ret += n;
n--;
} return ret;
} int f3(int n)
{
int ret = ;
int i = ; for(i=; i<=n; i++)
{
ret += i;
} return ret;
} int main()
{
printf("%d\n", f1());
printf("%d\n", f2());
printf("%d\n", f3()); return ;
}

-循环语句分析

  

break和continue的区别

- break表示终止循环的执行

- continue表示终止本次循环,进入下一次循环

思考:

switch能否用continue关键字?为什么?

答:不行,因为continue是用于循环的,而switch语句根本不是循环。

 #include <stdio.h>

 void f1(int n)
{
int i = ; for(i=; i<=n; i++)
{
if( (i % ) == )
{
break;
} printf("%d ", i);
} printf("\n");
} void f2(int n)
{
int i = ; for(i=; i<=n; i++)
{
if( (i % ) == )
{
continue;
} printf("%d ", i);
} printf("\n");
} int main()
{
f1();
f2(); return ;
}

do和while 结合的妙用

实例三:下面的例子为了执行强制free();来防止内存泄漏。

 #include <stdio.h>
#include <malloc.h> int func(int n)
{
int i = ;
int ret = ;
int* p = (int*)malloc(sizeof(int) * n); do
{
if( NULL == p ) break; if( n < ) break; if( n > ) break; for(i=; i<n; i++)
{
p[i] = i;
printf("%d\n", p[i]);
} ret = ;
}while( ); printf("free(p)\n"); free(p); return ret;
} int main()
{
if( func() )
{
printf("OK\n");
}
else
{
printf("ERROR\n");
} return ;
}

小结:

for循环先进入循环再进入循环体

for循环适合于循环次数固定的场合

while循环先进行判断再进入循环体执行

while循环适合于循环次数不定的场合

do ... while 循环先执行循环体再进行条件判断

do ... while 循环体至少执行一次循环体

C语言循环语句工程用法的更多相关文章

  1. go语言循环语句 for

    Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...

  2. while,do while和for循环语句的用法

    一.while的用法 //循环 int i = 10; while(i > 0){ if(i==8) {i--; continue;//跳过 } System.out.println(--i); ...

  3. Go 语言循环语句

    在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...

  4. GO语言学习(十一)Go 语言循环语句

    Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 语法 Go语言的For循环有3中形式,只有其中的一种 ...

  5. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  6. 子数涵数·C语言——循环语句

      之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include<stdio.h> 2 int m ...

  7. R语言 循环语句、分支语句和中止语句-控制流篇

    for 循环 用法 for (n in m) expr 若n在m中则运行 expr while 循环 用法 while (condition) expr 当符合condition时运行expr rep ...

  8. for循环语句的用法

    1.for(int i : index){}用法[又称是foreach用法]: 比如: public class Test { public static void main(String[] arg ...

  9. C#语言循环语句for嵌套

随机推荐

  1. sqlserver数据库重启

    停止:net stop mssqlserver 重启:net start mssqlserver

  2. Tomcat中使用JNDI配置各种数据源

    最近接手了一个离职同事的老项目,全是XML配的,看的我贼难受,不过了解下配置原理还是有好处的 1.MySql <Resource name ="cockpitTest" au ...

  3. react+dva+antd+umi项目建立操作流程及知识点总结

    0.1 引用 0.1.1 react官网 0.1.2 dva官网 0.1.3 antd-mobile官网 0.1.4 umijs官网 0.1.5 转载文章-umi操作手册 一.what are the ...

  4. 关于牛客网C语言结构体位域(bit-fields)的一道题

    题目链接地址: https://www.nowcoder.com/questionTerminal/f4e20747a2dd4649bac0c028daa234f4 来源:牛客网 低地址字节 Byte ...

  5. 0010 基于DRF框架开发(03 模型序列化器)

    序列化器:是指从数据库提取数据,转化前端所需要的数据格式并返回到前端. 反序列化器:是指把前端传回的数据,转换成数据库需要的格式,存入数据库. DRF提供了两种序列化器: 模型序列化器:是指和模型关联 ...

  6. Android_AsyncTask异步类

    ·AsyncTask是一个轻量级的异步抽象类 ·Android程序刚启动时,会同时启动一个像一个的主线程,这个主线程主要负责处理与UI有关的事件,有时也被称为UI线程,Android app中必须遵循 ...

  7. linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三)

    linux centos7环境下安装apache2.4+php5.6+mysql5.6 安装及踩坑集锦(三) 安装PHP 1.yum方式安装PHP方法同安装apache一样传送门:linux cent ...

  8. hyper-v虚拟机不能访问外网的解决方案

    直接说解决方案,将虚拟机的一张网卡改为旧版网络适配器即可.具体原因还不可知. 延申一下,一般应该使用的交换机,是“外部”类型即可.

  9. P5048 [[Ynoi2019模拟赛]Yuno loves sqrt technology III]

    为什么我感觉这题难度虚高啊-- 区间众数的出现次数- 计算器算一下 \(\sqrt 500000 = 708\) 然后我们发现这题的突破口? 考虑分块出来[L,R]块的众数出现个数 用 \(\text ...

  10. UTF-8与GBK的区别

    中文解码提示UnicodeDecodeError,UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: inv ...