順便複習下資料型別吧
c中的基本資料型別有
* short,int ,long 系列
* unsigned 系列
* float, double, long double 系列
* char
在c++981標準中,上面的型別也一樣存在
當然,又加入了兩種新的資料型別
* wchar_t(寬字元型別)
* bool(布林型別)
c++11標準新加入了1. 幾種新型別* long long,unsigned long long
* char16_t
* char32_t
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 業務層的資料表...