C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符

news2025/4/26 10:34:19

C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符


C++编程入门,输入/输出和运算符

  • C++学习-入门到精通-【1】C++编程入门,输入/输出和运算符
  • 第一个C++程序:输出一行文本
  • 算术运算


第一个C++程序:输出一行文本

// 文本打印程序
#include <iostream> // 包含该头文件程序才能将数据输出到屏幕上

// main函数是程序执行起始位置
int main()
{
	// 输出信息
	std::cout << "This is a sample of cout\n";

	// 指明程序执行成功
	return 0;
} // main函数调用结束

std命名空间
可能有些从注意到了,在输出语句中的cout前面还有一个std::。这里标准输出流cout前面的std::是不能省略的,它表明cout是命名空间std中的一个名字;标准输入流cin和标准错误流cerr都是属于这个命名空间;

如果在以后的代码中,每个coutcincerr此类的名字前面都需要加上一个std::这样是非常麻烦的,但是它们是无法省略的,所以有另一种方法,使得可以直接使用这些名字——using声明和using指令;

流插入运算符和转义字符
<<是流插入运算符。当程序执行时,运行符右边的值被插入到输出流中。注意运算符指向数据流动的方向(字符串流入输出流cout中)。注意在这个字符串中包含了一个\n,它并不会被输出。\是转义字符,它表明这是一个特殊字符;

转义作用
\n换行符。将屏幕光标定位到下一行的开始处。
\t水平制表符。将屏幕光标定位到下一个制表位置
\r回车符。将屏幕光标定位到当前行的开始处。
\a响铃符。系统开始发出响铃声。
\\反斜线符号。用于输出一个反斜线。
\’单引号。用于输出一个单引号。
\"双引号。用于输出一个双引号。

返回语句
这里的return语句表示函数结束。与C语言不同,根据C++的标准,如果程序执行到main的末尾但没有遇到return语句,也会认为程序成功的终止,就像遇到了return 0;一样。

std::cout << "This a sample ";
std::cout << "of cout\n";

这段代码输出结果与之前的代码相同,所以每个流插入都会在上一个流插入停止输出的地方开始继续插入输出。这段代码在输出了第一个字符串之后,第二行的流输出语句,会继续在sample后面的空格之后输出of cout;

同样的流输入语句cincout的使用相同不过它使用的是流提取运算符>>,运算符的指向同样表明了数据的流动方向(从标准输入cin流动到变量中);注意这里不需要像scanf函数一样使用指针来接收,也不需要指定接收数据的格式

#include <iostream>

// 计算两个数之和
int main()
{
	int a = 0;
	int b = 0;
	int sum = 0;

	// 从键盘中接收两个int类型的数据
	std::cout << "Enter first number:>";
	std::cin >> a;
	std::cout << "Enter second number:>";
	std::cin >> b;
	// 计算两数之和
	sum = a + b;

	// 输出计算结果
	std::cout << "sum = " << sum << std::endl;
}

在最后的std::cout语句中,出现了一个std::endl。它是一个流操纵符,名称endlend line的缩写,它也属于名字空间std。这个流操纵符输出一个换行符,然后“刷新输出缓冲”。缓冲区是文件管理系统的一个组成部分,可以分为输入缓冲区和输出缓冲区,数据在进入流之后并不是直接就传送给内存/硬盘,而是会先传输到缓冲区,直到缓冲区填满里面的数据都会流入下一个地方。这里使用endl就可以强制将缓冲区中的内容输出,不管是否填满。

std::cout << "sum = " << sum << std::endl;这行代码中,输出了多个不同类型的值。这就代表流插入运算符<<知道如何输出每种类型的数据。在单条语句中使用多个<<称为连接、链接或串联的流插入运算符。

算术运算

C++运算C++算术操作符使用示例
加法+3 + 7
减法-5 - 2
乘法*2 * 5
除法/4 / 2
取模%5 % 2

使用示例:

#include <iostream>
using namespace std;

int main()
{
	// 整数除法
	int num1 = 0;
	int num2 = 0;
	// 提示输入两个操作数
	cout << "Enter Two number fot divide:>";
	cin >> num1 >> num2;

	// 计算整数除法
	cout << "ret = " << num1 / num2 << endl;

	// 浮点数除法
	float fnum1 = 0;
	float fnum2 = 0;
	// 提示输入两个操作数
	cout << "Enter Two number fot divide:>";
	cin >> fnum1 >> fnum2;

	// 计算整数除法
	cout << "ret = " << fnum1 / fnum2 << endl;
}

注意:
除法是被分为整数除法和浮点数除法两种;

  • 整数除法,计算结果的小数部分直接截去;
  • 浮点数除法,计算结果包含小数部分;

