📄 第5章 变量和常量.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.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.2769" 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://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1">5.1
从类型到变量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.1">5.1.1
公孙龙的“白马非马”</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.2">5.1.2
定义变量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.3">5.1.3
如何为变量命名</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4">5.1.4
如何初始化变量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.1">5.1.4.1
什么时候需要给变量初始化?</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.2">5.1.4.2
初始化变量的两个时机</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.3">5.1.4.3
通过计算得到初始值</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.1.4.4">5.1.4.4
变量的取值范围</A></P>
<P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.2">5.2
变量与内存地址</A></P>
<P><A href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3">5.3
常量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1">5.3.1
几种数据类型常数的表达方法</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.1">5.3.1.1
整型常数的表达</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.2">5.3.1.2
实型常数的表达</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.3">5.3.1.3
字符常量的表达</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.1.4">5.3.1.4
字符串常量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.2">5.3.2
用宏表示常数</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.3">5.3.3
常量定义</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4">5.3.4
枚举常量</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4.1">5.3.4.1
为什么需要枚举类型</A></P>
<P> <A
href="http://www.d2school.com/bcyl/bhcpp/newls/ls05.htm#5.3.4.2">5.3.4.2
定义枚举类型的基本语法</A></P>
<P> <A
href="http://www.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="第5章 变量和常量.files/ls05.h1.jpg" width=404
border=0></P>
<P>a
是1,b和c都像天文数字?嗯,从这里我们学到一个C,C++编程极其重要知识:<B>未初始化的变量,它的值将是未确定的</B>。所谓“未初始化”,就是指这个变量只有定义代码,而没有赋值。</P>
<P>(立即重复执行这段代码,得到结果可能都一样,但这并不说明这些值就是可以确定不变。)</P>
<H4><A name=5.1.3>5.1.3</A> 如何为变量命名</H4>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -