首页 > 其他分享 >04.循环语句 & 逻辑运算符

04.循环语句 & 逻辑运算符

时间:2024-08-31 11:37:50浏览次数:8  
标签:语句 输出 04 int while 运算符 switch 循环

4.循环语句 and 逻辑运算符

4.1 for循环

for循环的基本结构为:

两个分号是必不可少的,用while表示for可以写为:

如果在for循环中,第一部分被省略,C++会假定判断条件始终为真,循环一直进行。

程序经常在循环体中显示控制变量值或在计算中使用它,但这种使用不是必需的。控制变量通常用于控制迭代,尽管控制变量的值可以在for循环的主体中更改,但应避免这样做是因为这种做法可能会导致细微的错误。如果程序必须修改循环体中控制变量的值,请使用while而不是for。

setw(int n)是c++中在输出操作中使用的字段宽度设置,设置输出的域宽,n表示字段宽度。只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。当后面紧跟着的输出字段长度小于n的时候,在该字段前面用空格补齐;当输出字段长度大于n时,全部整体输出。头文件为#include

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    // 开头设置宽度为 4,后面的 runoob 字符长度大于 4,所以不起作用
    cout << setw(4) << "runoob" << endl;
    // 中间位置设置宽度为 4,后面的 runoob 字符长度大于 4,所以不起作用
    cout << "runoob" << setw(4) << "runoob" << endl;
    // 开头设置间距为 14,后面 runoob 字符数为6,前面补充 8 个空格 
    cout << setw(14) << "runoob" << endl;
    // 中间位置设置间距为 14 ,后面 runoob 字符数为6,前面补充 8 个空格 
    cout << "runoob" << setw(14) << "runoob" << endl;
    return 0;
}

representational error---表征错误

不要使用double(或float)类型的变量来执行精确的货币计算。浮点数的不精确性可能导致错误。

clunky---笨重

类型long long和其他C++的整数类型的范围在不同的平台会有所不同。

类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员。

C ++中的abs()函数返回参数的绝对值。abs() 方法在C++语言中,最早的C98版本中,只对double、float、long double类型生效,不支持int类型,作用是求数据的绝对值。从C++11开始,增加了对int整型数据类型的支持。

size函数用来获取字符串长度。

**请注意,类的任何成员函数可以直接调用任何其他成员函数来对类的同一对象执行操作

Banker's Rounding:

传统的 “四舍五入” 会让数量非常大的数据计算之后偏大,因为两端距离相等的时候始终选择绝对值大的,而 “四舍六入五成双” 的 Banker's Rounding 规则会让数据两端取舍的概率均等,因为对于不同的数值,偶数可能在左边,也可能在右边,计算之后的数据不会明显偏大或偏小。Banker's rounding 就是对于0.5的情况,向最近的偶数舍入,例如0.5舍入为0,3.5和4.5都舍入为4。

4.2 switch

If no match occurs and the switch does not contain a default case, program control simply continues with the first statement after the switch.

如果没有匹配,并且不包含默认情况,程序控制只需继续执行switch后的第一条语句。

尽管case和defult可以以任意顺序出现在switch中,但还是习惯于将default放在最后,当default在最后时,break就不是必须的。

在case后,除了可以使用整数,还可以使用字符常量(以单引号包裹),还可以使用枚举常量(enum)。

注意1:switch语句中表达式类型只能是整型或者字符型。
注意2:case里如果没有break,那么程序会一直向下执行。
总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间。

在case中,可以用x ... y 表示范围在[x,y]的值,两边都是闭区间。

#include <iostream>
using namespace std;

int main() {

	int month;
	cin >> month;
    if(month < 1 || month > 12) //优先判断是否合法月份
        cout << "不合法" << endl;
    else{
        switch(month){ //根据月份判断
            case 3 ... 5: //连续的值
                cout << "春季" << endl;  break;
            case 6 ... 8:
                cout << "夏季" << endl;  break;
            case 9 ... 11:
                cout << "秋季" << endl;  break;
            default:
                cout << "冬季" << endl;
        }
    }
	return 0;
}

4.3 break

break语句在while、for、do…while或switch中执行时,会导致立即退出该语句——执行从循环语句之后的第一个语句开始。

4.4 continue

continue语句在while、for或do…while中执行时,跳过循环体中的其余语句,继续循环的下一次迭代。

4.5 逻辑操作符(与或非)