上面代码的运行结果:
在这里插入图片描述

同时,大家可以注意到上面代码中,使用cout输出数据时,并没有在前面指明它的命名空间,这是因为使用using声明。using namespace std这条语句使得程序可以使用它包含的任何标准C++头文件中的所有名字。

除了上面的方法之外,还可以对每个要使用的名字进行声明,如:using std::coutusing std::cin等。

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

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

相关文章

面向高性能运动控制的MCU:架构创新、算法优化与应用分析

摘要&#xff1a;现代工业自动化、汽车电子以及商业航天等领域对运动控制MCU的性能要求不断提升。本文以国科安芯的MCU芯片AS32A601为例&#xff0c;从架构创新、算法优化到实际应用案例&#xff0c;全方位展示其在高性能运动控制领域的优势与潜力。该MCU以32位RISC-V指令集为基…

某地农产品交易中心钢网架自动化监测项目

1. 项目简介 本项目规划建设现代物流产业园&#xff0c;新建6万平方米仓库&#xff0c;具体为新建3栋钢构仓库2万平方米&#xff0c;2栋砖混结构仓库1万平方米&#xff0c;3栋交易中心2万平方米&#xff0c;改造现有3栋3层砖混结构仓库1万平方米&#xff0c;配备智能化仓库物流…

【无人机】无人机位置估计出现偏差的原因分析

目录 #0、原因分析 #1、过度振动的测定 #2、确定过度陀螺仪偏差 #3、偏航精度差的测定 #4、确定 GPS 精度差 #5、确定 GPS 数据丢失 #6、气压计地面效应补偿 #0、原因分析 位置背离的最常见原因是&#xff1a; 参考&#xff1a;Using the ECL EKF | PX4 Guide (v1.15)…

element-plus(vue3)表单el-select下拉框的远程分页下拉触底关键字搜索实现

一、基础内核-自定义指令 1.背景 2.定义 3.使用 4.注意 当编辑时需要回显&#xff0c;此时由于分页导致可能匹配不到对应label文本显示&#xff0c;此时可以这样解决 二、升级使用-二次封装组件 三、核心代码 1.自定义指令 定义 ----------------selectLoadMoreDirective.…

轻松完成视频创作,在线视频编辑器,无需下载软件,功能多样实用!

小白工具的在线视频编辑https://www.xiaobaitool.net/videos/edit/ 功能丰富、操作简便&#xff0c;在线裁剪或编辑视频工具&#xff0c;轻松完成视频创作能满足多种视频编辑需求。 格式支持广泛&#xff1a;可编辑超百种视频格式&#xff0c;基本涵盖常见和小众视频格式&#…

豆瓣图书数据采集与可视化分析(三)- 豆瓣图书数据统计分析

文章目录 前言一、数据读取与保存1. 读取清洗后数据2. 保存数据到CSV文件3. 保存数据到MySQL数据库 二、不同分类统计分析1. 不同分类的图书数量统计分析2. 不同分类的平均评分统计分析3. 不同分类的平均评价人数统计分析4. 不同分类的平均价格统计分析5. 分类综合分析 三、不同…

c++进阶——类与继承

文章目录 继承继承的基本概念继承的基本定义继承方式继承的一些注意事项 继承类模板 基类和派生类之间的转换继承中的作用域派生类的默认成员函数默认构造函数拷贝构造赋值重载析构函数默认成员函数总结 不能被继承的类继承和友元继承与静态成员多继承及其菱形继承问题继承模型…

复杂地形越野机器人导航新突破!VERTIFORMER:数据高效多任务Transformer助力越野机器人移动导航

作者&#xff1a; Mohammad Nazeri 1 ^{1} 1, Anuj Pokhrel 1 ^{1} 1, Alexandyr Card 1 ^{1} 1, Aniket Datar 1 ^{1} 1, Garrett Warnell 2 , 3 ^{2,3} 2,3, Xuesu Xiao 1 ^{1} 1单位&#xff1a; 1 ^{1} 1乔治梅森大学计算机科学系&#xff0c; 2 ^{2} 2美国陆军研究实验室&…

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示,实现前后端交互

Jsp技术入门指南【十】IDEA 开发环境下实现 MySQL 数据在 JSP 页面的可视化展示&#xff0c;实现前后端交互 前言一、JDBC 核心接口和类&#xff1a;数据库连接的“工具箱”1. 常用的 2 个“关键类”2. 必须掌握的 5 个“核心接口” 二、创建 JDBC 程序的步骤1. 第一步&#xf…

数据库未正常关闭后,再次启动时只有主进程,数据库日志无输出

