首页 > 编程语言 >【C++ Primer】语句

【C++ Primer】语句

时间:2023-10-10 10:04:20浏览次数:36  
标签:语句 case switch C++ break while 循环 Primer


 

一、简单语句
1、使用空语句时应该加上注释,从而令读这段代码的人知道该语句是有意省略的。
2、程序块不以分号结束(但是类要以分号结束)。

二、语句作用域
1、可以在if、switch、while、for语句内定义变量(变量是临时的),在语句结束后变量就不起作用了,所以这些变量要初始化。

三、条件语句
1、if语句:判断条件是否为真。
    悬垂else:C++规定else与离它最近的还未配对的if匹配,消除程序的二义性(平时要注意使用花括号强制if-else匹
配,避免出现二义性)。

 

if ()
    if()
      /**/
    else
      /**/

2、switch语句:在若干选项中做出选择(当判断条件太多时,使用switch更方便)。结构如下:

switch(表达式) {
        case 值1:
      语句体1;
      break;
       case 值2:
      语句体2;
      break;
          …
       default:
      语句体n+1;
      break;
        }

【Note】:

case标签必须是整型常量表达式。任何两个case标签的值不能相同。

当几个case连写在一起,中间没有break时,可以强调是某个范围内的值。但是一般不要省略case后面的break,如果没有写,最好写一段注释说明原因。

定义一个default也是有必要的。

 

四、迭代语句

1、while语句:

 

while(条件) { 语句; }

【Note】:
    1)定义在while条件部分或者while循环部分内的变量每次迭代都经历从创建到销毁的过程。

 

    2)当不确定要迭代多少次时,使用while循环比较好。

2、do-while语句:

 

do
{
    循环体;
}
while(条件表达); //条件表达,可以引用外传感器返回值。

【Note】:
    1)while循环后面的分号不要忘!

 

不允许在条件部分定义变量。

3、传统的for循环:

 

for(单次表达式;条件表达式;末尾循环体)
{
    中间循环体;
}

    for循环三种写法:

 

 

auto beg = v.begin();
for (/*空语句*/ ; beg != v.end() ; ++beg);
    ;//什么也不做
for (int i = 0 ; /*条件为空*/ ; ++i); /*对i进行处理,循环内部必须负责程序的终止迭代过程!!!*/

 

vector<int> v;
for (int i ; cin>>i ; /*表达式为空*/)
    v.push_back(i);

 


 


    在新特性下,C++的for循环有五种形式(下标、迭代器、范围for、lambda、for each)。

 

 

五、跳转语句

1、continue语句:结束当前正在执行的这一次循环(只能出现在for、while、do-while这些循环的内部),接着执行下一次循环。即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定(中断当前的迭代,但是仍然继续执行循环)。

2、break语句:结束当前正在执行的循环或多路分支程序结构(只能出现在for、while、do-while、switch这些语句内部,包括嵌套),转而执行这些结构后面的语句。break语句的作用范围仅限于最近的循环或者switch!

标签:语句,case,switch,C++,break,while,循环,Primer
From: https://blog.51cto.com/u_6526235/7788094

相关文章

  • 【C++ Primer】函数
       函数是一个命名了的代码块,通过调用函数执行相应的代码,函数可重载。 一、函数基础实参初始化形参。return有两项工作:1、返回值(如果有的话);2、将控制权从被调函数转移回主调函数。 intfact(intval){intret=1;returnret>val?ret:val;}intmain(){......
  • 全面理解C++中的类
    1.类的访问属性:public,protect,privateC++中类的成员变量和函数都带有三种属性中的一种,假如没有特别声明,那么就默认是私有的(除了构造函数)。public表示是公开的,对象可以直接调用的变量或者函数;protect表示是保护性的,只有本类和子类函数能够访问(注意只是访问,本类对象和子类对象都不可......
  • C++移动和获取文件读写指针
    在读写文件时,有时希望直接跳到文件中的某处开始读写,这就需要先将文件的读写指针指向该处,然后再进行读写。ifstream类和fstream类有seekg成员函数,可以设置文件读指针的位置;ofstream类和fstream类有seekp成员函数,可以设置文件写指针的位置。所谓“位置”,就是指距离文件开头......
  • C++系列十:日常学习-范围库Ranges
    目录前言介绍举例:前言不错麽内容参考https://zh.cppreference.com/w/cpp/rangesChatjpt总结注意点:确保你的C++编译器支持C++20标准包含ranges头文件views的操作是惰性的,它们不会立即执行,而是在需要时计算。这意味着你可以构建复杂的管道,而不必担心性能问题。提供......
  • 锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时
    3.1、A程序执行了对tableA的insert,并还未commite时,B程序也对tableA进行insert则此时会发生资源正忙的异常就是锁表;3.2、锁表常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库的,cpu和i/o分配原则)4、减少锁表的概率:减少insert、update、......
  • MYSQL-sql语句示例
    数据库操作:创建数据库:CREATEDATABASEdatabase_nameCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;删除数据库:DROPDATABASEIFEXISTSdatabase_name;切换数据库:USEdatabase_name;表的管理:创建表:CREATETABLEtable_name(column1datatypeconstraint,colu......
  • Mysql高级sql语句
    1.高级sql语句(进阶查询一)1.1select语法:SELECT"字段"FROM"表名";示例:selectnamefromhome;selectidfromhome2;1.2distinct语法:SELECTDISTINCT"字段"FROM"表名";SELECTDISTINCTStore_NameFROMStore_Info;1.3where有条件......
  • c++ OOP(2)
    目录运算符重载继承多态抽象基类运算符重载重新定义+-*/操作,对同类对象使用,以时间类Time为例子进行理解Time.hclassTime{private:inthour,minute;public:Time();Time(inth,intm);voidshow_time();Timeoperato......
  • 如何在visual c++ 6.0中显示行号
    1.下载VC6LineNumberAddin组件,地址:https://pan.baidu.com/s/1rVHL7nQ3Ij0sDkOVUWL_GA下载完后解压后,会有如下3个文件 2.如果你的VC安装在C盘,请拷贝文件VC6LineNumberAddin.dll到安装目录:C:\VC++\MicrosoftVisualStudio\Common\MSDev98\AddIns3.注册双击VC6LineNum......
  • 有效解决VC++6.0一个工程不能有多个main函数的解决方案
    对于初学者来说,需要做很多练习,就需要创建多个main()函数,但C语言只能有一个main()函数,那么通常的做法就是:【方法一】:讲其他文件中的main()函数注释掉,但该方法比较费时费力,不推荐【方法二】:在VC++6.0中,在工程左边fileview里工程下的sourcefiles中,选中前一个带main函数的文件, ......