C++二章
一.C++能夠處理的基本資料型別
1.整數型別
2.實數型別
3.字符型別
4.布爾型別
二.C++支持的基本運算
1.算術運算
2.邏輯運算
( 程式要能夠輸入輸出資料)
(C++中資料的輸入和輸出可以呼叫預定義的功能模塊實作)
三.程式的執行流程不總是順序的因此程式要能夠
1.對執行流程進行選擇(選擇 開關陳述句)
2.反復用同一演算法依次處理大批量資料(回圈陳述句)
四.基本資料型別能夠表示的資料種類有限
五.C++的特點
1.兼容C 支持面向程序的程式設計
2.支持面向物件的方法
3.支持泛型程式設計方法(大多數情況下面向物件的程式 封裝性 可重用性安全性都更好一些)
//(注釋行)
#include < iostream > 給出相應說明
using namespace std; 命名空間可以避免命名沖突 std(命名空間)
int main() main()主函式 程式的主要模塊 int 規定這個函式的計算結果回傳值應該是一個整數值
{
cout << "Hello!" << endI; endl表示行結束 <<插入運算子
cout << "Welcome to c++!" << endl;
return 0; return 0;回傳這個函式的計算結果
} {}包圍函式體的中間是解決問題的方法和步驟
運行結果:Hello!
Welcome to c++ !
cout定義好的輸出流物件(cout是個物件名專門負責像顯示幕送資料的一個預定義好的物件)
六.C++的字符集(只能由有限的字符構成)
1.大小寫的英文字母A~Z a~z
2.數字字符0~9
3.特殊字符 ! # % ^ & / \ : ? ( ) [ ] { } |
七.C++的構詞法
1.關鍵字
C+ +預定義的單詞
2.識別符號
程式員宣告的單詞,它命名程式正文中的一些物體
3.文字
在程式中直接使用符號表示的資料
4.分隔符
0 { } , : ; 用于分隔各個詞法記號或程式正文。
5.運算子(運算子)
用于實作各種運算的符號
6.空白符
空格、制表符( TAB鍵產生的字符)、垂直制表符、換行符、回車符和注釋的總稱
(凡是可以出現一個空格的地方可以出現多個空格個)
只有識別符號是程式員自己起名字的
八.識別符號的構成規則:
(開頭用下劃線或者是字母)
1'以大寫字母小寫字母或下劃線
( )開始
2.可以由以大寫字母小寫字母
下劃線( )或數字0~ 9組成
3.大寫字母和小寫字母代表不同的
識別符號
4.不能是C++關鍵字或運算子
九.C++能夠處理的基本資料型別
1.整數型別
2.實數型別
3.字符型別
4.布爾型別
十.程式中的資料
1.常量
在源程式中直接寫明的資料
其值在整個程式運行期間不可改變
2.變數
在程式運行程序中允許被改變的資料(往往也需要被改變)
十一.整數型別
1.基本的整數型別:int(在C++標準中并沒規定有幾個位元組 成為基本整形)
2.按符號分(符號的signed 無符號的unsigned)
3.按照資料范圍分
短整數(short)
長整數(long)
長長整數(long long)
ISO C+ +標準并沒有明確規定每種資料型別的位元組數和取值范圍,它只是規定它們之間的位元組數大小順序滿足:
(signed/unsigned)signed char
\< (unsigned) short int
\< (unsigned) int
\< (unsigned) long int
\< long long int
十二.字符型別(char)
1.容納單個字符的編碼
2.實質上儲存的也是整數
十三.浮點數型別
1.單精度
2.雙精度
3.擴展精度
十三.字串型別
1.有字串常量
2.基本型別中沒有字串變數
3.采用字符陣列存盤字串(C風格的字串)
4.標準C++類別庫中的string類(C++風格的字串)
十四.布爾型別
1.只有兩個值:ture(真) false(假)
2.常用來表示關系比較,相等比較或邏輯運算的結果
十五.常量
1.在程式運行的整個程序中其值始終不可改變的量
2.直接使用符號(文字)表示的值。
3.例如: 12,3.5,A都是常量
十六.整數常量
1.十進制
2.八進制
3.十六進制
以文字形式出現的整數
1.十進制
若干個0~9的數字,但數字部分不能以0開頭,正數前邊的正號可以省略。
2.八進制
前導0+若千個0~ 7的數字
3.十六進制
前導0x+若千個0~9的數字及A~F的字母(大小寫均可)(負數加-號)
4.后綴
后綴L (或I )表示型別至少是long
后綴LL (或II )表示型別是long long
后綴U (或u )表示unsigned型別
十七.浮點數常量
1.以文字形式出現的實數
2.一-般形式:
例如, 12.5 , -12.5等
3.指數形式
例如, 0.345E+2 , -34.4E-3
整數部分和小數部分可以省略其一
4.浮點常量默認為double型,如果后綴F (或f )可以使其成為float型
例如: 12.3f
有些字符是特殊字符在螢屏上沒辦法顯示 用轉譯字符
十八.C風格的字串常量
1.一對雙引號括起來的字符序列
2.在記憶體中按串中字符的排列次序順序存放,每個字符占一個位元組
3.在末尾添加'\0’作為結尾標記
例如
十九.通過添加前綴可以改變字符常量或者字串常量的型別
二十.變數
1. 在程式運行的程序中其值可變的量
二十一.在定義變數的同時也可以對它初始化
C++語言中提供了多種初始化方式:
例如:
int a=0
int a(0)
int a= {0}
int a{0}
二十二.串列初始化
1.使用大括號的初始化方式稱為串列初始化,
2.串列初始化時不允許資訊的丟失。
例如:
用double值初始化int變數,就會造成資料丟失
二十三.符號常量
常量定義陳述句的形式為:
1.const資料型別說明符常量名=常量值.
2.或資料型別說明符const 常量名=常量值
例如:定義一個代表圓周率的符號常量. const floatPI= 3.1415926
3.符號常量在定義時一定要初始化在程式中間不能改變其值
主要知識點單
1.常量
在源程式中直接寫明的資料其值在整 個程式運行期間不可改變,這樣的資料稱為常量。
2.變數
在運行程序中從計算機的外部設備(例如鍵盤、硬碟)讀取的,這些資料的值在程式運行程序中允許改變,這樣的資料稱為變數。
3.從鍵盤輸入資料
iostream類的物件cin的> >操作,可以從標準輸入設備(通常是鍵盤)讀入資料。
4.資料的存盤
為了存盤資料,需要預先為這些資料分配記憶體空間。變數的定義就是在給變數命名的時候分配記憶體空間。
主要知識點:符號常量
#include <iostream>
using namespace std;
int main()
{ const double pi(3.14159);說明pi是常量
int radius;
cout< < "Please enter the radius!\n";
cin> > radius;
cout<<"The radius is:" < <radius<<'\n;
cout<<"PI is:"<<pi<<'\n'; ,
cout<< "Please enter a different radius!\n";
cin> > radius;
cout< < "Now the radius is changed to:" < <radius<<'n;
cout<<"PIis stil:"<<pi<<'\n‘;
//cin>>pi;
return 0;
}
//雙察:通辻凋式工具跟蹤雙察符號常量。
//思考:能給常量輸入新值嗎?如定義pi時不初始化會怎祥?
(浮點數在機器里面近似存盤)(比較兩個個浮點數 比較差是否充分小)
二十四.基本算數運算子
1.+-*/(若整數相除,結果取整)
2.%(取余,運算元為整數)
二十五.優先級與結合性
1.先乘除,后加減,同級自左向右
二十六.++,--(自增 自減)
例:i++;--j
賦值運算:將值賦給變數
賦值運算子“=”
賦值運算式
1.用賦值運算子連接的運算式
例:n=5
2.求解程序:
先求賦值運算子右側的“運算式”的值,然后賦給賦值運算子左側的變數。一個運算式應該有一個值
例如,賦值運算式"a =3*5"的值為15 ,執行運算式后變數a的值也是15。
賦值運算子左側的識別符號稱為“左值”(left value ,簡寫為Ialue)。并不是任何物件都可以作為左值的,變數可以作為左值,而運算式a+b就不能作為左值,常變數也不能作為左值,因為常變數不能被賦值。出現在就值運算子右側運算式稱為“右值”。如right value簡寫為rvalue)顯然左值也可以出現在賦值運算子右側,因而左值都可作為右值。
如:int a,b,c;
b=a;//b是左值
c=b;//b也是右值
賦值運算式中的“運算式”,又可以是一個賦值運算式
如a=(b=5)
括號內的“b=5”是一一個賦值運算式,它的值等于5。執行運算式“a=(b=5)"相當于我也等干5.
行“b=5"和"a=b"兩個賦值運算式。因此a的值等于5.整個賦值運算式的值
從附錄B可以知道賦值運算子按照“自右而左”的結合順序,因此,“(b=5)”外面的據電可以不要,即"a=(b=5)"和“a=b=5"等價,都是先求"b=5”的值(得5),然后再極為a,下面是賦值運算式的例子:
a=b=c=5a=5+(c=6)
a=(b=4) +(c=6)a=(b=10)/(c=2)
(賦值運算式的值為5,a,b,c的值均為5)
(運算式的值為l1,a的值為11,c的值為6)
(運算式的值為10,a的值為l0,b等于4,c等于6)
(運算式的值為5,a等于5,b等于10,c等于2)
“a=5 ;整個逗號運算式的值為
逗號運算式的一般運算式1,運算式2它的值為運算式n的值
其實,逗號運算式達式的目的只是想分別式的值,逗號運算式最
C語言和C++語算符功能強,因而使用
C++將賦值運算式作為運算式的種,使賦值操 作不僅可以出現在賦值語 句中,而且可以以運算式形式出現在其他陳述句(如輸出陳述句、回圈陳述句等)中,如,“cout<<(a=b);",如果b的值為3,則輸出a的值(也是運算式a=b的值)為3。在一個陳述句中完成了賦值和輸出雙重功能。這是C++語言靈活性的一-種表現。在以后各章的介紹中將進.步看 到這 種應用及其優越性。
請注意,用cout陳述句輸出一個賦值 運算式的值時,要將該賦值運算式用括號括起來,如果寫成“cout <<a=b;" ,將會出現編譯錯誤。
在第3章介紹“陳述句"之后,就可以了解到賦值運算式和賦值陳述句之間的聯系和區別了。
二十五.逗號運算和逗號運算式
1.格式
運算式1,運算式2
2.求解順序及結果
先求解運算式1 ,再求解運算式2最終結果為運算式2的值。
例:
a= 3*5,a*4 最終結果為60
二十六.關系運算與關系運算式
1.關系運算是比較簡單的一種邏輯運算,優先次序為:,
< <= > >= == !=
優先級相同(高) 優先級相同(低)
2.關系運算式是一種最簡單的邏輯運算式
3.其結果型別為bool ,值只能為true或false
例如:
a>b,c<=a+b,x+y==3
二十七.邏輯運算與邏輯運算式
1.邏輯運算子
優先次序:
!(非)高
&&(與)
||(或)低
2.邏輯運算結果型別: bool ,值只能為true或false
3.邏輯運算式
例如:(a> b) && (x> y)
邏輯運算與邏輯運算式"&&"的運算規則
兩側運算式都為真,結果為真
有一側運算式為假,結果為假
"&&" 的“短路特性" 運算式1 &&運算式2。
先求解運算式1
若運算式1的值為false ,則最終結果為false 不再求解運算式2
若運算式1的結果為true ,則求解運算式2 ,以運算式2的結果作為最終結果
邏輯運算與邏輯運算式"II”的運算規則
兩側運算式都為假,結果為假。
有一側運算式為真,結果為真
"II” 的“短路特性” 運算式1 I運算式2
先求解運算式1
若運算式1的值為true ,則最終結果為true 不再求解運算式2
若運算式1的結果為false ,則求解運算式2 以運算式2的結果作為最終結果
二十八.條件運算子與條件運算式
1.一般形式
運算式1 ?運算式2 :運算式3
運算式1必須是bool型別
2.執行順序
先求解運算式1 ,
若運算式1的值為true ,則求解運算式2 ,運算式2的值為最終結果
若運算式1的值為false ,則求解運算式3 ,運算式3的值為最終結果
二十九.sizeof運算子
1.語法形式
sizeof (型別名)或sizeof運算式
2.結果值:
"型別名”所指定的型別,或"運算式”的結果型別所占的位元組數
例:
sizeof(short)
sizeof X
三十.位運算按位與( & )
1.運算規則
將兩個運算量的每一個位進行邏輯與操作
舉例:計算3&5
3:00000011
5:00000101
3 &5:00000001
三十一.位運算-按位與( &)
1.用途舉例:將某一位置0 ,其他位不變。
例如:將char型變數a的最低位置0:a = a & 0xfe
1111 1110
三十二.位運算_按位與
1,用途舉例:取指定位
例如:有char c; int a;取出a的低位元組,置于c中: c=a & 0xff
1111 1111
三十三.位運算__按位與(&)
1.運算規則
將兩個運算量的每一個位進行邏輯與操作
舉例:計算3&5
3:00000011
5:00000101
3&5:00000001
用途舉例:
將某一位置0 ,其他位不變。 1111 1110
例如:將char型變數a的最低位置0:a = a & 0xfe
取指定位 1111 1111
例如:有char C; int a;取出a的低位元組,置于c中: c=a & 0xff
三十四.位運算一按位或 (|)
1.運算規則
將兩個運算量的每一個位進行邏輯或操作。
舉例:計算3|5
3:00000011
5:00000101
3|5:00000111
用途舉例:
將某些位置1 ,其他位不變
例如:將int型變數a的低位元組置1:
a=a|0xff
三十五. 位運算一按位異或(^)
1.運算規則
兩個運算元進行異或:
若對應位相同,則結果該位為0
若對應位不同,則結果該位為1
舉例:計算071 ^052
071:01111001
052:00101010
071^052: 01010011
用途舉例:
使特定位翻轉(與0異或保持原值,與1異或取反)
例如:要使01111010低四位翻轉:
01111010
(^) 00001111
01110101
三十六.位運算-移位( <<、>> )
1.左移運算( << )
左移后,低位補0 ,高位舍棄
2.右移運算( >> )
右移后:
低位:舍棄
高位:
無符號數:補0
有符號數:補"符號位”
三十七.
實驗二
1.注釋方法:
方法一
延用C語言方法,使用"/*" 和"*/" 括起注釋文字;
方法二
使用"//” ,從"//”開始,直到它所在行的行尾,所有字符都被作為注釋處理。
2.輔助除錯工具:
利用輔助除錯工具,可以實作單步運行、設定斷點、觀察變數和運算式的值等功能





uj5u.com熱心網友回復:
感覺很一般,需要再做的詳細一些,加一些實驗內容uj5u.com熱心網友回復:
這個建議寫到博客里面。uj5u.com熱心網友回復:
你這是要干啥?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/25848.html
標籤:基礎類
上一篇:影像配準找到特征點后,怎么對兩幅影像的重疊部分對齊融合?已經寫好了如下程式,怎么寫下去
下一篇:萌新求教
