C语言进阶——循环语句07
循环语句的基本工作方式:
- 通过条件表达式判定是否执行循环体
- 条件表达式遵循if语句表达式的原则
do,while,for的区别:
- do语句先执行后判断,循环体至少执行一次
- while语句先判断后执行,循环体可能不执行
- for语句先判断后执行,相比while更简洁
do.....while语句的循环方式:
do
{
//loop
}
while(condition)
while 语句的循环方式:
while(condition)
{
//loop
}
for语句的循环方式:
for(初始化;condition;对条件值的改变)
{
//loop
}
程序示例1:
#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表示终止本次循环进入下一次循环
在循环中可以使用continue 和 break两种语句,联想到switch,里面的每一种case后面都要有一个break语句,那么我们可以在里面使用continue 语句吗?答案是不可以,编译会报错。
程序示例2:
#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 ;
}
这段代码也很简洁,可以看看权当作复习一下
程序示例3:
#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 ;
}
通过29行代码我向扩展一下,可以free一个空指针。另外 野指针 ,空指针是由区别的,对于这个概念我会再写一个博客进行补充,毕竟和这一篇博客的主题不符,嘻嘻。这个段代码是do...while和 break结合起来,在做项目工程中会经常使用这种结构。
小结:
- for循环先进行判断后在进入循环体
- for循环适合于循环次数固定的场合
- while循环先进行判断在进入循环体执行
- while循环适用于循环次数不定的场合
- do....while循环先执行循环体然后进行条件判断
- do.....while循环至少进行一次循环体
C语言进阶——循环语句07的更多相关文章
- 【下载分】C语言for循环语句PK自我活动
想了解自己C语言for语句的掌握程度吗?敢和自己PK较量一番吗?參加"C语言for循环语句PK自我活动",仅仅要成绩70分以上.就可赢得CSDN下载分. 12道题目题库动态读取,每 ...
- [Objective-C语言教程]循环语句(9)
当需要多次执行同一代码块时,可以使用循环来解决. 通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结构,允许更复杂的执行路径.循环语句可用于多次执 ...
- Python语言的循环语句、迭代器与生成器、函数学习
while循环语句 无限循环 我们可以通过设置条件表达式永远不为false来实现无限循环,实例如下: for语句 Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串 Python ...
- Go语言for循环语句
for循环语句解释与使用 首先我们定义sum:=0 格式:for i:=1;i<=100;i++{ sum+=i } for 循环100次,首先执行i=1,然后判断i<100,再执行sum ...
- C语言while循环语句
循环语句三要素 1.在循环外给循环变量赋初值2.进入循环判断循环变量3.在循环体内修改循环变量,使循环趋近结束 2021-11-02
- C语言进阶——分支语句06
if分支语句分析: if语句用于根据条件选择执行语句 else不能独立存在且总是与在它之前的最近if相匹配 esle语句后可以连接其他if语句 用法如下: if(condition) { //stat ...
- C/C++语言for循环语句执行顺序
for循环如下: ; i<; ++i) { } 执行顺序如下: 1.i=0 初始化初值 2.i<10 进行判断,如果条件为真,则继续执行 3.执行循环体代码 4.i++ 变量i自增 5. ...
- 苹果新的编程语言 Swift 语言进阶(一)--综述
Swift 是苹果开发和提供的供开发IOS 和OS X应用的一门新的语言.Swift语言基于C 和Objective-C语言,除了提供C 和Objective-C语言具有的所有语法功能外,为了编程方便 ...
- while循环语句基础
while循环语句基础 一while循环语句介绍 循环语句命令常用于重复执行一条指令或一组指令,直到条件不再满足时停止, Shell脚本语言的循环语句常见的有while, until, for及s ...
随机推荐
- 大话java基础知识一之为什么java的主函数入口必须是public static void
为什么java的主函数入口必须是public static void main (String[] args); 很多写javaEE好几年的程序员经常会记得java的主函数就是这么写的,但实际上为什么 ...
- iDempiere 使用指南 插件安装过程
Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...
- 栅格那点儿事(四D)
统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...
- sudoer解释
/etc/sudoer ## Sudoers allows particular users to run various commands as ## the root user, without ...
- Spring Cloud程序报错总结
1.com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: 原因如下: 在默认设置下,Eureka服务 ...
- hive自定义UDTF函数叉分函数
hive自定义UDTF函数叉分函数 1.介绍 从聚合体日志中需要拆解出来各子日志数据,然后单独插入到各日志子表中.通过表生成函数完成这一过程. 2.定义ForkLogUDTF 2.1 HiveUtil ...
- ListView、DataGrid 不显示列标题
<!--ListView不显示列标题--> <Style TargetType="{x:Type GridViewColumnHeader}"> <S ...
- Selenium入门12 鼠标和键盘事件
1 鼠标 集成在webdriver.ActionChains.单击.双击.右击.拖放等等. 2 键盘 引入包from selenium.webdriver.common.keys import K ...
- linux下安装mysql并修改密码
删除已有mysql并重新安装mysql 查看是否已安装过mysql rpm -qa |grep -i mysql 2.移除安装的包 (在之前如果有启动mysql最好关掉服务) 使用rpm –ev 包名 ...
- Python 语法基础
之所以学习Python,第一个是他比较简单,寒假时间充裕,而且听说功能也很不错,最重要的是,我今年的项目就要用到它. 而且刘汝佳的书上说到,一个好的Acmer要是不会一点Python那就是太可惜了.废 ...