最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++編程中用put輸出單個字符和cin輸入流的用法

 更新時間:2015年09月24日 15:20:43   投稿:goldensun  
這篇文章主要介紹了C++編程中用put輸出單個字符和cin輸入流的用法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下

用C++流成員函數(shù)put輸出單個字符
在程序中一般用cout和插入運算符“<<”實現(xiàn)輸出,cout流在內(nèi)存中有相應(yīng)的緩沖區(qū)。有時用戶還有特殊的輸出要求,例如只輸出一個字符。ostream類除了提供上面介紹過的用于格式控制的成員函數(shù)外,還提供了專用于輸出單個字符的成員函數(shù)put。如:

  cout.put('a');


調(diào)用該函數(shù)的結(jié)果是在屏幕上顯示一個字符a。put函數(shù)的參數(shù)可以是字符或字符的ASCII代碼(也可以是一個整型表達式)。如

  cout.put(65 + 32);


也顯示字符a,因為97是字符a的ASCII代碼。

可以在一個語句中連續(xù)調(diào)用put函數(shù)。如:

  cout.put(71).put(79).put(79). put(68).put('\n');


在屏幕上顯示GOOD。

[例] 有一個字符串"BASIC",要求把它們按相反的順序輸出。

#include <iostream>
using namespace std;
int main( )
{
  char *a="BASIC";//字符指針指向'B'
  for(int i=4;i>=0;i--)
   cout.put(*(a+i));         //從最后一個字符開始輸出
  cout.put('\n');
  return 0;
}

運行時在屏幕上輸出:

CISAB

除了使用cout.put函數(shù)輸出一個字符外,還可以用putchar函數(shù)輸出一個字符。putchar函數(shù)是C語言中使用的,在stdio.h頭文件中定義。C++保留了這個函數(shù),在iostream頭文件中定義。

[例] 也可以改用putchar函數(shù)實現(xiàn)。

#include <iostream> //也可以用#include <stdio.h>,同時不要下一行
using namespace std;
int main( )
{
  char *a="BASIC";
  for(int i=4;i>=0;i--)
   putchar(*(a+i));
  putchar('\n');
}

運行結(jié)果與前相同。

成員函數(shù)put不僅可以用cout流對象來調(diào)用,而且也可以用ostream類的其他流對象調(diào)用。


C++ cin輸入流詳解
標(biāo)準輸入流是從標(biāo)準輸入設(shè)備(鍵盤)流向程序的數(shù)據(jù)。在頭文件iostream.h中定義了cin、cout、cerr、clog 4個流對象(詳情請查看:與C++輸入輸出有關(guān)的類和對象),cin是輸入流,cout、cerr、clog是輸出流。

cin是istream類的對象,它從標(biāo)準輸入設(shè)備(鍵盤)獲取數(shù)據(jù),程序中的變量通過流提取符“>>”從流中提取數(shù)據(jù)。流提取符“>>”從流中提取數(shù)據(jù)時通常跳過輸入流中的空格、tab鍵、換行符等空白字符。

注意:只有在輸入完數(shù)據(jù)再按回車鍵后,該行數(shù)據(jù)才被送入鍵盤緩沖區(qū),形成輸入流,提取運算符“>>”才能從中提取數(shù)據(jù)。需要注意保證從流中讀取數(shù)據(jù)能正常進行。

例如:

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


若從鍵盤上輸入

  21 abc↙


變量a從輸入流中提取整數(shù)21,提取操作成功,此時cin流處于正常狀態(tài)。但在變量b準備提取一個整數(shù)時,遇到了字母a,顯然提取操作失敗了,此時,cin流被置為出錯狀態(tài)。只有在正常狀態(tài)時,才能從輸入流中提取數(shù)據(jù)。

當(dāng)遇到無效字符或遇到文件結(jié)束符(不是換行符,是文件中的數(shù)據(jù)已讀完)時,輸入流cin就處于出錯狀態(tài),即無法正常提取數(shù)據(jù)。此時對cin流的所有提取操作將終止。在 IBM PC及其兼容機中,以Ctrl + Z表示文件結(jié)束符。在UNIX和Macintosh系統(tǒng)中,以 Ctrl + D表示文件結(jié)束符。當(dāng)輸入流cin處于出錯狀態(tài)時,如果測試cin的值,可以發(fā)現(xiàn)它的值為false(假),即cin為0值。如果輸入流在正常狀態(tài),cin的值為true(真),即cin為 一個非0值。可以通過測試cin的值,判斷流對象是否處于正常狀態(tài)和提取操作是否成功。如:

  if(!cn) //流cin處于出銷狀態(tài),無法正常提取數(shù)據(jù)
    cout<<"error";

[例] 通過測試cin的真值,判斷流對象是否處于正常狀態(tài)。

#include <iostream>
using namespace std;
int main( )
{
  float grade;
  cout<<"enter grade:";
  while(cin>>grade)//能從cin流讀取數(shù)據(jù)
  {
   if(grade>=85) cout<<grade<<"GOOD!"<<endl;
   if(grade<60) cout<<grade<<"fail!"<<endl;
   cout<<"enter grade:";
  }
  cout<<"The end."<<endl;
  return 0;
}

流提取符“>>”不斷地從流中提取數(shù)據(jù)(每次提取一個浮點數(shù)),如果成功,就陚給 grade,此時cin為真,若不成功則cin為假。如果鍵入文件結(jié)束符,表示數(shù)據(jù)已完。

