当前位置: 首页 > news >正文

C++语言有哪些常用语句?

1. 变量定义语句

在 C++ 中,首先要定义变量才能使用。例如

int a;

定义了一个整型变量a。这是很基础的语句,它告诉编译器为变量a分配内存空间,用于存储整数值。
如果要定义多个相同类型的变量,可以写成

int a, b, c;

除了基本数据类型(如int、float、double、char等),还可以定义自定义类型的变量。例如,假设有一个结构体struct Student,可以用Student stu;来定义一个Student类型的变量stu。

2. 赋值语句

用于给变量赋值,格式为变量名 = 表达式;。例如

a = 5;

将整数5赋给变量a。
也可以进行复杂的赋值操作,如

b = a + 3;

这里先计算a + 3的值,然后将结果赋给变量b。赋值语句还可以用于更新变量的值,比如

a = a + 1;

(通常写成a++;这种更简洁的形式),这会使变量a的值增加1。

3. 输入输出语句

输入
使用cin(标准输入流对象)来从键盘读取用户输入。例如,

int num; 
cin >> num;

这会等待用户从键盘输入一个整数,并将其存储到变量num中。如果要读取多个变量,可以写成

int a, b; 
cin >> a >> b;

它会按照顺序读取两个整数分别赋给a和b。
输出
使用cout(标准输出流对象)来输出信息到控制台。例如,

cout << "Hello, World!" << endl;

会在控制台输出Hello, World!并换行。endl是一个操纵符,用于结束当前行并刷新输出缓冲区。也可以输出变量的值,如

int age = 20; 
cout << "My age is " << age << endl;

它会输出包含变量age值的字符串。

4. 条件语句

用于根据条件执行不同的代码块。if - else 语句基本格式为:

if (条件表达式) {// 条件为真时执行的代码
} else {// 条件为假时执行的代码
}

例如,判断一个数是否为正数:

int num = 10;
if (num > 0) {cout << num << " is positive." << endl;
} else {cout << num << " is non - positive." << endl;
}

还可以有if - else if - else的形式,用于处理多个条件分支。例如,判断一个数是正数、负数还是零:

int number;
cin >> number;
if (number > 0) {cout << "Positive" << endl;
} else if (number < 0) {cout << "Negative" << endl;
} else {cout << "Zero" << endl;
}

switch 语句
用于多分支选择。格式为:

switch (表达式) {case 常量表达式1:// 代码块1break;case 常量表达式2:// 代码块2break;...default:// 默认代码块
}

例如,根据用户输入的数字输出对应的星期几(简单示例):

int day;
cin >> day;
switch (day) {case 1:cout << "Monday" << endl;break;case 2:cout << "Tuesday" << endl;break;case 3:cout << "Wednesday" << endl;break;case 4:cout << "Thursday" << endl;break;case 5:cout << "Friday" << endl;break;case 6:cout << "Saturday" << endl;break;case 7:cout << "Sunday" << endl;break;default:cout << "Invalid input" << endl;
}

5. 循环语句

for 循环
常用于已知循环次数的情况。格式为

for(初始化表达式; 条件表达式; 更新表达式) { 循环体; 
}

例如,计算1到10的和:

int sum = 0;
for (int i = 1; i <= 10; i++) {sum += i;
}
cout << "The sum from 1 to 10 is " << sum << endl;

while 循环
当条件为真时执行循环体。格式为

while(条件表达式) { 循环体; }

例如,输出小于5的正整数:

int n = 1;
while (n < 5) {cout << n << " ";n++;
}

do - while 循环
它和while循环类似,但至少会执行一次循环体。格式为

do { 循环体;}  while(条件表达式);

例如:

int x = 1;
do {cout << x << " ";x++;
} while (x <= 3);

6. 函数调用语句

C++ 中有大量的标准库函数可以调用,也可以调用自己定义的函数。例如,调用标准库中的sqrt函数来计算平方根:

#include <iostream>
#include <cmath>
int main() {double num = 9.0;double result = sqrt(num);cout << "The square root of " << num << " is " << result << endl;return 0;
}

对于自定义函数,假设定义了一个函数void printMessage()来输出一条消息,在main函数中可以这样调用:

void printMessage() {cout << "This is a custom function." << endl;
}
int main() {printMessage();return 0;
}

7. 跳转语句(break 和 continue)

break 语句
用于跳出循环或者switch语句。在循环中,当满足某个条件时,使用break可以立即终止循环。例如,在for循环中查找一个数:

int numbers[] = {1, 3, 5, 7, 9};
int target = 7;
for (int i = 0; i < 5; i++) {if (numbers[i] == target) {cout << "Found " << target << " at index " << i << endl;break;}
}

