while(1)和while(0)

while语句的原型是while(表达式)语句,当表达式为非0值时,执行while语句中的嵌套语句。
1.while(1)其中1代表一个常量表达式,它永远不会等于0。循环会一直执行下去。除非你设置break等类似的跳出循环语句循环才会中止。
2.while(i–)其中i是一个变量,因此表达式i–有不同的值,依次递减,i–是先取值后减,–i先加后取值,所以i–的值同未执行该自减运算时的i相等。因此当i为0时,循环会跳出。
很容易混淆的是把i–的值误认为i执行自减后的值。

扩展资料:
单片机中while(1)有两种用途:

while(1); 意义:这是一个死循环,代码不再向下执行。
用途:

  1. 一般在调试代码时,为了检测一部分代码是否OK,防止后面的代码干扰执行结果,会在观测点加上while(1);
  2. 有些代码检测到运行错误时,会抛出错误(打印、设置错误码),然后进入while(1);
  3. 机器需要复位时,停止喂看门狗,进入while(1); 迫使看门狗超时,产生硬件复位
    while( 1 ) { 代码 }; 意义:这里将会重复执行{}中的代码
    用途:
    1.单片机在不使用操作系统时,主程序一般都使用这种架构
    2.操作系统中的进程,执行任务时,有些也会使用这种架构
    3.{}中的代码不停地检测某个条件,当条件符合时,跳出该循环,继续向下执行
    4.停留在此,等待中断。

在单片机中使用while(1),大部分还是为了防止程序跑飞,因为很多时候执行完某段程序后单片机的程序指针PC并不会停止,仍然会继续从ROM中读取指令并执行,进而出现不确定的结果,加个while(1)就能让程序在执行完后在原地循环,相当于停在原地,防止跑飞。
while(0)就是一次都不执行循环,等同于while(0!=0)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/426951.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

幅值与峰峰值的计算_电厂振动测量、计算基础及汽轮机组振动标准!

法律顾问:张友全律师正文:电厂振动测量、计算基础及汽轮机组振动标准!1. 常用的振动测量参数常用的振动测量参数有振幅、振动速度(振速)、振动加速度。对应单位表示为:mm、mm/s、mm/s。 振幅是表象,定义为在波动或振动…

实例15:python

#利用条件运算符的嵌套来完成此题:学习成绩>90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 #!/usr/bin/python -- coding: UTF-8 -- score int(input(‘输入分数:\n’)) if score > 90: grade ‘A’ elif score &g…

对比分析

【课程1.3】 对比分析对比分析 → 两个互相联系的指标进行比较绝对数比较(相减) / 相对数比较(相除) 结构分析、比例分析、空间比较分析、动态对比分析 import numpy as np import pandas as pd import matplotlib.pyplot as plt…

平面设计中的网格系统pdf_深入浅出,带你认识网格系统与版式设计

设计分享 研习设 设计Hello大家好,这里是研习设计分享。时不时分享/新鲜/有趣/有料/设计资讯和案例,欢迎大家订阅关注!~预估阅读时间:10分钟ME研习设小研研:今天,和大家深入浅出,带你认识网格系…

qt支持Linux下word导出么,qt怎么实现保存到Word

回答:怎样将Word文档保存到桌面?平时我们在学习、工作的时候都会用到Word文档,当使用Word文档编辑完文件后需要进行保存。可以把Word文档保存到系统盘中,也可以直接保存到桌面上方便今后查找。那么Word文档怎么保存到桌面呢&#…

实例16:python

#输出指定格式的日期。 import time print(time.time()) print(time.localtime()) print(time.asctime()) print(time.strftime(’%Y-%m-%d %H:%M:%S’,time.localtime())) import datetime print(datetime.date.today()) print(datetime.date.today().strftime(’%d/%m/%Y’…

cad直线和圆弧倒角不相切_曲线操作-直线,圆弧,圆,倒斜角

直线该命令用于创建直线段。执行直线命令,主要有以下两种方式。菜单:选择“菜单”“捕入”一“曲线” 一“直线” 命令。功能区:单击“曲线”选项卡“曲线” 组中的“直线”按钮。执行上述操作后,系统打开如图4.13 所示的“直线”对话框。“直线”对话框…

