简单掌握C++编程中的while与do-while循环语句使用

While 语句
重复执行语句,直到表达式计算为零。
语法

  while ( expression )
statement

备注
expression 的测试在每次执行循环前发生;因此 while 循环执行零次或更多次。 表达式必须是整型、指针类型或包含明确的整型或指针类型转换的类类型。
当中断、导航或回归在语句体中执行时,也可以中止while 循环。请使用continue语句来结束当前迭代但不退出while循环。 继续 将控件传递给下一轮循环 while。
以下代码使用 while 循环从字符串中剪裁尾随下划线:

// while_statement.cpp

#include <string.h>
#include <stdio.h>
char *trim( char *szSource )
{
 char *pszEOS = 0;

 // Set pointer to character before terminating NULL
 pszEOS = szSource + strlen( szSource ) - 1;

 // iterate backwards until non '_' is found
 while( (pszEOS >= szSource) && (*pszEOS == '_') )
  *pszEOS-- = '\0';

 return szSource;
}
int main()
{
 char szbuf[] = "12345_____";

 printf_s("\nBefore trim: %s", szbuf);
 printf_s("\nAfter trim: %s\n", trim(szbuf));
}

在循环顶部计算终止条件。如果没有尾随下划线,循环不执行。

do-while 语句
反复执行 statement,直到指定的终止条件 (expression) 的计算结果为零。
语法

  do
statement
while ( expression ) ;

备注
终止条件的测试将在每次执行循环后进行;因此 do-while 循环将执行一次或多次,具体取决于终止表达式的值。 do-while 语句还可在语句体中执行 break、goto 或 return 语句时终止。
expression 必须具有算法或指针类型。执行过程如下所示:
执行语句体。
接着,计算 expression。如果 expression 为 false,则 do-while 语句将终止,控制将传递到程序中的下一条语句。如果 expression 为 true(非零),则将从第一步开始重复此过程。
以下示例演示了 do-while 语句:

// do_while_statement.cpp
#include <stdio.h>
int main()
{
  int i = 0;
  do
  {
    printf_s("\n%d",i++);
  } while (i < 3);
}
时间: 2016-01-13

C++条件及循环语句的综合运用实例

用下面公式求π的近似值.π/4≈1-1/3+1/5-1/7+-直到最后一项的绝对值小于10-7为止.根据给定的算法很容易编写程序如下: #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main( ) { int s=1; double n=1,t=1,pi=0; while((fabs(t))>1e-7) { pi=pi+t; n=n+2; s=-s;

C++循环链表之约瑟夫环的实现方法

本文实例形式展示了C++实现循环链表中约瑟夫环的方法,分享给大家供大家参考之用.具体方法如下: 主要功能代码如下: #include <iostream> using namespace std; typedef struct student { int data; struct student* next; }node,*LinkList; //约瑟夫环 void printfList(LinkList head){ LinkList p=head; if (head!=NULL) { do

用C++实现单向循环链表的解决方法

用C++实现一个单向循环链表,从控制台输入整型数字,存储在单项循环链表中,实现了求链表大小.不足之处,还望指正! 复制代码 代码如下: // TestSound.cpp : 定义控制台应用程序的入口点.//实现单向循环链表#include "stdafx.h"#include <iostream>#include <string>using namespace std;//定义链表一个节点的结构体template <class T>struct NO

C++中的while循环和for循环语句学习教程

C++ while循环 while语句的一般形式如下: while (表达式) 语句 其作用是: 当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句.其流程图见下图. 其特点是:先判断表达式,后执行语句.while循环称为当型循环. 例:求1+2+3+-+100. #include <iostream> using namespace std; int main( ) { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; }

c++中for双循环的那些事

