常量:程式執行時其值不能改變的量(即常數)
變數:程式執行時其值可以改變的量稱為變數。
常量與變數都具有型別。
計算機處理的物件是資料,而資料是以某種特定
的形式存在的(例如整數、浮點數、字元等形
式)
定義:程式執行時其值不能改變的量(即常數)
分類:
符號常量:用識別符號代表常量
定義格式: #define 符號常量 常量
一般用大寫字母
直接常量:
整型常量
實型常量
字元常量
字串常量
整型常量(整常數)
三種形式:
十進位制整數:
由數字0~9和正負號表示. 如 123,-456,0
八進位制整數:
由數字0開頭,後跟數字0~7表示. 如0123,011
十六進製制整數:
由0x開頭,後跟09,af,a~f表示. 如0x123,0xff
整型常量的型別
根據其值所在範圍確定其資料型別
在整常量後加字母l或l,認為它是long int 型常量
表示形式:
十進位制數形式:
由整數部分和小數部分組成,必須有小數點) 如0.123, .123, 123.0, 0.0, 123.
( 可以省略其中之一,如78.或.06,.0,但不能二者皆省略。)
指數形式:
其一般形式為 尾數 e或e 指數
用e或e代替指數10
e或e之前後必須有數字;
指數必須為整數
如12.3e3 ,123e2, 1.23e4 , e-5(×) , 1.2e-3.5 (×)
實型常量的型別
預設double型
在實型常量後加字母f或f,認為它是float 型
在實型常量後加字母l或l,認為它是long double 型
例如:1.23e10 0.23e-4
45.e+23 -23.68e12
1.23e10f 0.23e-4f
45.e+23l -23.68e12l
字元常量
定義:用單引號括起來的單個普通字元或轉義字
符. 普通字元: 『a』 『a』 『? 』 『\n』 『\101』
轉義字元:反斜線後面跟乙個字元或乙個**值表示
字元常量的值:該字元的ascii碼值
『a』—65, 『a』—97,『0』—48 , 『\n』—10
字元在儲存時將其相應的ascii**放到儲存單元中。
如果字元變數c1的值為』a』,c2的值為』b』,則在變數中
存放的是』a』的ascii碼97,『b』 的ascii碼98,詳見附
錄a。字元資料是以ascii碼儲存的,它的儲存形式就與整數
的儲存形式類似。因此字元資料和整形資料之間可以在
一定程度上相互轉換。
字串常量
定義:用雙引號("")括起來的字串行
儲存:每個字串尾自動加乙個 『\0』 作為
字串結束標誌
例 字串"hello"在記憶體中: h e l l o \0
例 空串 「」
字元常量與字串常量不同
注意:
如果乙個字串實在很長,一行寫
不下,可以在行尾插入乙個斜槓符
號,以示意編譯器下行繼續:
cout
****\n *****\n ***\n *\n";
在程式執行期間其值可以改變的量稱為變數。
乙個變數在記憶體中佔據一定的儲存單元,在該儲存單元中存放變數的值。
注意區分變數名和變數值這兩個不同的概念。
注意
對多個變數在定義時賦予同一初值,必須分別
指定,不能寫成
float a=b=c=4.5; //錯誤
而應寫成
float a=4.5,b=4.5,c=4.5;
或float a,b,c;
a=b=c=4.5;
在定義變數時,如果加上關鍵字const,則變數的值在程式執行期間不能改變,這種變數稱為常變數(constant
variable)。
const int a=3;
在定義常變數時必須同時對它初始化,此後它的值不能再改變。
const int a; a=3; //錯誤
可以用表示式對常變數初始化,如
const int b=3+6, c=3*cos(1.5);
注意:由於使用了系統標準數學函式cos,必須將包含該函式有
關的資訊的標頭檔案「cmath」(或math.h)包含到本程式單位中來。
常變數又稱為唯讀變數(read-only-variable)。
自增(++)和自減(–)運算子的作用是使變數的值增1或
減1, 前置 ++i, --i (先執行i+1或i-1,再使用i值)
後置 i++, i-- (先使用i值,再執行i+1或i-1)
++i與i++的***區別***在於:
如果++i與i++又作為分量參加其他運算的話,
++i是先令i加1然後參加其他運算;
i++是先令i參加其他運算,而後再令i加1。
例:
x=i++; //結果等價於
x=++i; //結果等價於
++ --結合方向: 自右向左
例 -i++ -(i++)
int、float、double型資料可以混合運算
char、int型資料可以通用
在表示式中不同型別的資料會自動地轉換型別進行運算。
還可以利用強制型別轉換運算子將乙個表示式轉換成所
需型別。
強制型別轉換的一般形式為
(型別名)(表示式)
例如:
(double)a (將a轉換成double型別)
(int)(x+y) (將x+y的值轉換成整型)
(float)(5%3) (將5%3的值轉換成float型)
注意
如果要進行強制型別轉換的物件是乙個變數,該變數
可以不用括號括起來。
如果要進行強制型別轉換的物件是乙個包含多項的表
達式,則表示式應該用括號括起來。
例如x=3.6;y=4.2
(int)x+y 與(int)(x+y)的區別
在強制型別轉換時,得到乙個所需型別的中間變數,
但原來變數的型別未發生變化。
#include
using namespace std;
int main( )
{ float x;
int i;
x=3.6;
i=(int)x;
cout<
float f;
int i;
i=10;
f=i; // f=10.0
i=2.56; //結果i=2;
第一章 資料型別
c 資料型別分為兩類 值型別,引用型別。值型別直接儲存其值,引用型別儲存對值的引用,值型別存在堆疊 即棧 上,引用型別儲存在託管堆 即堆 上,值型別轉為引用型別叫做裝箱,引用型別轉為值型別叫拆箱。集體參考 http www.cnblogs.com john connor archive 2012 0...
第一章 基本資料與表示式
程式設計的實質是資料表示和資料處理。資料儲存在計算機記憶體中,即資料表示,其核心是資料結構 而處理資料,設計 演算法 方案,即資料處理,核心是演算法 1.1概述 c 是c語言的繼承,它既可以進行c語言的過程化程式設計,又可以進行以抽象資料型別為特點的基於物件的程式設計,還可以進行以繼承和多型為特點的...
第一章 正規表示式
正規表示式是高階的文字模式匹配 抽取 或文字形式的搜尋和替換功能提供了基礎。正規表示式 簡稱regex 是由一些字元或特殊符號組成的字串,他們描述了模式的重複或表述多個字元,於是正規表示式能夠按照某一模式匹配一系列有相似特徵的字串。python使用re模組來支援正規表示式。符號描述 匹配0次或者多次...