WPF vs2015,vs2012 添加ArcObjects SDK

一:如果是vs2015,找到注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\下面的这两个,并且将名称和数据记下来。如图: (如果是vs2012,只添加InstallDir及其数据值就行了。) 二…

撤销 恢复快捷键 Linux,Linux Vim撤销和恢复撤销快捷键用法详解

使用 Vim 编辑文件内容时,经常会有如下 2 种需求:对文件内容做了修改之后,却发现整个修改过程是错误或者没有必要的,想将文件恢复到修改之前的样子。将文件内容恢复之后,经过仔细考虑,又感觉还是刚才修改过…

实例17:python

#输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #!/usr/bin/python3 a input(‘请输入一串字符:’) 英文 0 空格 0 数字 0 其他 0 for i in a: if i.isalpha(): 英文 1 elif i.isspace(): 空格 1 elif i.isnumeric(): 数字 1 else: 其他…

python输出运行时间表_Python编程第十二课 了解程序运行的时间

了解了程序如何运行,我们就可以让我们写的程序变得更快。介绍在前面很长一段时间,我们学习建立一个搜索索引,它可以通过一次一次地查看每个条目来响应查询。当搜索索引检查关键字与我们要找的词相匹配时,就会把结果打印出来。但是…

bow 折叠键盘 linux,bow便携折叠蓝牙键盘体验

bow便携折叠蓝牙键盘体验2019-10-07 02:29:3913点赞8收藏0评论买了个键盘 bow的hb188似乎对蓝牙键盘一直以来都有一种执念,自从想要写点什么东西的想法在脑子里面生根发芽之后,一直都在找一种相对来讲比较便携的键盘。一开始的时候想买苹果的原装键盘&am…

Python isalpha()方法

描述 Python isalpha() 方法检测字符串是否只由字母组成。 语法 isalpha()方法语法: str.isalpha() 参数 • 无。 返回值 如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False 实例 以下实例展示了isalpha()方法的实例: #!/usr/bin…

admin——django自带数据库管理工具

admin是Django自带的数据库管理工具,是一个app 在admin.py中可以自己定制类来使admin数据库管理页面展现自己想要查看的信息 models.py from django.db import models# Create your models here.class Book(models.Model):title models.CharField(max_length32)pri…

python list存储方式_Python 之 将 list 存储为 .mat 文件

在 Python 中数据的矩阵操作常常会与 matlab 有数据交互,这就涉及到了在 Python 输出 .mat 文件。下面给出详细代码实现。存储 .mat 文件,涉及 scipy 中的 io 模块,以及相关方法 savemat 。主要代码如下:import numpy, scipy.iosc…

Python3 isspace()方法

Python3 字符串 描述 Python isspace() 方法检测字符串是否只由空白字符组成。 语法 isspace() 方法语法: str.isspace() 参数 • 无。 返回值 如果字符串中只包含空格,则返回 True,否则返回 False. 实例 以下实例展示了isspace()方法的实例&…

remote addr 取到内网ip_内网穿透工具frp

前言渗透渗透中面对的大部分目标除了暴露在互联网的部分,还有隐藏在内网的大量资产,这部分资产往往无法联通外网,很少暴露在攻击者面前,与此同时安全一般也没有外部资产做的全面 。如果我们从某一外部互联网入口成功进入了内网&am…

c语言char有什么作用,C语言中char*和char[]用法区别分析

本文实例分析了C语言中char* 和 char []的区别。分享给大家供大家参考之用。具体分析如下:一般来说,很多人会觉得这两个定义效果一样,其实差别很大。以下是个人的一些看法,有不正确的地方望指正。本质上来说,char *s定…

Python isnumeric()方法

描述 Python isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。 注:定义一个字符串为Unicode,只需要在字符串前添加 ‘u’ 前缀即可,具体可以查看本章节例子。 语法 isnumeric()方法语法: str.isnumeri…

连接hive

bin/hiveserver2 nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log/hiveserver.err & 启动成功后,可以在别的节点上用beeline去连接 bin/beeline -u jdbc:hive2://mini1:10000 -n root 或者 bin/beeline ! connect jdbc:hive2://mini1:100…