continue 语句
用于跳过当前循环中的剩余代码,直接开始下一次循环。例如,输出1到10中除了5以外的数:

for (int i = 1; i <= 10; i++) {if (i == 5) {continue;}cout << i << " ";
}

相关文章:

C++语言有哪些常用语句?

1. 变量定义语句 在 C 中&#xff0c;首先要定义变量才能使用。例如 int a;定义了一个整型变量a。这是很基础的语句&#xff0c;它告诉编译器为变量a分配内存空间&#xff0c;用于存储整数值。 如果要定义多个相同类型的变量&#xff0c;可以写成 int a, b, c;除了基本数据类…...

linux alsa-lib snd_pcm_open函数源码分析(二)

​ 访问原版内容&#xff0c;可直接到博客 linux alsa-lib snd_pcm_open函数源码分析&#xff08;二) https://blog.whatsroot.xyz/2020/08/12/alsa_snd_open-analysis-2/ 系列文章其他部分: linux alsa-lib snd_pcm_open函数源码分析&#xff08;一) linux alsa-lib snd_pc…...

机翼的抖振与颤振

机翼的抖振与颤振 1. 机翼颤振&#xff1a;飞机设计的隐形杀手2. 机翼抖振&#xff1a;由气流不稳定性引起的振动3. 两种振动的区分和管理3.1 检测与预防 机翼的颤振和抖振是飞机设计和航空工程师面临的两个重要技术问题。这两种现象虽然都与机翼的振动相关&#xff0c;但它们的…...

React04 State变量 组件渲染

State变量 & 渲染和提交 State 变量state 变量的使用State 是隔离且私有的 组件渲染 State 变量 state 变量的使用 导入 useState import { useState } from react;定义一个 state 变量 const [index, setIndex] useState(0);useState 的唯一参数是 state 变量的初始值…...

【数据库系统概论】第3章 关系数据库标准语言SQL(一)数据查询(超详细)

目录 一、单表查询 1. 简单的数据查询 &#xff08;1&#xff09;选择表中若干列 &#xff08;2&#xff09;选择表中若干行&#xff08;元祖&#xff09; 2. 聚合函数与分组查询 聚集函数 GROUP BY分组查询 二、联接查询 1、连接概述 2. 内联接&#xff08;INNER JO…...

mysql-恢复数据(日志管理)

前言 在mysql中我们有时候会出现误删除&#xff0c;或者其他的问题&#xff0c;我们可以通过mysql的日志进行恢复 操作 我们可以在mysql里面定义一个错误日志&#xff0c;方便我们可以排查是因为什么原因来解决mysql无法启动问题 ----------------------------------------…...

探索Unity:从游戏引擎到元宇宙体验,聚焦内容创作

unity是实时3D互动内容创作和运营平台&#xff0c;包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者&#xff0c;借助Unity将创意变成现实。提供一整套完善的软件解决方案&#xff0c;可用于创作、运营和变现任何实时互动的2D和3D内容&#xff0c;支持平台包括手机、…...

自动化测试类型与持续集成频率的关系

持续集成是敏捷开发的一个重要实践&#xff0c;可是究竟多频繁的集成才算“持续”集成&#xff1f; 一般来说&#xff0c;持续集成有3种常见的集成频率&#xff0c;分别是每分钟集成、每天集成和每迭代集成。项目组应当以怎样的频率进行集成&#xff0c;这取决于测试策略&…...

React 中组件通信的几种主要方式

一、父传子&#xff1a; 1. 传递多个属性 父组件可以通过 props 传递多个属性给子组件。 示例 // 子组件 function Son(props) {return (<div>This is Son, {props.name} - Age: {props.age}</div>); }// 父组件 function App() {const name This is App N…...

mint-ui Picker 显示异常

mint-ui Picker 显示异常 现象 最近一个老项目页面显示异常&#xff0c;使用mint-ui Picker显示异常,直接显示成了 数据对象&#xff0c;而不是具体travelName 字段 组件 mint-ui Picker 使用方式(vue方式) // template <mt-picker :slots"slots" value-key…...

深入理解 MySQL 中的日志类型及其应用场景

目录标题 MySQL 中的日志类型这么多,它们都有哪些作用?1.错误日志(Error Log)2.事务日志2.1 InnoDB Redo Log(重做日志)2.2 InnoDB Undo Log (撤消日志)3.查询日志(General Query Log)4.慢查询日志 (Slow Query Log)5.二进制日志(Binary Log)6.中继日志 (Relay Log)总结一下M…...

群控系统服务端开发模式-应用开发-上传配置功能开发

