簡單I O 與資料表示

2021-07-26 06:06:05 字數 3025 閱讀 9114

順便複習下資料型別吧

c中的基本資料型別有

* short,int ,long 系列

* unsigned 系列

* float, double, long double 系列

* char

在c++981標準中,上面的型別也一樣存在

當然,又加入了兩種新的資料型別

* wchar_t(寬字元型別)

* bool(布林型別)

c++11標準新加入了

* long long,unsigned long long

* char16_t

* char32_t

1. 幾種新型別

wchar_t 寬字元型別

由於一般char只可以儲存乙個位元組的字元

而現實中,漢字,韓文……都佔據著兩個位元組

所以就有了這種型別

使用它的話,會扯到很多新函式……

就不寫了

bool布林型別

乙個只占用乙個位元組的變數

它只有兩個值

true

false

因此,在以後我們寫函式的時候,就可以

bool function (...)

寫到這才發現自己還有好多不會1. cin效率低

在c中,我們常常用在stdio.h中的

scanf ,getchar ,gets, fgets輸入

在c++中,我們的cin,同樣能做到

而且能做的更好(不過,效率低……)

2. 只用cin

以前說過

用cin讀取字元

將會乙個不落的全部讀下

連空白字元也不放置

而用cin讀取其他的資料型別

則會自動跳過空白字元

3. cin的get成員函式

先放例子

cin.get();// # 1.

char c = cin.get(); //# 2

char d; // # 3

cin.get(d);

4. cin的getline成員函式

函式作用:

從標準輸入裝置鍵盤讀取一串字串,

並以指定的結束符結束。

使用方法

char s[40];

cin.getline(s,40); # 1

這裡放乙個**,cin更詳細的用法上面還有

5. 輸出型別的選擇

以前說過

cout和cin都能夠自動處理不同型別的資料

那麼問題就來了

下面有乙個**片段

int b = 2;

int *p1 = &b;

char *p2 = "acacac";

cout

<< p1 ;

cout

<< endl ;

cout

<< p2 ;

p1 和 p2 都是指標

這下會輸出什麼東東呢?

這裡,我們有兩種方法可以顯式地確定輸出型別

* 常量字尾

* long 字尾為l

* unsigned 字尾為ul,或lu

* float 字尾f

* 大小寫無關

* 強制型別轉換

char * p = "acacac";

cout

<< 100l;//輸出long型別的100;

cout

<< p;//輸出字串

cout

<< (int *)p;//輸出字串的位址

//輸出

100acacac

0x488000

6. 輸出進製的選擇

我們其實可以

肆意輸出各種進製的數

cout

<< oct;// 八進位制

cout

<< dec;// 十進位制

cout

<< hex;// 十六進製制

使用方法是這樣的:

在準備輸出16進製制的數前

先放一句:cout << hex;

這句話不會輸出任何東西

但是會使後面的所有整數都輸出為十六進製制

而且效果是持續的,直到你換用其他進製

...//一些語句

cout << hex;

cout << 28

<< " ";

cout << 5454

<< endl;

cout << dec;

cout << 28

<< " ";

cout << 5454

<< endl;

// 輸出

1c 154e

285454

7. 簡單格式化輸出

看資料看著看著

發現還是printf方便一些

這裡就不多講了

8.一點小感想

自以為c++預習的還不錯了

寫起推送才發現自己還有好多不會

希望大家不要學我

但還是要繼續學吧。

c++98:c++一種比較舊的版本,現在比較新的是c++11,

如果在g++編譯器裡用c++11 需要加一條指令

-std=c++11

資料表示 運算與校驗

進製計數制 數制的基與權 在任一數制中,每乙個數字上允許使用的記數符號的個數被稱為該數制的基數。每一位都對應1個表示該位在數碼中的位置的值,這個值就稱為數字的權值。數值轉換 二進位制 十進位制 八進位制 十六進製制。十進位制整數轉換為任意進製整數的規則是 除 以 基取餘 先余為低,後余為高 十進位制...

BCD資料表示

2.13 bcd資料表示 雖然整數和浮點格式已經可以滿足一般程式的資料表示需求,但是在一些特殊的情況下,其他的數字表示方式更加方便一些。在本節中,我們將對二進位制編碼的十進位制 bcd 格式進行討論,因為80x86 cpu為這種資料表示方式提供了少量的硬體支援。bcd數值是由一些半位元組組成的序列,...

Struts Hibernate資料表示

在 struts hibernate 這種結構中,是不應該把hibernate產生的po直接傳遞給jsp的,不管他是iterator,還是list,這是乙個設計錯誤。我來談談在j2ee架構中各層的資料表示方法 web層的資料表示是formbean,資料 於html form post 業務層的資料表...