瀚高数据库 目录 环境 症状 问题原因 解决方案 环境 系统平台&#xff1a;银河麒麟svs&#xff08;X86_64&#xff09; 版本&#xff1a;4.5.8 症状 现象&#xff1a;使用pg_ctl stop停止数据库&#xff0c;未正常关闭&#xff1b;使用pg_ctl stop -m i 强制关闭数据库后&…

Oracle Recovery Tools修复ORA-00742、ORA-600 ktbair2: illegal inheritance故障

接到客户反馈,一套运行在虚拟化平台中的Oracle数据库,由于机房断电,导致数据库无法启动,最初启动报错 2025-04-22T16:59:48.92222708:00 Completed: alter database mount exclusive alter database open 2025-04-22T16:59:52.60972608:00 Ping without log force is disabled:…

基于 Netmiko 的网络设备自动化操作

学习目标 掌握 Netmiko 库的核心功能与使用场景。能够通过 Netmiko 连接多厂商设备并执行命令和配置。实现批量设备管理、配置备份与自动化巡检。掌握异常处理、日志记录与性能优化技巧。理解 Netmiko 在自动化运维体系中的角色。 1. Netmiko 简介 1.1 什么是 Netmiko Netmi…

LeNet5 神经网络的参数解析和图片尺寸解析

1.LeNet-5 神经网络 以下是针对 LeNet-5 神经网络的详细参数解析和图片尺寸变化分析&#xff0c;和原始论文设计&#xff0c;通过分步计算说明各层的张量变换过程。 经典的 LeNet-5架构简化版&#xff08;原始论文输入为 32x32&#xff0c;MNIST 常用 28x28 需调整&#xff09…

Axure大屏可视化模板:多领域数据决策的新引擎

在数据驱动决策的时代&#xff0c;Axure大屏可视化模板凭借交互性与可定制性&#xff0c;成为农业、园区管理、智慧城市、企业及医疗领域的创新工具&#xff0c;助力高效数据展示与智能决策。 核心应用场景 1. 农业精细化&#xff1a;实时监控土壤湿度、作物生长曲线&#x…

代码随想录算法训练营第60期第十七天打卡

今天我们继续进入二叉树的下一个章节&#xff0c;今天的内容我在写今天的博客前大致看了一下部分题目难度不算大&#xff0c;那我们就进入今天的题目。 第一题对应力扣编号为654的题目最大二叉树 这道题目的坑相当多&#xff0c;我第一次题目没有看明白就是我不知道到底是如何…

SOC估算:开路电压修正的安时积分法

SOC估算&#xff1a;开路电压修正的安时积分法 基本概念 开路电压修正的安时积分法是一种结合了两种SOC估算方法的混合技术&#xff1a; 安时积分法&#xff08;库仑计数法&#xff09; - 通过电流积分计算SOC变化 开路电压法 - 通过电池电压与SOC的关系曲线进行校准 方法原…

使用 SSE + WebFlux 推送日志信息到前端

为什么使用 SSE 而不使用 WebSocket, 请看 SEE 对比 Websocket 的优缺点。 特性SSEWebSocket通信方向单向&#xff08;服务器→客户端&#xff09;双向&#xff08;全双工&#xff09;协议基于 HTTP独立协议&#xff08;需 ws:// 前缀&#xff09;兼容性现代浏览器&#xff08…

二叉树的遍历(广度优先搜索)

二叉树的第二种遍历方式&#xff0c;层序遍历&#xff0c;本质是运用队列对二叉树进行搜索。 层序遍历是指将二叉树的每一层按顺序遍历&#xff0c;通过队列实现就是先将根节点push入队&#xff0c;统计此时的队列中的元素数量size&#xff0c;将size元素全部pop出去&#xff0…

2025年计算机视觉与智能通信国际会议(ICCVIC 2025)

2025 International Conference on Computer Vision and Intelligent Communication 一、大会信息 会议简称&#xff1a;ICCVIC 2025 大会地点&#xff1a;中国杭州 收录检索&#xff1a;提交Ei Compendex,CPCI,CNKI,Google Scholar等 二、会议简介 2025年计算机视觉与智能通…

手工收集统计信息

有时想对某些表收集统计信息 CREATE OR REPLACE PROCEDURE GATHER_STATS ASDECLAREV_SQL1 VARCHAR(1000);--表游标CURSOR C1 ISSELECT (SELECT USER) AS TABLE_OWNER,TABLE_NAMEFROM USER_TABLES; --可以在这里加过滤条件--索引游标CURSOR C2 ISSELECT TABLE_OWNER,INDEX_NAM…