c++入門——c++輸入cin和輸出cout的簡單使用

c++輸入cin、輸出cout

  • 1 cin
  • 2 cout
  • 3 cin和cout說明

c++在c語言的輸入、輸出函數的基礎上進行了封裝。

1 cin

c可以理解為控制臺,in可以理解為輸入。

參考代碼:

void f(){int a;float b;double c;char d;cin>>a>>b>>c>>d;//這里和scanf是一樣的功能
}void f2(){char st[20]={"\0"};cin>>st;//不讀空格cin.getline(st,20);//讀取一行的20個字符,包括空格,不包括換行符(cin>>st).get();//不讀空格,讀完后吸收多余換行符
}

2 cout

參考代碼

void f(){int a=1;float b=2.2f;cout<<a<<b;//輸出變量,類似printfchar st[]="Hello, world.";cout<<"Hello, world.";//輸出字符串cout<<st;//輸出字符串cout<<endl;//輸出換行符endl,endl會刷新流
}#include<iomanip>
//格式輸出字符串
void f2(){float b=2.2f;cout<<fixed<<setprecision(3)<<b;//按3位小數輸出浮點數int a=4;cout<<step(5)<<a;
}

其中endl:end of line。在c語言的換行的基礎上新增了很多東西,例如刷新輸出流等。

3 cin和cout說明

說明:

  1. 使用cout標準輸出對象(控制臺)和cin標準輸入對象(鍵盤)時,必須包含< iostream >頭文件以及按命名空間使用方法使用std。

  2. cout和cin是全局的流對象,endl是特殊的C++符號,表示換行輸出,他們都包含在包含<iostream>頭文件中。

  3. <<是流插入運算符,>>是流提取運算符(從控制臺提取一個數據,將數據的值給>>后面的變量)。如果有學過運算符重載,可以知道這個提取運算符本質就是一個函數。

測試樣例:

#include<iostream>
using namespace std;int main() {int a, b;double c;cin.operator>>(a);//可以理解為cin的成員函數cin.operator>>(b).operator>>(c);(cout.operator<<(a) << b).operator<<(c);//加()調整優先級return 0;
}
  1. 使用C++輸入輸出更方便,不需要像printf/scanf輸入輸出時那樣,需要手動控制格式。C++的輸入輸出可以自動識別變量類型。但在操作的數據量比較大時cin和cout會消耗更多的時間,所以使用再方便也要分情況使用。

  2. 實際上cout和cin分別是ostream和istream類型的對象,>>和<<也涉及運算符重載等知識,

注意:早期標準庫將所有功能在全局域中實現,聲明在.h后綴的頭文件中,使用時只需包含對應

頭文件即可,后來將其實現在std命名空間下,為了和C頭文件區分,也為了正確使用命名空間,

規定C++頭文件不帶.h;舊編譯器(vc 6.0)中還支持<iostream.h>格式,后續編譯器已不支持,因

此推薦使用<iostream>+std的方式:

#include<iostream>
using namespace std;

ps:關于cout和cin還有很多更復雜的用法,比如控制整形輸出進制格式等等。因為C++兼容C語言的用法,這些用得不是很多,以后有機會再詳細介紹。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/64491.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/64491.shtml
英文地址,請注明出處:http://en.pswp.cn/web/64491.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PlantUML 時序圖 基本例子

基本的例子 序列-> 用于繪制兩個參與者之間的信息。參與者不必明確聲明。 要有一個點狀的箭頭&#xff0c;就用--> 也可以用<- 和<-- 。這不會改變繪圖&#xff0c;但可能提高可讀性。注意&#xff0c;這只適用于順序圖&#xff0c;其他圖的規則不同。 plantum…

YOLOv10-1.1部分代碼閱讀筆記-utils.py

utils.py ultralytics\nn\modules\utils.py 目錄 utils.py 1.所需的庫和模塊 2.def _get_clones(module, n): 3.def bias_init_with_prob(prior_prob0.01): 4.def linear_init(module): 5.def inverse_sigmoid(x, eps1e-5): 6.def multi_scale_deformable_attn_py…