運行情況如下:

enter grade: 67↙
enter grade: 89↙
89 GOOD!
enter grade: 56↙
56 fail!
enter grade: 100↙
100 GOOD!
enter grade: ^Z↙//鍵入文件結(jié)束符
The end.

在遇到文件結(jié)束符時,程序結(jié)束。如果某次輸入的數(shù)據(jù)為

  enter grade: 100/2↙


流提取符">>"提取100,賦給grade,進行if語句的處理。然后再遇到"/",認為是無效字符,cin返回0。循環(huán)結(jié)束,輸出"The end."。

在不同的C++系統(tǒng)下運行此程序,在最后的處理上有些不同。以上是在GCC環(huán)境下運行程序的結(jié)果,如果在VC++環(huán)境(筆者使用win7系統(tǒng))下運行此程序,在鍵入Ctrl + Z 時,需要敲擊兩次回車,程序才輸出"The end."。

相關(guān)文章

  • C++ 類的繼承與派生實例詳解

    C++ 類的繼承與派生實例詳解

    這篇文章主要介紹了 C++ 類的繼承與派生實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C語言實現(xiàn)進制轉(zhuǎn)換函數(shù)的實例詳解

    C語言實現(xiàn)進制轉(zhuǎn)換函數(shù)的實例詳解

    這篇文章主要介紹了C語言實現(xiàn)進制轉(zhuǎn)換函數(shù)的實例詳解的相關(guān)資料,這里提供實現(xiàn)實例幫助大家實現(xiàn)改功能,需要的朋友可以參考下
    2017-08-08
  • C++ OpenCV讀寫XML或YAML文件的方法詳解

    C++ OpenCV讀寫XML或YAML文件的方法詳解

    XML是一種元標(biāo)記語言。所謂元標(biāo)記,就是開發(fā)者可以根據(jù)自身需要定義自己的標(biāo)記。YAML是一個可讀性高,用來表達資料序列的格式。本文將通過C++和OpenCV實現(xiàn)這兩種文件的讀寫,需要的可以參考一下
    2022-05-05
  • QT5交叉編譯入門級教程(arm64、mips64)

    QT5交叉編譯入門級教程(arm64、mips64)

    交叉編譯就是在當(dāng)前系統(tǒng)平臺上,開發(fā)編譯運行于其它平臺的程序,比如本文硬件環(huán)境是x86平臺,但是編譯出來的程序是在arm64架構(gòu)、mips64等架構(gòu)上運行,本文給大家分享QT5交叉編譯入門級教程(arm64、mips64),感興趣的朋友一起看看吧
    2023-11-11
  • C語言數(shù)組超詳細講解上

    C語言數(shù)組超詳細講解上

    數(shù)組是一組有序的數(shù)據(jù)的集合,數(shù)組中元素類型相同,由數(shù)組名和下標(biāo)唯一地確定,數(shù)組中數(shù)據(jù)不僅數(shù)據(jù)類型相同,而且在計算機內(nèi)存里連續(xù)存放,地址編號最低的存儲單元存放數(shù)組的起始元素,地址編號最高的存儲單元存放數(shù)組的最后一個元素
    2022-04-04
  • GCC編譯過程(預(yù)處理,編譯,匯編,鏈接)及GCC命令詳解

    GCC編譯過程(預(yù)處理,編譯,匯編,鏈接)及GCC命令詳解

    文章詳細介紹了GCC編譯器的工作原理,包括預(yù)處理、編譯、匯編和鏈接四個主要階段,每個階段都有其特定的任務(wù)和輸出文件,文章還解釋了如何使用GCC命令選項來查看每個階段的輸出,以及如何通過調(diào)整編譯選項來優(yōu)化程序性能或調(diào)試問題,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • 解析VC中創(chuàng)建DLL,導(dǎo)出全局變量,函數(shù)和類的深入分析

    解析VC中創(chuàng)建DLL,導(dǎo)出全局變量,函數(shù)和類的深入分析

    本篇文章是對VC中創(chuàng)建DLL,導(dǎo)出全局變量,函數(shù)和類進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C++小知識:不要節(jié)約代碼行數(shù)

    C++小知識:不要節(jié)約代碼行數(shù)

    今天小編就為大家分享一篇關(guān)于C++小知識:不要節(jié)約代碼行數(shù),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Python HTTP服務(wù)搭建顯示本地文件

    Python HTTP服務(wù)搭建顯示本地文件

    這篇文章主要介紹了Python HTTP服務(wù)搭建顯示本地文件的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • C++判斷主機是否處于聯(lián)網(wǎng)狀態(tài)

    C++判斷主機是否處于聯(lián)網(wǎng)狀態(tài)

    這篇文章主要為大家詳細介紹了C++判斷主機是否處于聯(lián)網(wǎng)狀態(tài),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06

最新評論

祥云县| 长白| 平塘县| 龙游县| 河源市| 永年县| 新安县| 伊宁县| 辽源市| 新乡县| 定西市| 荥阳市| 文山县| 葵青区| 宣恩县| 怀化市| 封丘县| 花垣县| 庆云县| 峡江县| 满城县| 亚东县| 高阳县| 通州区| 平定县| 乐山市| 宁都县| 东台市| 新绛县| 五常市| 平凉市| 新宁县| 安泽县| 资溪县| 高邑县| 乳山市| 张北县| 木里| 临城县| 安丘市| 永川市|