C语言循环语句工程用法
-循环语句分析
循环语句的基本工作方式
- 通过条件表达式判断是否执行循环体
- 条件表达式循环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语言循环语句工程用法的更多相关文章
- go语言循环语句 for
Go语言中的循环语句只支持for关键字,而不支持while和do-while结构. sum := 0 for i := 0; i < 10; i++ { sum += i } 无限循环的写法: ...
- while,do while和for循环语句的用法
一.while的用法 //循环 int i = 10; while(i > 0){ if(i==8) {i--; continue;//跳过 } System.out.println(--i); ...
- Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句. 以下为大多编程语言循环程序的流程图: Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执 ...
- GO语言学习(十一)Go 语言循环语句
Go 语言提供了以下几种类型循环处理语句: 循环类型 描述 for 循环 重复执行语句块 循环嵌套 在 for 循环中嵌套一个或多个 for 循环 语法 Go语言的For循环有3中形式,只有其中的一种 ...
- 详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- 子数涵数·C语言——循环语句
之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include<stdio.h> 2 int m ...
- R语言 循环语句、分支语句和中止语句-控制流篇
for 循环 用法 for (n in m) expr 若n在m中则运行 expr while 循环 用法 while (condition) expr 当符合condition时运行expr rep ...
- for循环语句的用法
1.for(int i : index){}用法[又称是foreach用法]: 比如: public class Test { public static void main(String[] arg ...
- C#语言循环语句for嵌套
随机推荐
- 监控redis cluster 主从实例是否切换,切换前后对应关系
需求:编写脚本实现对redis cluster 主从是否发生主从切换进行监控,若发生切换,输出切换前后主从对应关系. 初始化对比文件,仅执行一次,后续不需要在执行,除非该文件不存在. cmd=&quo ...
- 浅谈python的第三方库——pandas(二)
pandas使用小贴士 1 通过Series创建DataFrame 在pandas系列的第一篇博文中曾提到,Series可视为DataFrame的一种特例,即只有一列数据.既然如此,是否可以并列多个S ...
- 安卓自定义View实例-----跟随手指移动的鸟
今天学习了一些安卓开发中的自定义布局,编写了简单一个实例,“跟随手指移动的鸟”,需要两张图片,背景图片和鸟的图片,鸟的图片可以在屏幕中跟随手指的移动而移动. 1.将两张图片导入到mipmap中: 2. ...
- Api跨域设置
跨域设置:(服务端) webconfig文件中,system.webServer节点下添加 <!--跨域请求:三个配置信息--> <httpProtocol> <cust ...
- 【spring】(填坑)sql注入攻击 - 持久层参数化
结果 填坑失败,并没有看懂是如何检测sql攻击的. 只能说的是: 建议都使用参数化传递sql语句参数.(所以,用hibernate.mybatis等框架的真不用太担心sql攻击问题.) 前言 本文 ...
- Spark性能优化指南——初级篇
原文来我的公众号:Spark性能优化指南——初级篇 一. Spark作业原理 我们使用spark-submit提交一个Spark作业之后,这个作业就会启动一个对应的Driver进程.该进程是向集群管理 ...
- ubuntu---禁止更新内核
系统内核 4.15.0-29 更新成了 4.15.0-88,降级内核并禁止更新内核 查看已安装内核:dpkg --get-selections |grep linux-image 查看正在使用的内核 ...
- 安装APACHE到CentOS(YUM)
运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:httpd-2.4.6 硬件要求:无 安装过程 1.安装YUM-EPEL源 HTTP-Tools ...
- Codeforces Round #624 (Div. 3)
A.题意:通过加奇数减偶数的操作从a到b最少需要几步 签到题 #include <algorithm> #include <iostream> #include <cst ...
- Java定时任务之Timer
Timer是Java中实现定时任务的方式之一,下面是一个简单的例子: import java.util.Timer; import java.util.TimerTask; public class ...