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

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

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.xdnf.cn/news/2195.html

相关文章:

  • Windows 10 系统关机后立即重启
  • 利用TTP协议 ETag + 路由守卫 实现前端发版后通知用户更新得一个方案
  • 过去 vs 现在:创业门槛的颠覆性变化
  • 系统架构师2025年论文《论软件架构评估2》
  • 什么是CN2专线?全面解析中国电信的高性能网络服务
  • 中国头部云服务商分析
  • SQL问题分析与诊断(8)——分析方法3
  • 【Deepseek学习大模型推理】MOONCAKE: A KVCache-centric Architecture实验部分(下)
  • 前端如何获取样式图里面的标准颜色RGB
  • 11.AOP开发
  • 【C语言】全局变量、静态本地变量
  • 百度文心4.5 Turbo与DeepSeek、豆包、元宝对比:技术路径与市场格局分析​​
  • 华为Pura X的智控键:让折叠机体验更上一层楼的设计
  • 服务器集群都有哪些优势?
  • 可编辑120页PPT | 数字化转型数据治理解决方案
  • Kubernetes 节点 Not Ready 时 Pod 驱逐机制深度解析(下)
  • 【网络】MQTT协议
  • Spring-Ai-McpSever从外到内
  • 深入 Vue 核心:通信、生命周期与 API 的全面解析
  • 如何通过电路测量运放的增益带宽积(GBP)和压摆率(SR)
  • vant表单自定义校验
  • 20242817-李臻-课上测试:网络编程
  • 跟着尚硅谷学vue-day5
  • Office 2019 (含Visio+Project)官方IOS 下载
  • 【软件测试学习day5】Selenium自动化测试框架Java环境搭建
  • Shell脚本-for循环应用案例
  • OS库的常用操作
  • 用python进行OCR识别
  • etcher 刻录系统,装系统,ubuntu安装不要联网,grub tryinstall参数记得改为nomodeset
  • datax通过官网工具包,使用Python命令启动时报错