程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++語言基礎(筆記全文)

C++語言基礎(筆記全文)

編輯:C++入門知識

C++語言基礎 一、C++文件的構成 1、頭文件 在創建MFC應用時,類向導會為每個頭文件添加宏定義,例如:     #if !defined(AFX_ODBCVIEW_H__B82AC4A2_3DBE_4A29_A549_F9939BE498E3__INCLUDED_)     #define AFX_ODBCVIEW_H__B82AC4A2_3DBE_4A29_A549_F9939BE498E3__INCLUDED_     宏定義的目的是防止頭文件被重復引用,當編譯器編譯頭文件時,判斷當前宏是否被定義,若沒定義則進行定義,並編譯頭文件,否則略過當前頭文件 a、引用頭文件 使用<>格式引用系統的頭文件,例如#include <iostream.h> 使用""格式引用自定義頭文件,例如#include "student.h" b、頭文件中只提供聲明信息 C++中允許使用內聯函數,將函數的聲明和實現放在一起,但是,這樣做不容易形成一套風格,建議在頭文件中只提供聲明信息,在源文件中提供實現信息,使程序的邏輯結構更加清晰 2、源文件 以.cpp為擴展名,源文件中通常包含3部分內容,即源文件版權,版本的聲明,對頭文件的引用,以及系統功能的實現代碼 二、C++的基本要素 1、標識符 在C++語言中,變量、常量、函數、標簽和用戶定義的各種對象,被稱之為標識符 標識符由一個或多個字符組成,標識符可以是字母、數字或下劃線,但是標識符的首字母必須是字母或下劃線,而不能是數字 標識符是區分大小寫的,且不能與C++中的關鍵字同名 標識符的長度是任意的,但前1024個字符是有意義的 a、不同類型的對象使用類型作為標識符的前綴     例如:我們定義了一個整型變量,為了表示變量的類型,使用小寫字符n做為前綴     int nAge;//年齡     int nKindCout;//種類數量 b、成員變量使用m_作為前綴     在定義類的成員變量時,成員變量以m_作為前綴,例如:     m_nAge;     m_nSize; c、類名以C作為前綴     例如:class CStudent;     class CPerson; d、全局對象以g_作為前綴     例如:g_Connection;     g_Recordset; e、接口以I為前綴     例如:IUnknown;     IInterface; 2、關鍵字     關鍵字是C++編譯器內置的有特殊意義的標識符,用戶不能定義與關鍵字相同的標識符,在VC中,關鍵字默認都是以藍色顯示的 3、常量     常量,顧名思義,其值在運行時是不能改變的,但是在定義常量時可以設置初始值,在C++中可以使用const來定義一個常量,例如:const int nMaxValue=1100; 對於常量,編譯器會將其放置了一個只讀的內存區域,其值不能被修改,但是可以應用在各種表達式中,如果用戶試圖修改常量,編譯器將提示錯誤 4、變量     其值可以改變的量叫變量,變量提供了一個具有名稱(變量名)的存儲區域,使得開發人員可以聽過名稱來對存儲區域進行讀寫。每一個變量,都具有兩個屬性,也就通常所說的左值和右值,所謂左值,是指變量的地址值,即存儲變量值的內存地址,右值是指變量的數據值,即內存地址中存儲的數據。 例如:int a,b,c;     變量初始化,即為其設置初始值     例如:int a=10; 5、變量的存儲類型 a、extern存儲類型     在此之前,先搞明白,變量的聲明和定義     變量的聲明:是告知編譯器變量的名稱和數據類型     變量的定義:將為變量分配存儲區域     使用extern關鍵字定義的變量:表示該變量只聲明而不定義。         例如:extern int var;     好處:在一個應用程序包含多個文件時,如果在一個文件中定義一個全局變量,若其他文件中要訪問該全局變量,則在另一個文件中通過使用關鍵字extern聲明該全局變量,那麼在該文件中就可以訪問該全局變量了。     例如:一個文件中定義一個整型的全局變量var; int var=0;     而在另一個文件中通過extern關鍵字聲明全局變量var,在該文件中就可以訪問全局變量var了。extern int var; b、static存儲類型     在此之前,先明白,局部變量和全局變量     局部變量:是指在函數內定義的變量,在函數調用結束後,局部變量將消失     全局變量:是指在函數體外定義的變量,它的聲明周期隨著程序的結束而結束     static存儲類型主要是針對局部變量的,如果定義一個靜態的局部變量,它的聲明周期在函數調用結束後依然存在,下次調用函數時,會依然保存上一次函數調用之後的值,並且,對於靜態變量只執行一次初始化     static存儲類型表示變量在函數或文件內是“持久性”變量,通常也被稱為靜態變量。     全局靜態變量:使用static在函數外部定義的變量,它的作用域僅限於當前定義的文件,不能夠被其他文件使用extern關鍵字訪問,可以認為靜態全局變量為半個全局變量(不能夠被其他文件共享)     局部靜態變量:使用static在函數內部定義的變量,當函數調用結束時,變量並不被釋放,依然保留其值,當下一次調用函數時,將應用之前的變量值,它的作用域時當前函數,它不能被外部函數或文件訪問。 c、register存儲類型 www.2cto.com     使用register關鍵字定義的變量,表示變量將被放置在CPU的寄存器中。訪問的時候比普通的變量快,register變量只能用於局部變量或作為函數的形式參數、而不能夠定義全局的register,例如:     register int slocal=10;     對於寄存器變量,程序中不能獲得變量的地址,也不能夠稱為全局變量和靜態變量。但可以作為函數的形式參數 d、auto存儲類型     變量的存儲方式主要有兩種,靜態存儲和動態存儲。     全局變量、靜態變量均屬於靜態存儲,而普通的局部變量屬於動態存儲     auto關鍵字表示變量被動態存儲,默認情況下的局部變量均屬於auto變量(也稱為自動變量),定義一個全局的auto變量是非法的,因為全局變量屬於靜態存儲,與auto變量相互沖突 注意:在定義變量時,不能同時使用register、extern、static和auto4個關鍵字中的任意兩個關鍵字。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved