宾馆的例子讲c语言变量,(第五章C、C语言变量和常量.doc

(第五章C、C语言变量和常量

第五章 变量和常量

5.1 从类型到变量

5.1.1 公孙龙的“白马非马”

故事是春秋时的公孙龙先生说的。

城门上告示:“马匹不得入城”。公孙龙同志骑白马而来,遭拒入。公孙龙一脸正色:“告示上写的是‘马’,而我骑的是‘白马’,难道 ‘马’等于 ‘白马’吗?”

守门士兵觉得白马还真不是马,于是放行。

依公孙龙先生的理论认为:如果白马是马,黑马也是马,那么岂不白马等于黑马,所以,不能说白马是马。“白马非马”是中国哲学史上的一桩公案。不过,若是我们从程序的角度上说,可以认为:马在这里表示一种类型,而白马,黑马它们的类型都是马。

白马,黑马具有相同的“数据类型”,但它们都相对独立的个体。从这点说,别说有白黑之分,就算同样是白马,这一匹和哪一匹白马,也是相对独立的个体。

在程序中,“类型”和“变量”的关系正是“马”和“白马”的关系。

如果C或C++有这种数据类型: Horse,那么,定义一匹“白马”的变量应该这样:

Horse AWhiteHorse;

以后我们说不定真的有机会自已定义Horse,不过现在,我们在上一章的学的数据类型是:

char,int,bool 等等。

假设我们需发使用一个有关年龄的变量,在C或C++中是这样定义的:

int age;

现在让我们来事先建立一个空的工程,随着本章课程的进展,我们需要不断地在工程中加入零星的代码,及时实践。

仍然是一个空的控件台程序。方法是……以前我们讲过,忘了就看前面章节吧。

代码文件Unit1.cpp中,手工加入以下的黑体部分:

//---------------------------------------------------------------------------

#include

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])]

{

? getchar();

? return 0;

}

//---------------------------------------------------------------------------

5.1.2 定义变量

语法:

数据类型 变量名;

“张三”既可以指张三这个人,也可以是张三的名字。同样,上面的“变量名”,其实也就是变量本身。

举上一节的例子:

int age;

其中,int 是数据类型(整型),而 age 是变量名,更多的时候,我们就说是变量 age。最后是一人分号。它表示定义一变量在C或C++里一句完整的语句。因为C++的语言总是以分号结束。

如果要声明一个字符类型变量:

char letter;

声明一个bool类型的变量:

bool do_u_love_me;

其它类型,除了void不能直接定义一个变量以外,格式都是一样的。

void avoid; //错!void 类型无法直接定义一个变量。

有时同一时候同一数据类型需要多个变量,此时可以分别定义,也可以一起定义:

int a;

int b;

int c;

下面采用一起定义,会更省事:

int a,b,c;

一起定义多个同类型变量的方法是:在不同变量之间以逗号(,)分隔,最后仍以分号(;)结束。

让我们来试试变量定义,另外,我们还要趁此机会,看看一个变量在仅仅进行定义之后,它的值会是什么。

继续上一小节的代码。仍然是加入黑体部分,当然 // 及其后面的内容是注释,你可以不输入。

......

int main(int argc, char* argv[])]

{

?/定义变量//

? //以下定义三个变量:a,b,c

? int a;??????

? double b,c;?

? //a,b,c仅仅被定义,它的值会是什么?我们用 cout 输出三个变量:

? cout << "a = " << a << " b = " << b << " c = " << c << endl;

? getchar();

? return 0;

}

最好先保存代码文件和工程文件。然后按F9运行。以下是笔者机器得到结果。

a 是1,b和c都像天文数字?嗯,从这里我们学到一个C,C++编程极其重要知识:未初始化的变量,它的值将是未确定的。所谓“未初始化”,就是指这个变量只有定义代码,而没有赋值。

(立即重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值