C 系列之一 C 簡介

2021-10-21 20:36:25 字數 3705 閱讀 3365

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 是...