C++ —— C++三大分支结构(顺序、选择、循环)

C++ ——三大结构(顺序、选择、循环)

 

一、顺序结构的几种常用语句

1、声明语句

       程序中所有由程序员给出的名字标识符,包括变量、常量、对象、类、类型、函数、参数等都要在使用前进行说明或定义。一般地,程序中的说明语句并不单纯说明,也往往包含创建和初始化等工作。如intsize = 0;

2、表达式语句

       对数据进行处理和操作的语句。由表达式加分号“;”组成。如:s=(a+b+c)/2;

3、函数调用语句

       如printf();语句实现对系统函数printf的调用。  

4、复合语句和空语句

       若干语句用一对花括号“{}”括起来组成一个复合语句 。空语句,由一个分号“;”组成 ,不进行任何操作,常用于循环结构中。

  

二、选择结构(if/switch

1if语句【建议每个if/else if用花括号】

   ①   if(表达式) 语句

   ②   if(表达式) 语句1  else  语句2

   ③   

    if(表达式1) 语句1

    else if(表达式2) 语句2         

         …                                     

    else if(表达式n) 语句n     ...

    else 语句n+1       

(1)如果在if、esle后有多条语句,则必须用花括号将这些语句括起来,否则只有后跟的第1条语句有效。

(2)if语句中的条件表达式一般为关系表达式或逻辑表达式,也可以是任意的数值类型。

(3)else总是和离它最近的还没有配对的可见的if匹配。

 

2switch语句

switch (表达式)
{ 
case常量表达式 1:语句1;     break;
case常量表达式 2:语句2;     break;┆
case常量表达式 n:语句n;     break;
default: 语句n+1;          break;
}

(1)switch括号中的表达式只能是整型、字符型枚举型或布尔型;且case后面的常量表达式的类型必须与其匹配。

(2)以case中的常量表达式值为入口标号,由此开始顺序执行。因此,每个case分支最后应该加break语句。没有break继续执行后面的case语句。

(3)case值是语句标号,每个case常量表达式的值必须互不相同。

(4)default语句是可选的(为了规范,建议写上)。

 

三、循环结构

1for

for(表达式1;表达式2;表达式3)
{// 语句
}

第一步:先计算表达式1,一般是个初始值;

第二步:然后执行表达式2的判断;

第三步:如果成立,执行语句,然后执行表达式3,再执行第二步;如果第二步不成立,退出循环; 

break作用:中止switch语句的执行,并跳出switch语句;从最近的封闭循环体中跳出,转而执行循环体的下一条语句。【只能用于switch和循环语句中!

continue作用:结束本次循环,执行表达式3,开始下一轮循环。【并不从循环体中跳出,除非已处于循环结束点】

 

2while(与for完全等效)

while(表达式)
{// 语句;
}

先判断再执行;while后面的括号和括号中的表达式都必须有。表达式可以是常量或常量表达式。如while(1)死循环,break可以跳出。

 

3do...while

do
{ // 语句;
}while (表达式);

先执行循环体语句,后判断条件。表达式为 true时,继续执行循环体

while语句执行顺序:先判断表达式的值,为true 时,再执行语句。

dowhile:先执行再判断语句至少执行一次循环体。

 

// 判断素数
#include <iostream>
using namespace std;int main(void)
{//输入long m;cout << "please input a number:\n";cin >> m;//处理for(int i = 2; i < m; i++) //找m的因数{if(m % i == 0){break;}}//输出if(m == i) //判断m是否被小于m的数整除{cout << m << " is prime.\n";}else{cout << m << " isn't prime.\n";}return 0;
}

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

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

相关文章

三极管的“非教科书式”解析,什么正偏、反偏都统统滚蛋!

什么正偏&#xff0c;反偏都统统滚蛋&#xff01;&#xff01;&#xff01;❤三极管有三个工作状态&#xff1b;截止、放大、饱和&#xff1b;放大状态很有学问也很复杂&#xff0c;多用于集成芯片&#xff0c;比如运放&#xff0c;现在不讨论&#xff1b;其实对信号的放大我们…

CListBox用法总结

CListBox用法总结 用法 属性Style Selection Single — 单选 Multiple — 多选(LBS_MULTIPLESEL) None — 不可选(LBS_NOSEL) Sort 对应Style: LBS_SORT Insert Item int AddString(LPCTSTR lpszItem); int InsertString(int nIndex, LPCTSTR lpszItem); Delete Item int Del…

django 模板继承与重写

1、模板的继承一般用在别人给我们做好的HTML页面&#xff0c;当我们发现有很多的页面都具有相同的部分&#xff0c;这会我们应该考虑怎么能把他们相同的部分给提取出来&#xff0c;提取出来的部分我们作为一个单独的HTML文件叫做base.html&#xff0c;其余不同的部分我们在base…

SUN平台,光纤共享存储互斥失败导致的数据灾难恢复

作者&#xff1a;张宇&#xff0c;北亚数据恢复中心&#xff0c;转载请联系作者&#xff0c;如果实在不想联系作者&#xff0c;至少请保留版权&#xff0c;谢谢。[数据恢复故障描述]两台SPARC SOLARIS系统通过光纤交换机共享同一存储&#xff0c;本意是作为CLUSTER使用&#xf…

C++ —— C++类

C ——类 1、类 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 class Clock { public:void SetTime(int new_hour, int new_minute,int new_second);void ShowTime(); private:int hour, minute, se…

一行代码还能这么秀

老早就想写这篇文章了&#xff0c;因为我经常用用这个方法来装逼&#xff0c;今天终于要把这个装逼方法分享给大家了。我从来不会告诉别人我自己的微信公众号关注早就已经超过40万了。看下面的截图这张截图建议大家保存下&#xff0c;如果遇到不公的事情&#xff0c;你就跟他说…

原来你是这样的Promise

1. Promise简介 promise是异步编程的一种解决方案&#xff0c;它出现的初衷是为了解决回调地狱的问题。 打个比方&#xff0c;我需要&#xff1a; --(延迟1s)--> 输出1 --(延迟2s)--> 输出2 --(延迟3s)--> 输出3 通常写法&#xff1a; setTimeout(()> {console.log…

VS2015 vc++ 项目出现new.h找不到的错误

安装完 VS2015 后&#xff0c;直接新建项目->win32控制台->运行&#xff0c;结果报错&#xff01;"无法打开包括文件: “stdio.h”: No such file or directory”"lnk1104:无法打开文件 ucrtd.lib ”奇了怪了&#xff0c;stdio.h 和 ucrtd.lib 都是 VS 自带的头…

C#——image与byte数组的转换

image to byte[] MemoryStream msnew MemoryStream(); image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif ); byte[] imagedatams.GetBuffer (); byte[] to imageMemoryStream ms new MemoryStream(imagedata);img Drawing.Image.FromStream(ms);转载于:https://www.cnb…

Linux Select

Linux Select 在Linux中&#xff0c;我们可以使用select函数实现I/O端口的复用&#xff0c;传递给 select函数的参数会告诉内核&#xff1a; •我们所关心的文件描述符 •对每个描述符&#xff0c;我们所关心的状态。(我们是要想从一个文件描述符中读或者写&#xff0c;还…

搞懂图像二值化算法

传统的机器视觉通常包括两个步骤&#xff1a;预处理和物体检测。而沟通二者的桥梁则是图像分割&#xff08;Image Segmentation&#xff09;[1]。图像分割通过简化或改变图像的表示形式&#xff0c;使得图像更易于分析。举个例子&#xff0c;食品加工厂新进了一批肉鸡&#xff…

vs2015无法打开包括文件:“winapifamily.h”

老项目是vs2003下的项目。升级vs2015后&#xff0c;调试运行报错 C:\Program Files (x86)\Windows Kits\8.0\Include\um\winsdkver.h(21): fatal error C1083: 无法打开包括文件:“winapifamily.h”: No such file or directory 在项目包含目录中包含了这个Windows Kits\8.0\…

JavaWeb无限级分销结构分析

在现实生活中我们经常遇到由推荐人注册&#xff0c;比如一个购物平台,用户A推荐用户B注册&#xff0c;那当B购买商品成功时&#xff0c;用户A就会拿到相应的提成。只要是用户A推荐的用户购买商品成功后&#xff0c;A用户都会拿到提成。 当用户B推荐了用户C&#xff0c;那当用户…

如何在Word里面自动生成目录

1、对整个文本进行排版处理&#xff1b; 2、先将第一个一级标题选中&#xff0c;再点击工具栏“字体”前“正文”的下拉菜单&#xff0c;选择“标题1”&#xff1b; 3、此时会在此行前出现一个黑点&#xff0c;表明此行已被设为目录项&#xff08;前方黑点不会被打印&#xff0…

一个风骚的C语言操作

有个小伙伴在我们的嵌入式交流群里发了类似下面的一张图&#xff0c;顿时引起一阵骚动&#xff0c;我把源代码再附上&#xff0c;main.c 如下&#xff1a;#include <stdio.h> #include <string.h>static char city_name[][20] { #include "city.h" };in…

VS2003升级VS2010修改

BUG1: fatal error C1189: #error: MFC does not support WINVER less than 0x0601. Ple 在StdAfx.h中把#define WINVER 0X0500 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。改为&#xff1a; #define _WIN32_WINNT 0x0601 BUG2: https://www.cnblogs.com/slo…

Linux poll

Linux poll poll提供的功能与select类似&#xff0c;不过在处理流设备时&#xff0c;它能够提供额外的信息。 1、函数原型#include <poll.h>int poll(struct pollfd fd[], nfds_t nfds, int timeout);2、函数参数&#xff1a;&#xff08;1&#xff09;fd&#xff1a;一个…

SQL Server表分区-水平分区

SQL Server表分区&#xff0c;sql server水平分区 转自&#xff1a;http://www.cnblogs.com/knowledgesea/p/3696912.html 根据时间的&#xff0c;直接上T-SQL代码的水平分区&#xff1a;https://www.xuebuyuan.com/1817312.html?tdsourcetags_pcqq_aiomsg什么是表分区 一般情…

jQuery1.3.2 源码学习 -2 两个重要的正则表达式

32 // Is it a simple selector 33 isSimple /^.[^:#\[\.,]*$/ / / 表示这是正则表达式 ^ 表示开始部分 $ 表示结束部分 . 匹配除了 \n 之外的任何字符 [^character_group] 表示不在字符集合中 [^:#\[\.,] 表示除了冒号 (:), #, 前中括号([), 句号(.) 和逗号(,)之外的任何一个…

基于STC89C52的韦根数据接收

韦根是一种开放的通讯协议&#xff0c;具体官方介绍如下&#xff1a;Wiegand协议是国际上统一的标准&#xff0c;有很多格式&#xff0c;标准的26-bit 应该是最常用的格式。此外&#xff0c;还有34-bit 、37-bit 等格式。格式的含义如下&#xff1a;当给出这一串数字&#xff0…