?? 教學--第五章 變量和常量.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://d2school.com/bcyl/bhcpp/newls/ls05.htm -->
<HTML><HEAD><TITLE>教學--第五章 變量和常量</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.節標題 {
FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
FONT-SIZE: 9pt
}
.tdtitle {
FONT-SIZE: 20pt
}
.celltopline {
BORDER-TOP: #000000 1px solid
}
.menucell {
FONT-SIZE: 10pt
}
#glowtext {
FONT-SIZE: 10pt; FILTER: glow(color=red,strength=1); WIDTH: 100%
}
A:link {
FONT: 10pt 宋體; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
FONT: 10pt 宋體; COLOR: purple; TEXT-DECORATION: none
}
A:active {
FONT: 10pt 宋體; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3><!-- 標題 --><!--標題結束 --><A name=頁首></A>
<CENTER>
<TABLE height=154 cellSpacing=4 cellPadding=4 width=760 border=0>
<TBODY>
<TR>
<TD
style="FONT-SIZE: 10pt; MARGIN-LEFT: 12px; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; MARGIN-RIGHT: 12px; FONT-FAMILY: 宋體"
width="100%" height=148>
<H2><BR>第五章 變量和常量</H2>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1">5.1
從類型到變量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.1">5.1.1
公孫龍的“白馬非馬”</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.2">5.1.2
定義變量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.3">5.1.3
如何為變量命名</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4">5.1.4
如何初始化變量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.1">5.1.4.1
什么時候需要給變量初始化?</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.2">5.1.4.2
初始化變量的兩個時機</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.3">5.1.4.3
通過計算得到初始值</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.4">5.1.4.4
變量的取值范圍</A></P>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.2">5.2
變量與內存地址</A></P>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3">5.3
常量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1">5.3.1
幾種數據類型常數的表達方法</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.1">5.3.1.1
整型常數的表達</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.2">5.3.1.2
實型常數的表達</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.3">5.3.1.3
字符常量的表達</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.4">5.3.1.4
字符串常量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.2">5.3.2
用宏表示常數</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.3">5.3.3
常量定義</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4">5.3.4
枚舉常量</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4.1">5.3.4.1
為什么需要枚舉類型</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4.2">5.3.4.2
定義枚舉類型的基本語法</A></P>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4.3">5.3.4.3
關于枚舉常量的輸出效果</A></P>
<H3><A name=5.1>5.1</A> 從類型到變量</H3>
<H4><A name=5.1.1>5.1.1</A> 公孫龍的“白馬非馬” </H4>
<P>故事是春秋時的公孫龍先生說的。</P>
<P>城門上告示:“馬匹不得入城”。公孫龍同志騎白馬而來,遭拒入。公孫龍一臉正色:“告示上寫的是‘馬’,而我騎的是‘白馬’,難道 ‘馬’等于
‘白馬’嗎?”</P>
<P>守門士兵覺得白馬還真不是馬,于是放行。</P>
<P>依公孫龍先生的理論認為:如果白馬是馬,黑馬也是馬,那么豈不白馬等于黑馬,所以,不能說白馬是馬。“白馬非馬”是中國哲學史上的一樁公案。不過,若是我們從程序的角度上說,可以認為:馬在這里表示一種類型,而白馬,黑馬它們的類型都是馬。</P>
<P>白馬,黑馬具有相同的“數據類型”,但它們都<B>相對獨立的個體</B>。從這點說,別說有白黑之分,就算同樣是白馬,這一匹和哪一匹白馬,也是相對獨立的個體。</P>
<P>在程序中,“類型”和“變量”的關系正是“馬”和“白馬”的關系。</P>
<P>如果C或C++有這種數據類型: Horse,那么,定義一匹“白馬”的變量應該這樣:</P>
<P>Horse AWhiteHorse;</P>
<P>以后我們說不定真的有機會自已定義Horse,不過現在,我們在上一章的學的數據類型是:</P>
<P>char,int,bool 等等。</P>
<P>假設我們需發使用一個有關年齡的變量,在C或C++中是這樣定義的:</P>
<P>int age;</P>
<P> </P>
<P>現在讓我們來事先建立一個空的工程,隨著本章課程的進展,我們需要不斷地在工程中加入零星的代碼,及時實踐。</P>
<P> </P>
<P>仍然是一個空的控件臺程序。方法是……以前我們講過,忘了就看前面章節吧。</P>
<P>代碼文件Unit1.cpp中,手工加入以下的黑體部分:</P>
<P>//---------------------------------------------------------------------------</P>
<P><B>#include <iostream.h></B></P>
<P>#pragma hdrstop</P>
<P>//---------------------------------------------------------------------------</P>
<P>#pragma argsused</P>
<P>int main(int argc, char* argv[])]</P>
<P>{</P>
<P><B> getchar();</B></P>
<P> return 0;</P>
<P>}</P>
<P>//---------------------------------------------------------------------------</P>
<H4><A name=5.1.2>5.1.2</A> 定義變量</H4>
<P>語法:</P>
<P> </P>
<P>數據類型 變量名;</P>
<P> </P>
<P>“張三”既可以指張三這個人,也可以是張三的名字。同樣,上面的“變量名”,其實也就是變量本身。</P>
<P> </P>
<P>舉上一節的例子:</P>
<P> </P>
<P>int age;</P>
<P> </P>
<P>其中,int 是數據類型(整型),而 age 是變量名,更多的時候,我們就說是變量
age。最后是一人分號。它表示定義一變量在C或C++里一句完整的語句。因為C++的語言總是以分號結束。</P>
<P> </P>
<P>如果要聲明一個字符類型變量:</P>
<P> </P>
<P>char letter;</P>
<P> </P>
<P>聲明一個bool類型的變量:</P>
<P>bool do_u_love_me;</P>
<P> </P>
<P>其它類型,除了<B>void不能直接定義一個變量</B>以外,格式都是一樣的。</P>
<P> </P>
<P>void avoid; //錯!void 類型無法直接定義一個變量。</P>
<P> </P>
<P>有時同一時候同一數據類型需要多個變量,此時可以分別定義,也可以一起定義:</P>
<P>int a;</P>
<P>int b;</P>
<P>int c;</P>
<P>下面采用一起定義,會更省事:</P>
<P> </P>
<P>int a,b,c;</P>
<P><B>一起定義多個同類型變量的方法是:在不同變量之間以逗號(,)分隔,最后仍以分號(;)結束。</B></P>
<P> </P>
<P>讓我們來試試變量定義,另外,我們還要趁此機會,看看一個變量在僅僅進行定義之后,它的值會是什么。</P>
<P>繼續上一小節的代碼。仍然是加入黑體部分,當然 // 及其后面的內容是注釋,你可以不輸入。</P>
<P>......</P>
<P>int main(int argc, char* argv[])]</P>
<P>{</P>
<P><B> /////////////////定義變量//////////////////////////////////////////////////</B></P>
<P><B> //以下定義三個變量:a,b,c</B></P>
<P><B> int a; </B></P>
<P><B> double b,c; </B></P>
<P> </P>
<P><B> //a,b,c僅僅被定義,它的值會是什么?我們用 cout 輸出三個變量:</B></P>
<P><B> cout << "a = " << a << " b = " << b
<< " c = " << c << endl;</B></P>
<P> </P>
<P> getchar();</P>
<P> return 0;</P>
<P>}</P>
<P> </P>
<P>最好先保存代碼文件和工程文件。然后按F9運行。以下是筆者機器得到結果。</P>
<P> </P>
<P><IMG height=143 src="教學--第五章 變量和常量.files/ls05.h1.jpg" width=404
border=0></P>
<P>a
是1,b和c都像天文數字?嗯,從這里我們學到一個C,C++編程極其重要知識:<B>未初始化的變量,它的值將是未確定的</B>。所謂“未初始化”,就是指這個變量只有定義代碼,而沒有賦值。</P>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -