如需轉(zhuǎn)載請標明出處:http://blog.csdn.net/itas109
字符集合是構(gòu)成程序正文的基本元素。
如C++的字符集合由以下字符構(gòu)成:
字母字符:A~Z,a~z
數(shù)字字符:0~9
特殊字符:! # % ^ & * _(下劃線) + = - ~< >/ \ ‘ “ ; . , : ? ( ) [ ] { } |
詞法記號(token)是最小的詞法單元。在C++中詞法記號(token)分為關(guān)鍵字、標識符、文字、操作符(運算符)、分隔符和空白符。
如
int a = 1;
分解為(不包括空白符)
詞法記號(token) | 類別 |
---|---|
int | 關(guān)鍵字 |
a | 標識符 |
= | 賦值操作符 |
1 | 數(shù)字 |
; | 語句結(jié)束分隔符 |
語言預先聲明的記號,如bool if class
等
標識符是開發(fā)者定義的記號,用于命名程序正文中的一些實體,如變量名、函數(shù)名、類名等。C++中標識符由字符、數(shù)字和下劃線組成,必須以字母或下劃線開頭,且不能為關(guān)鍵字。
文字文字是程序中直接使用符號表示的數(shù)據(jù),包括數(shù)字、字符、字符串和布爾文字,如1 'a' "abc" true
等
操作符是用于實現(xiàn)各種運算的符號,如+ - * /
等
分隔符用于分隔各個詞法記號(token)或程序正文,如() {} , : ;
等
程序編譯時在詞法分析階段程序正文會分解為詞法記號(token)和空白。 空白符是空格、制表符(TAB鍵產(chǎn)生的字符)、垂直制表符、換行符、回車符和注釋的總稱。
2. 數(shù)據(jù)類型程序語言的數(shù)據(jù)類型分為基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型?;緮?shù)據(jù)類型是編譯系統(tǒng)內(nèi)置的。
2.1 基本數(shù)據(jù)類型如C++中的基本數(shù)據(jù)類型
bool
char
signed char
unsigned char
short
unsigned short
int
unsigned int
long
unsigned long
float
double
2.2 常量
整型常量整數(shù)常量:二進制(01)、八進制(0-7)、十進制(0-9)、十六進制(0-9a-fA-F)
實型常量實數(shù)有兩種:一般形式和指數(shù)形式。
一般形式:1.2
指數(shù)形式:0.12E-2
單引號括起來的一個字符,如’a’ ‘?’ ‘\n’
字符串常量"abcd"
布爾常量true和false
2.3 變量變量是值可以變量的量。
變量聲明語句:
數(shù)據(jù)類型 變量名1, 變量名2, ..., 變量名n;
如
int a,b,c,d;
char c='a'; // 定義變量并賦初值
2.4 符號常量符號常量是命名的常量。使用符號常量可以提高代碼的可讀性,
常量聲明語句:
const 數(shù)據(jù)類型 變量名 = 常量;
如
const double PI = 3.1415926;
3. 操作符(運算符)和表達式表達式是程序中計算求值的基本單位。
表達式可以理解為計算公式,由操作符(運算符,如+ - * /) 、操作數(shù)(運算量,如常量、變量等)和括號組成。如x+y
、1+2*3
等。
單目運算符(一元運算符):只需要一個操作數(shù)的運算符,如 +(正號) -(負號)
二目運算符(二元運算符):需要兩個操作數(shù)的運算符,如 +(加號) -(減號)
C++中的操作符(運算符)
3.1 算數(shù)運算符和算數(shù)表達式C++中算數(shù)運算符包括基本算數(shù)運算符和自增自減運算符。由算數(shù)運算符、操作數(shù)和括號組成的表達式成為算數(shù)表達式。
基本算數(shù)運算符包括+(正號或加) -(負號或減) *(乘) /(除) %(取余)
自增自減運算符包括++(自增) --(自減)。根據(jù)位置不同可細分為前置自增、后置自增、前置自減和后置自減。
3.2 賦值運算符和賦值表達式賦值運算符:
=
+=
-=
*=
/=
%=<<=
>>=
&=
|=
^=
帶有賦值運算符的表達式成為賦值表達式。
=(等號)為最基本的賦值運算符。
a=1 表達式值為1
a=b=1 表達式值為1,a,b的值為5
a=(b=1)+(c=2) 表達式值為3,a為3,b為1,c為2
3.3 逗號運算符和逗號表達式C++中逗號也是運算符
如
a=1*2,a*3; 等價于 a=1*2; a=a*3; 表達式值為6
3.4 邏輯運算符和邏輯表達式C++的邏輯運算符包括關(guān)系運算符和邏輯運算符。
關(guān)系運算符:<(小于)<=(小于或等于)>(大于) >=(大于或等于)==(等于) !=(不等于)
邏輯運算符:!(非) &&(與) ||(或)
如
a >1 關(guān)系運算符
!a 邏輯運算符
3.5 條件運算符和條件表達式C++中唯一的三元運算符為條件運算符"?"。
如
isOK ? "1" : "0"
3.6 位運算符C++中的位運算符:
& 按位與
| 按位或
^ 按位異或
~ 按位取反<< 左移
>>右移
4. 語句程序執(zhí)行的操作采用語句表達。 常見操作包括聲明變量、賦值、調(diào)用方法、循環(huán)訪問集合,以及根據(jù)給定條件分支到一個或另一個代碼塊。
C++的語句包括
4.1 聲明語句 Declaration Statement聲明語句引入新的變量或常量。 變量聲明可以選擇為變量賦值。 在常量聲明中必須賦值。
// 變量聲明語句 Variable declaration statements
double radius = 2;
// 常量聲明語句 Constant declaration statement
const double PI = 3.1415926;
4.2 表達式語句 Expression Statement用于計算值的表達式語句必須在變量中存儲該值。
// 表達式語句賦值 Expression statement (assignment)
area = 3.14 * (radius * radius);
// 表達式語句(函數(shù)調(diào)用) Expression statement (method invocation).
printf("");
// 表達式語句(new對象) Expression statement (new object creation).
CTest* pTest = new CTest();
4.3 選擇語句 Selection Statement選擇語句用于根據(jù)一個或多個指定條件分支到不同的代碼段。關(guān)鍵字 if switch
bool isOK = true;
if(isOK)
printf("isOK: %d\n", isOK);
else
printf("isOK: %d\n", isOK);
int mode=1;
switch (mode)
{
case 1:
printf("mode: %d\n", mode);
break;
default:
printf("mode: %d\n", mode);
break;
}
}
4.4 迭代語句 Iteration Statement迭代語句用于遍歷集合(如數(shù)組),或重復執(zhí)行同一組語句直到滿足指定的條件。 關(guān)鍵字 do while for
for (int i = 0; i< 3; i++)
{
printf("i: %d\n", i);
}
int n = 0;
do
{
printf("n: %d\n", n);
n++;
} while (n< 5);
int n = 0;
while (n< 5)
{
printf("n: %d\n", n);
n++;
}
4.5 跳轉(zhuǎn)語句 Jump Statement跳轉(zhuǎn)語句將控制轉(zhuǎn)移給另一代碼段。 關(guān)鍵字 break continue goto return
for (int i = 0; i< 3; i++)
{
if(i == 0)
continue;
if(i == 1)
return;
if(i == 1)
goto EXIT;
if(i == 3)
break;
}
EXIT:
return;
4.6 帶標簽的語句 Labeled Statement可以為語句指定一個標簽,然后使用 goto關(guān)鍵字跳轉(zhuǎn)到該帶標簽的語句。
goto EXIT;
EXIT:
return;
4.7 異常處理語句 Exception Handling Statement異常處理語句用于從運行時發(fā)生的異常情況正常恢復。關(guān)鍵字 throw try-catch try-finally try-catch-finally
#includedouble test(int x, int y) {
if (y == 0) {
throw "divide by zero";
}
return (x / y);
}
int main()
{
try {
test(1, 0);
}
catch (const char* e) {
printf("error: %s\n", e);
}
}
4.8 復合語句 Compound Statement復合語句:一對大括號內(nèi)含有多個語句。
復合語句有自己的作用域,離開作用域后,其中的變量會被銷毀。
{
int a=1;
printf("a: %d\n", a);
}
4.9 空語句 Empty Statement空語句只含一個分號。 不執(zhí)行任何操作,可以在需要語句但不需要執(zhí)行任何操作的地方使用。
while (true)
; // 空語句
注意:C++中沒有賦值語句和函數(shù)調(diào)用語句,賦值和函數(shù)調(diào)用功能是通過表達式來實現(xiàn)的。
5. 自定義數(shù)據(jù)類型C++中自定義數(shù)據(jù)類型包括枚舉類型(enum)、結(jié)構(gòu)體類型(struct)、聯(lián)合體類型(union)、數(shù)組類型([])、類類型(class)等。
License
License under CC BY-NC-ND 4.0: 署名-非商業(yè)使用-禁止演繹
如需轉(zhuǎn)載請標明出處:http://blog.csdn.net/itas109
Reference:
NULL
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
分享題目:C++語言程序設計-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://jinyejixie.com/article38/dcposp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、ChatGPT、品牌網(wǎng)站設計、網(wǎng)站設計、Google、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容