C++学习第十八天----switch语句

1. ?:运算符

条件运算符,又叫三元运算符;

该运算符的通用格式为:

expression1?expression2 :expression3;

意义是假如1为true,则整个条件表达式的值为2的值,否则为3的值;

2.switch语句

通用格式为:

复制代码
switch(integer-expression)
{
    case label1 : statement(s);
    case label2 : statement(s);

    ......

    default : statement(s);
}

integer-expression的结果必须是整数值,每个标签必须是整数常量表达式 ,可以是int,char常量,也可以是枚举量。

default可以省略,建议switch和break在一起使用,因为运行完一个case,并不会结束程序,而是继续往下执行,不过这也有一个好处,例如;

复制代码
case 'a' :
case 'A' :
    cout << "hello world!\n";
    break;

3.将枚举量用作标签

4.break和countinue语句

二者都使程序能够跳过部分代码,break在循环中是跳出此循环,在switch中是跳过后面的语句。countinue用于循环中,让程序跳过循环体中后面未被执行的代码,开始新的一轮循环,不是结束循环。

还有一个特殊的语句:goto语句,在任何情况下都最好不要使用goto语句,但是使用的话确实有出人意料的结果。

复制代码
goto tiaochu;

语句1;
语句2;
......
tiaochu: cout << "over!\n";

5.文本I/O和文本文件

使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码。不管目标数据类型是什么,输入一开始都是字符数据----文本数据。

下面将说明使用不同数据类型的变量来存储时,cin是如何处理该输入行的。

复制代码
首先假设输入行为38.5 19.2
 char数据类型:
char ch;
cin >> ch;
结果:第一个字符赋给ch,即3,其二进制编码被存储在ch中;


int类型:
int n;
cin >> n;
结果:cin不断读取,直到遇到非数字字符,即38,其二进制编码被存储在n中;


double类型:
double x;
cin >> x;
结果:不断读取,遇到不属于浮点数的字符,这里即空格,即38.5,


char数组:
char word[50];
cin >> word;
结果:不断读取,直到遇到空白字符,这里也是38.5


另外一种char数组输入:
char word[50];
cin.getline(word, 50);
结果:不断读取,直到遇到换行符,存储到数组中,并在末尾加一个空字符,换行符被丢弃;
相关推荐
ASKED_20193 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
(❁´◡`❁)Jimmy(❁´◡`❁)4 小时前
Exgcd 学习笔记
笔记·学习·算法
云小逸5 小时前
【nmap源码学习】 Nmap网络扫描工具深度解析:从基础参数到核心扫描逻辑
网络·数据库·学习
盐焗西兰花8 小时前
鸿蒙学习实战之路-Reader Kit构建阅读器最佳实践
学习·华为·harmonyos
深蓝海拓8 小时前
PySide6从0开始学习的笔记(二十七) 日志管理
笔记·python·学习·pyqt
慎独4138 小时前
科学赋能,让孩子专注高效爱上学习
学习
LGL6030A8 小时前
Java学习历程26——线程安全
java·开发语言·学习
学历真的很重要9 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程管理(详解版)
学习·职场和发展·系统架构·系统架构师
Nebula_g9 小时前
线程进阶: 无人机自动防空平台开发教程(更新)
java·开发语言·数据结构·学习·算法·无人机
星期五不见面10 小时前
机器人学习!(二)ROS2-节点(7)2026/02/03
学习