c++系列之一:c++簡介
c++ 是一種靜態型別的、編譯式的、支援過程化程式設計、物件導向程式設計和泛型程式設計的一種中級語言,任何合法的 c 程式都是合法的 c++ 程式。
注意:使用靜態型別的程式語言是在編譯時執行型別檢查,而不是在執行時執行型別檢查。
c++ 完全支援物件導向的程式設計,包括物件導向開發的四大特性:封裝、繼承、多型、抽象。
提供了所有構件塊,包括變數、資料型別和常量,等等
提供了大量的函式,用於操作檔案、字串等
提供了大量的方法,用於運算元據結構等
物件具有狀態和行為。例如:乙隻狗的狀態 - 顏色、名稱、品種,行為 - 搖動、叫喚、吃。物件是類的例項。
類可以定義為描述物件行為/狀態的模板/藍圖
乙個方法表示一種行為。乙個類可以包含多個方法。可以在方法中寫入邏輯、運算元據以及執行所有的動作。
型別 關鍵字
布林型 bool
字元型 char
整型 int
浮點型 float
雙浮點型 double
無型別 void
寬字元型 wchar_t
一些基本型別可以使用乙個或多個型別修飾符進行修飾:
signed
unsigned
short
long
型別 位 範圍
char 1 個位元組 -128 到 127 或者 0 到 255
unsigned char 1 個位元組 0 到 255
signed char 1 個位元組 -128 到 127
int 4 個位元組 -2147483648 到 2147483647
unsigned int 4 個位元組 0 到 4294967295
signed int 4 個位元組 -2147483648 到 2147483647
short int 2 個位元組 -32768 到 32767
unsigned short int 2 個位元組 0 到 65,535
signed short int 2 個位元組 -32768 到 32767
long int 8 個位元組 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
signed long int 8 個位元組 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
unsigned long int 8 個位元組 0 到 18,446,744,073,709,551,615
float 4 個位元組 精度型佔4個位元組(32位)記憶體空間,+/- 3.4e +/- 38 (~7 個數字)
double 8 個位元組 雙精度型佔8 個位元組(64位)記憶體空間,+/- 1.7e +/- 308 (~15 個數字)
long double 16 個位元組 長雙精度型 16 個位元組(128位)記憶體空間,可提供18-19位有效數字。
wchar_t 2 或 4 個位元組 1 個寬字元
例項#include
#include
using namespace std;
int main()
本例項使用了 endl,這將在每一行後插入乙個換行符,<< 運算子用於向螢幕傳多個值,sizeof() 函式用來獲取各種資料型別的大小。
當上面的**被編譯和執行時,它會產生以下的結果,結果會根據所使用的計算機而有所不同:
type:size
**bool: 所佔位元組數:1 最大值:1 最小值:0
char: 所佔位元組數:1 最大值: 最小值:?
signed char: 所佔位元組數:1 最大值: 最小值:?
unsigned char: 所佔位元組數:1 最大值:? 最小值:
wchar_t: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
short: 所佔位元組數:2 最大值:32767 最小值:-32768
int: 所佔位元組數:4 最大值:2147483647 最小值:-2147483648
unsigned: 所佔位元組數:4 最大值:4294967295 最小值:0
long: 所佔位元組數:8 最大值:9223372036854775807 最小值:-9223372036854775808
unsigned long: 所佔位元組數:8 最大值:18446744073709551615 最小值:0
double: 所佔位元組數:8 最大值:1.79769e+308 最小值:2.22507e-308
long double: 所佔位元組數:16 最大值:1.18973e+4932 最小值:3.3621e-4932
float: 所佔位元組數:4 最大值:3.40282e+38 最小值:1.17549e-38
size_t: 所佔位元組數:8 最大值:18446744073709551615 最小值:0
string: 所佔位元組數:24
type:size
**列舉型別(enumeration)是c++中的一種派生資料型別,它是由使用者定義的若干列舉常量的集合。
如果乙個變數只有幾種可能的值,可以定義為列舉(enumeration)型別。所謂"列舉"是指將變數的值一一枚舉出來,變數的值只能在列舉出來的值的範圍內。
建立列舉,需要使用關鍵字 enum。列舉型別的一般形式為:
enum 列舉名 列舉變數;
如果列舉沒有初始化, 即省掉"=整型常數"時, 則從第乙個識別符號開始。
作用域是程式的乙個區域,一般來說有三個地方可以定義變數:
在函式或乙個**塊內部宣告的變數,稱為區域性變數。
在函式引數的定義中宣告的變數,稱為形式引數。
在所有函式外部宣告的變數,稱為全域性變數。
常量是固定值,在程式執行期間不會改變。這些固定的值,又叫做字面量。
常量可以是任何的基本資料型別,可分為整型數字、浮點數字、字元、字串和布林值。
1.定義常量
在 c++ 中,有兩種簡單的定義常量的方式:
使用 #define 預處理器。
使用 const 關鍵字。
定義方式:
#define 預處理器 :#define identifier value
const 關鍵字 :const type variable = value;
修飾符 signed、unsigned、long 和 short 可應用於整型,signed 和 unsigned 可應用於字元型,long 可應用於雙精度型。
修飾符 signed 和 unsigned 也可以作為 long 或 short 修飾符的字首。例如:unsigned long int。
為了理解 c++ 解釋有符號整數和無符號整數修飾符之間的差別,我們來執行一下下面這個短程式:
例項#include
using namespace std;
-15536 50000
上述結果中,無符號短整數 50,000 的位模式被解釋為有符號短整數 -15,536。
1.auto 儲存類:自 c++ 11 以來,auto 關鍵字用於兩種情況:宣告變數時根據初始化表示式自動推斷該變數的型別、宣告函式時函式返回值的佔位符。
2.extern 儲存類:extern 儲存類用於提供乙個全域性變數的引用,全域性變數對所有的程式檔案都是可見的。當您使用 『extern』 時,對於無法初始化的變數,會把變數名指向乙個之前定義過的儲存位置。
學習 c++,關鍵是要理解概念,而不應過於深究語言的技術細節
《叩開C 之門》系列之一
一 解決方案 專案 程式集 命名空間 初學者很容易把這些概念搞混淆。先說說專案 project 通俗的說,乙個專案可以就是你開發的乙個軟體。在.net下,乙個專案可以表現為多種型別,如控制台應用程式,windows應用程式,類庫 class library web應用程式,web service,w...
C 不容易系列之一
c 不容易系列之一 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 1465 description 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!...
LaTeX入門系列之一 LaTeX簡介
tex是誕生於20世紀70年代末到80年代初的一款計算機排版軟體,用來排版高質量的書籍 特別是包含有數學公式的文章書籍。tex 最早是由高德納 donald knuth 教授建立的一門標記式巨集語言,用來排版科技文章,尤其擅長處理複雜的數學公式。tex 同時也是處理這一語言的排版軟體。latex 是...