C++’s logical operators enable you to form more complex conditions by combining simple conditions. 逻辑操作符包括;&&(与)、||(或)、!(非)。

boolalpha的作用是使bool型变量按照false、true的格式输出。如不使用该标识符,那么结果会按照1、0的格式输出。当使用boolalpha后,以后的bool类型结果都将以true或false形式输出,除非使用noboolalpha取消 boolalpha流的格式标志。

Lvalues can also be used as rvalues on the right side of an assignment,but not vice versa.

标签:语句,输出,04,int,while,运算符,switch,循环
From: https://www.cnblogs.com/yyyylllll/p/18390044

相关文章

  • switch语句中default语句不在末尾的情况
    在c语言中,default只用在switch语句中,代表默认处理,代表着默认值,default的作用就是switch语句里所有的case都不成立时所要执行的语句,default关键字用来标记switch语句中的默认分支。一般来说default语句都是放在最后一个case,假如default语句为switch语句一个第一个case,如果没有任何......
  • 03.控制语句、运算符及bool类型
    3.控制语句、运算符及bool类型3.1算法任何计算问题都可以通过按特定顺序执行一系列操作来解决。用以下方法解决问题的程序:1.要执行的操作2.这些操作的执行顺序就叫做算法。指定程序中语句(操作)执行的顺序称为程序控制。3.3伪代码(Pseudocode)使用伪代码,不必担心C++中的......
  • FIT1047 Introduction to computer systems, networks and security
    FACULTYOFINFORMATIONTECHNOLOGYFIT1047Introductiontocomputersystems,networksandsecurity–S22024Assignment2–ProcessesandMARIEProgrammingPurposeProcessesandprogramsarewhatmakecomputersdowhatwewantthemtodo.Inthefirstp......
  • Spring Boot 中优化 if-else 语句的多种方法
    1.为什么要优化if-else语句?1.1if-else语句的弊端if-else语句虽然在处理简单的逻辑判断时非常方便,但在处理复杂业务逻辑时,其劣势逐渐显现出来:代码冗长:随着判断条件的增加,if-else语句会变得冗长,代码显得凌乱。可读性差:长串的if-else语句使代码的逻辑难以快速理解,......
  • AGC043D
    如何判定结果序列能否构造出来。不太好直接想出来,先考虑构造过程会有什么性质。对于一个栈,我们发现只需要关心其相对大小关系。\(*<<\)这个时候相当于归并\(*><\)这个时候发现如果取出第一个数,那么接着取出第二个数,等价于将第一个数和第二个数绑定,然后变成\(*<\)或者继续......
  • MT6704 应用问题
    MT6704isahighperformance40V synchronousrectifierseriesproductfor Flybackconverters.Itiscompatiblewith variousFlybackconverterstypes.MT6704Itsupports DCM,CCMandQuasi-Resonant. Itintegratesa40VpowerMOSFETthatcan replaceSch......
  • Python基础 2 - 程序控制流语句
    文章目录一、程序控制流语句二、if判断语句1、单、双分支if条件格式2、多分支if条件格式:3、if判断语句的嵌套4、三元操作符三、循环语句1、while循环2、for循环延伸:列表推导式3、循环中断4、使用循环常见的错误和陷阱  大家好,我是技术界的小萌新,今......
  • if语句介绍
    if语句目录if语句if用法else用法分支中包含多条语句嵌套if悬空else问题if语句if语句可以用来判断表达式是否成立,如果条成立,则执行语句,反之则不执行。什么情况该使用if语句呢?通常要使用if语句时,我们会得知明确的条件,然后我们通过if语句将不符合条件的情况排除,而剩......
  • 昇思AI框架实践2:基于T5的SQL语句生成模型推理
     MindSpore基于T5的SQL语句生成项目实施基于T5的SQL语句生成项目介绍本项目旨在开发一个基于T5-small模型的自然语言转SQL语句生成器。该生成器能够将用户以自然语言形式提出的查询请求转换为对应的SQL查询语句,从而使得即使是不熟悉SQL语言的用户也能够轻松地从数据库中检......
  • 51nod 1204 Parity
    闲话虽然这题好像找不到原题了,但毋庸置疑地说这的确是并查集的好题。分析可以先对奇偶区间进行分析,当这个有偶数个1时,区间\(1-(left-1)\)一定与区间\(1-right\)的奇偶性相同。如此图\(3-4\)为偶区间,根据分析,\(1-2\)为奇区间。\(1-4\)也为奇区间。但如果填入的......