下面直接进入上传配置功能开发&#xff0c;废话不多说。 一、创建表 1、语句 CREATE TABLE cluster_control.nc_param_upload (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 编号,upload_type tinyint(1) UNSIGNED NOT NULL COMMENT 上传类型 1&#xff1a;本站 2&a…...

stm32——GPIO开发

目录 1、什么是GPIO 2、GPIO的作用 3、GPIO的基本结构 4、GPIO引脚的基本结构 5、GPIO端口模式的配置 1. 输入浮空&#xff08;Input Floating&#xff09; 2. 输入上拉&#xff08;Input Pull-Up&#xff09; 3. 输入下拉&#xff08;Input Pull-Down&#xff09; 4. …...

layui 自定义验证单选框必填

对于输入框类型必填验证&#xff0c;只需要在 input 输入框加入 lay-verify "required" 即可。但对于单选按钮这种特殊的该怎么办呢&#xff1f;layui 为我们提供了自定义验证。 1. 在单选按钮上添加自定义验证的名称 2. 验证规则如下 // 单选框自定义验证form.ve…...

Spring 设计模式之策略模式

Spring 设计模式之策略模式 策略模式构成部分java举例 策略模式 策略模式&#xff1a;允许定义一系列算法&#xff0c;并将每一个算法封装起来&#xff0c;使它们可以互相替换&#xff0c;且算法的变化可以独立于使用它们的客户端。 构成部分 Context&#xff08;上下文&…...

苹果开发 IOS 证书生成步骤

前提条件 你手上有一台 Macbook你的苹果账号已被添加到开发人员中 证书创建步骤 打开 XCode 直接生成 p12证书生成后&#xff0c;就可在苹果开发者管理界面中看到你的证书记录登录苹果开发中心&#xff0c;创建 profiles 文件&#xff0c;并下载以上步骤即可&#xff0c;就这…...

DDR2 SDRAM(五)初始化

因为DDR2本质上只是更高级的一种SRAM&#xff0c;底层操作原理和SRAM是一样的&#xff0c;所以很多基础的东西就不再赘述了。 一、原理 在初始化之前&#xff0c;DDR2芯片需要先上电&#xff0c;芯片有多个需要提供的电压&#xff0c;其大小和顺序也有要求&#xff0c;这部分…...

Python工具箱系列(五十七)

图像分割与人脸识别 众所周知图像是由若干有意义的像素组成的&#xff0c;图像分割作为计算机视觉的基础&#xff0c;对具有现有目标和较精确边界的图像进行分割&#xff0c;实现在图像像素级别上的分类任务。图像分割可分为语义分割和实例分割两类&#xff0c;区别如下&#x…...

数据智能驱动金融策略优化:民锋智能分析技术的应用

在现代金融市场中&#xff0c;数据分析与智能化技术的结合为投资策略带来了全新机遇。民锋以智能分析技术为核心&#xff0c;帮助投资者在复杂的市场环境中做出高效决策。本文将深入探讨民锋智能分析技术如何驱动策略优化&#xff0c;为投资者带来更加智能化的支持。 #### 一、…...

1009:带余除法

【题目描述】 给定被除数和除数&#xff0c;求整数商及余数。此题中请使用默认的整除和取余运算&#xff0c;无需对结果进行任何特殊处理。 【输入】 一行&#xff0c;包含两个整数&#xff0c;依次为被除数和除数&#xff08;除数非零&#xff09;&#xff0c;中间用一个空格隔…...

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

Mac软件卸载指南,简单易懂!

刚和Adobe分手&#xff0c;它却总在Library里给你写"回忆录"&#xff1f;卸载的Final Cut Pro像电子幽灵般阴魂不散&#xff1f;总是会有残留文件&#xff0c;别慌&#xff01;这份Mac软件卸载指南&#xff0c;将用最硬核的方式教你"数字分手术"&#xff0…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

前端高频面试题2:浏览器/计算机网络

本专栏相关链接 前端高频面试题1&#xff1a;HTML/CSS 前端高频面试题2&#xff1a;浏览器/计算机网络 前端高频面试题3&#xff1a;JavaScript 1.什么是强缓存、协商缓存&#xff1f; 强缓存&#xff1a; 当浏览器请求资源时&#xff0c;首先检查本地缓存是否命中。如果命…...

AD学习(3)

1 PCB封装元素组成及简单的PCB封装创建 封装的组成部分&#xff1a; &#xff08;1&#xff09;PCB焊盘&#xff1a;表层的铜 &#xff0c;top层的铜 &#xff08;2&#xff09;管脚序号&#xff1a;用来关联原理图中的管脚的序号&#xff0c;原理图的序号需要和PCB封装一一…...