大學必備C語言基礎知識(三)

2021-10-09 03:32:49 字數 3331 閱讀 4529

六、c/c++輸出

標準檔案

c 語言把所有的裝置都當作檔案。所以裝置(比如顯示器)被處理的方式與檔案相同。以下三個檔案會在程式執行時自動開啟,以便訪問鍵盤和螢幕。

標準檔案 檔案指標 裝置

標準輸入 stdin 鍵盤

標準輸出 stdout 螢幕

標準錯誤 stderr 您的螢幕

1.printf() 和 scanf() 函式

c 語言中的 i/o (輸入/輸出) 通常使用 printf() 和 scanf() 兩個函式。scanf() 函式用於從標準輸入(鍵盤)讀取並格式化, printf() 函式傳送格式化輸出到標準輸出(螢幕)。

scanf_s

(「%d」,

&a);

//輸入

printf

(「%d」,a)

;//輸出

scanf() 期待輸入的格式與給出的 %s 和 %d 相同,這意味著必須提供有效的輸入,比如 「string integer」,如果提供的是 「string string」 或 「integer integer」,它會被認為是錯誤的輸入。另外,在讀取字串時,只要遇到乙個空格,scanf() 就會停止讀取,所以 「this is test」 對 scanf() 來說是三個字串。

\用法:

在c語言中,字串行\n表示換行符,在列印中遇到它時,輸出列印將換行,從下一行的左端行首開始。如果去掉字串中的\n(這是個值得一做的練習),即使輸出列印完成後也不會換行。在printf函式的引數中,只能用\n表示換行符。如果用程式的換行代替,例如:

printf

("hello, word

");

c編譯器將會產生一條錯誤資訊。

printf函式永遠不會自動換行,這樣我們可以多次呼叫該函式以分階段得到乙個長的輸出行。上面給出的第乙個程式也可以改寫成下列形式:

#include

intmain()

這段程式與前面的程式的輸出相同。

%用法:

(1)%d 十進位制有符號整數,%f 浮點數,%s 字串,%c 單個字元,%p 指標的值,%e 指數形式的浮點數,%x無符號以十六進製制表示的整數,%o 無符號以八進位制表示的整數,%p 輸出位址符

(2)可以在「%」和字母之間插進數字表示最大場寬。例如:%3d表示輸出3位整型數,不夠3位右對齊。%9.2f表示輸出場寬為9的浮點數,其中小數字為2,整數字為6,小數點佔一位,不夠9位右對齊。%8s表示輸出8個字元的字串,不夠8個字元右對齊。如果字串的長度、或整型數字數超過說明的場寬,將按其實際長度輸出。但對浮點數,若整數部分位數超過了說明的整數字寬度,將按實際整數字輸出;若小數部分位數超過了說明的小數字寬度,則按說明的寬度以四捨五入輸出。

stdio.h 是乙個標頭檔案 (標準輸入輸出標頭檔案),#include 是乙個預處理命令,用來引入標頭檔案。 當編譯器遇到 printf() 函式時,如果沒有找到 stdio.h 標頭檔案,會發生編譯錯誤。

2.getchar() & putchar() 函式

int getchar(void) 函式從螢幕讀取下乙個可用的字元,並把它返回為乙個整數。這個函式在同乙個時間內只會讀取乙個單一的字元。您可以在迴圈內使用這個方法,以便從螢幕上讀取多個字元。

int putchar(int c) 函式把字元輸出到螢幕上,並返回相同的字元。這個函式在同乙個時間內只會輸出乙個單一的字元。您可以在迴圈內使用這個方法,以便在螢幕上輸出多個字元。

#include

intmain()

輸入乙個文字並按下回車鍵時,程式會繼續並只會讀取乙個單一的字元(第一字元)。

3.gets() & puts() 函式

char *gets(char *s) 函式從 stdin 讀取一行到 s 所指向的緩衝區,直到乙個終止符或 eof。

int puts(const char *s) 函式把字串 s 和乙個尾隨的換行符寫入到 stdout。

#include

intmain()

輸入乙個文字並按下回車鍵時,程式會繼續並讀取一整行直到該行結束。

c++ 的 i/o 發生在流中,流是位元組序列。如果位元組流是從裝置(如鍵盤、磁碟驅動器、網路連線等)流向記憶體,這叫做輸入操作。如果位元組流是從記憶體流向裝置(如顯示屏、印表機、磁碟驅動器、網路連線等),這叫做輸出操作。

i/o 庫標頭檔案(重要標頭檔案)

標頭檔案 函式和描述

該檔案定義了 cin、cout、cerr 和 clog 物件,分別對應於標準輸入流、標準輸出流、非緩衝標準錯誤流和緩衝標準錯誤流。

該檔案通過所謂的引數化的流操縱器(比如 setw 和 setprecision),來宣告對執行標準化 i/o 有用的服務。

該檔案為使用者控制的檔案處理宣告服務。

1.標準輸入流(cin)

預定義的物件 cin 是 iostream 類的乙個例項。cin 物件附屬到標準輸入裝置,通常是鍵盤。cin 是與流提取運算子 >> 結合使用的。

#include

using

namespace std;

intmain()

流提取運算子 >> 在乙個語句中可以多次使用,如果要求輸入多個資料,可以使用如下語句:

cin >> name >> age;
這相當於下面兩個語句:

cin >> name;

cin >> age;

2.標準輸出流(cout)

預定義的物件 cout 是 iostream 類的乙個例項。cout 物件"連線"到標準輸出裝置,通常是顯示屏。cout 是與流插入運算子 << 結合使用的

c++ 編譯器根據要輸出變數的資料型別,選擇合適的流插入運算子來顯示值。<< 運算子被過載來輸出內建型別(整型、浮點型、double 型、字串和指標)的資料項。

流插入運算子 << 在乙個語句中可以多次使用,如上面例項中所示,endl 用於在行末新增乙個換行符。

3.標準錯誤流(cerr)

4.標準日誌流(clog)

使用 cerr 流來顯示錯誤訊息,而其他的日誌訊息則使用 clog 流來輸出。

大學必備C語言基礎知識(一)

c語言基礎知識 簡單實用,適合上手。一 c 語言標頭檔案 1.include iostream 的意思是輸入輸出流。include是標準的c 標頭檔案,任何符合標準的c 開發環境都有這個標頭檔案。2.include fstream是c stl中對檔案操作的合集,包含了常用的所有檔案操作。最常用的兩種...

大學必備C語言基礎知識(四)

七 c c 運算子 運算子不僅具有不同的優先順序,還有不同的結合性。在表示式中,各運算量參與運算的先後順序不僅要遵守運算子優先順序別的規定,還要受運算子結合性的制約,以便確定是自左向右進行運算還是自右向左進行運算。1 運算子分類 運算子 說明 算術運算子 用於各類數值運算。包括加 減 乘 除 求餘 ...

大學必備C語言基礎知識(五)

八 c c 基礎語句 程式的基本控制結構 順序結構 常用的語句有表示式語句和復合語句。選擇結構 if語句 if else語句 switch語句。迴圈結構 while語句 do while語句 for語句。其它 空語句 continue語句 break語句 goto語句 return語句。1 順序結構...