情况1:如下,这样我们会发现,n输出为100,虽然两层循环的标识符都是i,然是两个做管辖的范围不同,具体情况不明~~~求大神解释 复制代码 代码如下: int main(int argc,char* argv[]){    int n=0;    int mx;    for (int i=0;i<10;i++)    {        for (int i=0;i<10;i++)        {            n++;        }    }    cout<<n&

如何用C++实现双向循环链表

双向循环链表,即每个节点都拥有一前一后两个指针且头尾互链的链表.各种链表的简单区别如下:单向链表:基本链表:单向循环链表:不同于单向链表以 NULL 判断链表的尾部,单向循环链表的尾部链接到表头,因此当迭代操作到表头前即是尾部:双向链表:比单向链表多出指向前一个节点的指针,但实际上使用双向链表时很少使用不循环的:双向循环链表:相对于单向循环链表,双向循环链表可从头部反向迭代,这在链表长度很大且需要获取.插入或删除靠近链表尾部元素的时候十分高效.单向循环列表只能从表头正向迭代,执行的时间大于从反向

C++双向循环列表用法实例

本文实例讲述了C++双向循环列表用法.分享给大家供大家参考.具体如下: /* 双向循环链表 */ #include <iostream> using namespace std; //结构体构造链表的指针域和数据域 struct ChainNode { int data; //节点数据 ChainNode *left; //节点的前驱指针 ChainNode *right; //节点的后继指针 }; ////////////创建n个双向循环链表 并返回链表头指针///////// ChainN

C++编程中break语句和continue语句的学习教程

break 语句 break 语句可终止执行最近的封闭循环或其所在条件语句. 控制权将传递给该语句结束之后的语句(如果有的话). break; 备注 break 语句与 switch 条件语句以及 do.for 和 while 循环语句配合使用. 在 switch 语句中,break 语句将导致程序执行 switch 语句之外的下一语句. 如果没有 break 语句,则将执行从匹配的 case 标签到 switch 语句末尾之间的每个语句,包括 default 子句. 在循环中,break 语句

讲解C++的do while循环和循环语句的嵌套使用方法

用do-while语句构成循环 do-while语句的特点是先执行循环体,然后判断循环条件是否成立.其一般形式为: do 语句 while (表达式); 它是这样执行的:先执行一次指定的语句(即循环体),然后判别表达式,当表达式的值为非零("真") 时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束.可以用下图表示其流程. [例]用do-while语句求1+2+3+-+100. #include <iostream> using namespace

C++循环队列实现模型

本文实例讲述了C++循环队列实现模型.分享给大家供大家参考.具体分析如下: 前段时间在知乎上看到这样一个小题目: 用基本类型实现一队列,队列要求size是预先定义好的的.而且要求不可以使用语言自带的api,如C++的STL.普通的实现很简单,但是现在要求要尽可能的时间和空间复杂度的优化,要和语言自带的api比较时间和空间.这个队列还要支持如下的操作: constructor: 初始化队列 enqueue:入队 dequeue:出队 队列是一种基本的数据结构,在平常的应用中十分广泛,多数情况队列都

解析C++中的for循环以及基于范围的for语句使用

for循环语句 重复执行语句,直到条件变为 false. 语法 for ( init-expression ; cond-expression ; loop-expression ) statement; 备注 使用 for 语句可构建必须执行指定次数的循环. for 语句包括三个可选部分,如下表所示. for 循环元素 下面的示例将显示使用 for 语句的不同方法. #include <iostream> using namespace std; int main() { // The co

VUE中的无限循环代码解析

代码如下所示: <template> <div id=""> <ul v-for="(item,index) in listaaa"> <li v-if='dealFun(item.cdate,index)'>{{item.cdate}}</li> </ul> </div> </template> <script> export default { name:

codeigniter中view通过循环显示数组数据的方法

本文实例讲述了codeigniter中view通过循环显示数组数据的方法.分享给大家供大家参考.具体如下: controller如下: <?php class SimpleController extends Controller { function index() { $data['my_list'] = array("do this", "clean up", "do that"); $this->load->view('

实例解析Java中的构造器初始化

1.初始化顺序 当Java创建一个对象时,系统先为该对象的所有实例属性分配内存(前提是该类已经被加载过了),接着程序开始对这些实例属性执行初始化,其初始化顺序是:先执行初始化块或声明属性时制定的初始值,再执行构造器里制定的初始值. 在类的内部,变量定义的先后顺序决定了初始化的顺序,即时变量散布于方法定义之间,它们仍就会在任何方法(包括构造器)被调用之前得到初始化. class Window { Window(int maker) { System.out.println("Window(&quo

python中的for循环

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串. 语法: for循环的语法格式如下: for iterating_var in sequence: statements(s) 1:while循环 2:for循环 3:range 4:range(),len(),enumerate()函数 5:列表解析 排除掉不能整除2的数的平方 总结 以上所述是小编给大家介绍的python中的for循环,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感

浅析Python中的for 循环

Python for 和其他语言一样,也可以用来循环遍历对象,本文章向大家介绍Python for 循环的使用方法和实例,需要的朋友可与参考一下. 一个循环是一个结构,导致第一个程序要重复一定次数.重复不断循环的条件仍是如此.当条件变为假,循环结束和程序的控制传递给后面的语句循环. for循环: 在Python for循环遍历序列的任何物品,如一个列表或一个字符串,有能力. for循环语法是: for iterating_var in sequence: statements(s) 如果一个序列

浅谈js中的in-for循环

浅谈js中的in-for循环 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script type="text/javascript" src="jquery.js"></script> </hea

Java中增强for循环在一维数组和二维数组中的使用方法

一维数组: int[] a={1,2,3}; for(int i:a) { System.out.print(i+" "); } 输出:1 2 3 二维数组: import java.util.Scanner; public class tet { public static void main(String[] args) { //int[][] b={{1,2,3},{4,5,6}};行 int[][] a=new int[5][];//必须明确行数 for(int i=0;i&l

全面解析Objective-C中的block代码块的使用

1.相关概念 在这篇笔记开始之前,我们需要对以下概念有所了解. 1.1 操作系统中的栈和堆 注:这里所说的堆和栈与数据结构中的堆和栈不是一回事. 我们先来看看一个由C/C++/OBJC编译的程序占用内存分布的结构: 栈区(stack):由系统自动分配,一般存放函数参数值.局部变量的值等.由编译器自动创建与释放.其操作方式类似于数据结构中的栈,即后进先出.先进后出的原则. 例如:在函数中申明一个局部变量int b;系统自动在栈中为b开辟空间. 堆区(heap):一般由程序员申请并指明大小,最终也由

解析iOS10中的极光推送消息的适配

iOS10发布后,发现项目中的极光推送接收消息异常了. 查了相关资料后才发现,iOS10中对于通知做了不少改变.同时也发现极光也很快更新了对应的SDK. 现在就把适配修改的做法分享一下,希望对有需要的童鞋有所帮助. 具体做法如下: 注意:必须先安装Xcode8.0版本. 一.添加相关的SKD,或framework文件 1.添加UserNotification.framework 2.更新jpush的SDK(最新版本:jpush-ios-2.1.9.a)https://www.jiguang.cn