第一章 資料型別與表示式

2021-09-02 20:15:34 字數 3867 閱讀 2638

常量:程式執行時其值不能改變的量(即常數)

變數:程式執行時其值可以改變的量稱為變數。

常量與變數都具有型別。

計算機處理的物件是資料,而資料是以某種特定

的形式存在的(例如整數、浮點數、字元等形

式)

 定義:程式執行時其值不能改變的量(即常數)

 分類:

 符號常量:用識別符號代表常量

 定義格式: #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次或者多次...