vue3使用video-player實現視頻播放(可拖動視頻窗口、調整大小)

1.安裝video-player npm install video.js videojs-player/vue --save在main.js中配置全局引入 // 導入視頻播放組件 import VueVideoPlayer from videojs-player/vue import video.js/dist/video-js.cssconst app createApp(App) // 視頻播放組件 app.use(VueVideoPlayer)2…

基于卷積神經網絡的甲狀腺結節識別系統,resnet50,mobilenet模型【pytorch框架+python源碼】

更多目標檢測、圖像分類識別、目標追蹤等項目可看我主頁其他文章 功能演示&#xff1a; 甲狀腺結節識別系統&#xff0c;卷積神經網絡&#xff0c;resnet50&#xff0c;mobilenet【pytorch框架&#xff0c;python源碼】_嗶哩嗶哩_bilibili &#xff08;一&#xff09;簡介 …

C++--類與對象

1.封裝 封裝是c面向對象的三大特性之一 將屬性和行為作為一個整體 將屬性和行為加以權限控制 語法&#xff1a; class 類名{ 訪問權限: 屬性/行為 }; 訪問權限 public 公共權限 類內類外均可以訪問 protected 保護權限 類內可以訪問&#xff0c;類外不可以訪問 pr…

區塊鏈期末復習3:跨鏈原子交換其他加密貨幣

參考教材&#xff1a;《區塊鏈&#xff1a;技術驅動金融》 一、跨鏈原子交換&#xff08;不可分割的交叉鏈互換&#xff09; 1.實施步驟 假設Alice要拿1BTC交換Bob的3BCY。Alice作為交易的發起者。 1&#xff09;Alice創建一個secret&#xff08;一個隨機數x), 并計算其哈希…

OCR實踐-Table-Transformer

前言 書接上文 OCR實踐—PaddleOCR Table-Transformer 與 PubTables-1M table-transformer&#xff0c;來自微軟&#xff0c;基于Detr&#xff0c;在PubTables1M 數據集上進行訓練&#xff0c;模型是在提出數據集同時的工作&#xff0c; paper PubTables-1M: Towards comp…

重裝操作系統后 Oracle 11g 數據庫數據還原

場景描述&#xff1a; 由于SSD系統盤損壞&#xff0c;更換硬盤后重裝了操作系統&#xff0c;Oracle數據庫之前安裝在D盤(另一個硬盤)&#xff0c;更換硬盤多添加一個盤符重裝系統后盤符從D變成E&#xff0c;也就是之前的D:/app/... 變成了現在的 E:/app/...&#xff0c;重新安裝…

gozero項目接入elk的配置與實戰

在 **GoZero** 項目中接入 **ELK&#xff08;Elasticsearch、Logstash、Kibana&#xff09;** 來進行日志管理&#xff0c;是一個非常強大的監控和分析方案。通過集成 ELK&#xff0c;你可以收集、存儲、查詢和可視化日志數據。 在這里&#xff0c;我將介紹如何在 GoZero 項目中…

探索PIL庫:Python圖像處理的強大工具

文章一覽 前言一、PIL圖像處理庫簡介二、基本概念2.1顏色模型2.1.1 RGB 顏色模型2.1.2 CMY色彩空間 2.2 通道2.3 圖像數據2.4 模式 三、用PIL做圖像處理3.1 圖像縮放、翻轉等處理3.1.1 圖像縮放處理3.1.2 圖像旋轉處理&#xff08;1&#xff09;PIL 提供的函數:&#xff08;2&a…

boot工程需求

1、 關閉看門狗、初始化中斷和trap向量表&#xff0c;進行時鐘和外設初始化&#xff0c;讓芯片正常運行起來 2、 提供CAN ETH等用于通訊功能的驅動&#xff0c;能夠接受外部數據的傳輸請求 3、 提供Flash的讀寫與擦除驅動&#xff0c;設置服務來對通訊端接受到的數據更新代…

