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 ...
随机推荐
- jQuery中的节点操作(二)
html代码如下 <p title="武汉长乐教育PHP系列教程" name="hello" class="blue"> < ...
- Python元组类型、字典类型及常用操作
一.元组类型 1.用途 记录多个值,当多个值没有改的需求,此时用元组更合适,Python的元组与列表类似,不同之处在于元组的元素不能修改. 2.定义方式 在()内用逗号分隔开多个任意类型的值 t=(1 ...
- ansible使用3-playbook
playbook是ansible用于配置部署的语言.使用YAML格式. 示例 --- - hosts: webservers vars: http_port: 80 max_clients: 200 ...
- 分析一点python源代码
偶然看了一下python的部分源代码,感觉python的作者写的代码真心很美,简洁美观,学习之. 举几个例子抛砖引玉一下: def removedirs(name): ""&quo ...
- COGS 449. 网络病毒
★★ 输入文件:virus.in 输出文件:virus.out 简单对比时间限制:1 s 内存限制:128 MB [题目描述] 公元2008年10月31日星期五,笃志者所在的整个机房由 ...
- Simotion应用案例,使用Simotion web server调试,使用Project Generator创建项目,Simosim模拟运行运行项目
Simotion web server simotion项目设计和调试过程中,web server功能越来越常用.例如Project generator生成的FBAxis, winder, print ...
- SIEMENS Simotion 运动控制器设置Web service, HTTP, FTP访问密码
早期版本的web service, 访问密码是 用户名 : simotion 密码 : simotion 新版本,Firmware >= 4.4之后,考虑到安全性,控制器没有默认密码.设置密码方 ...
- April 5 2017 Week 14 Wednesday
Today is a perfect day to start living your dream. 实现梦想,莫如当下. Miracles may happen every day. If you ...
- P1540 机器翻译
题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...
- 正则表达式 /i /g /m /ig /gi
正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) / /ig(全文查找.忽略大小写)