C#中的類型和函數參數傳遞

1.類型 C#中類型分為兩類&#xff1a;值類型和引用類型 1.值類型 所有值類型繼承自System.ValueType類&#xff08;這是System.Object的一個子類&#xff09; 值類型變量是直接存儲數據&#xff0c;值類型變量聲明后&#xff0c;不管是否賦值&#xff0c;編譯器都會為其分配…

android系統查找應用包名以及主activity:

一、查找應用的主activity&#xff1a; pm list packages 發現所有的包 dumpsys package 包名&#xff1a; 獲取所有的包信息&#xff0c;可以所有關鍵詞MAIN來找主activity 也可以通過下面命令找到所有activity&#xff0c;看下面大概率com.android.settings/.Settings為主ac…

微信V3支付報錯 平臺證書及平臺證書序列號

1.平臺證書及平臺證書序列號設置錯誤報錯&#xff1a; 錯誤1&#xff1a; Verify the response’s data with: timestamp1735184656, noncea5806b8cabc923299f8db1a174f3a4d0, signatureFZ5FgD/jtt4J99GKssKWKA/0buBSOAbWcu6H52l2UqqaJKvrsNxvodB569ZFz5G3fbassOQcSh5BFq6hvE…

在Ubuntu下通過Docker部署Mastodon服務器

嘿&#xff0c;朋友們&#xff0c;今天咱們來聊聊如何在Ubuntu上通過Docker部署Mastodon服務器。想要擁有自己的社交媒體平臺&#xff1f;Mastodon就是個不錯的選擇&#xff01;&#x1f310;&#x1f680; Docker與Mastodon簡介 Docker是一個開源的容器化平臺&#xff0c;讓…

Es搭建——單節點——Linux

Es搭建——單節點——Linux 一、安裝 下載安裝包&#xff1a; 官網下載地址&#xff1a;https://www.elastic.co/downloads/elasticsearch 上傳包到linux 切換到安裝目錄下 解壓&#xff1a;tar -zxvf elasticsearch-7.17.1-linux-x86_64.tar.gz 重命名安裝文件夾 mv elastics…

【機器學習】梯度下降

文章目錄 1. 梯度下降概念2. 梯度下降的技巧2.1 動態設置學習率2.2 Adagrad調整梯度2.3 隨機梯度下降&#xff08;SGD&#xff09;2.4 特征縮放 3. 梯度下降理論基礎 1. 梯度下降概念 梯度&#xff1a;Loss 對參數在某一點的偏微分&#xff0c;函數沿梯度的方向具有最大的變化…

數據庫在大數據領域的探索與實踐:動態存儲與查詢優化

在大數據時代&#xff0c;數據庫的靈活性與高效性成為數據存儲與分析的重要基石。從關系型數據庫到 NoSQL 數據庫的演進&#xff0c;開發者逐漸可以在結構化與非結構化數據間找到平衡。本文將聚焦大數據場景下的數據庫實踐&#xff0c;尤其是如何動態存儲與查詢復雜數據&#x…

【Python科研數據爬蟲】基于國家標準查詢平臺和能源標準化信息平臺的海上風電相關行業標準查詢信息爬取及處理

基于國家標準查詢平臺和能源標準化信息平臺的海上風電相關行業標準查詢信息爬取及處理 1 背景2 標準檢索平臺2.1 能源標準化信息平臺2.2 全國標準信息公共服務平臺3 標準信息數據的爬取與處理3.1 能源標準化信息平臺的信息爬取3.2 全國標準信息公共服務平臺的信息爬取3.3 標準信…

AWS Certified AI Practitioner 自學考試心得

學習目標&#xff1a; 考取 AWS Certified AI Practitioner 那什么是 AWS Certified AI Practitioner 認證 是基礎級的認證 比較簡單 — 學習內容&#xff1a; 1. AWS網站自學網站 極客時間免費課程&#xff1a;http://gk.link/a/12sJL 配合極客時間課程的章節測試檢驗自…