分类:干货教程

C++入门课程系列:基础知识篇(1)

作者: Trousers pocket

C++是一种静态数据类型语言。

• 在C++语言中,变量是计算机编程的一个重要概念,它是一个存储值的字母或名称。

• 有几种基本类型的变量:

string (“一组词”)、
chars(‘a’)、
floats(10.2)、
booleans(true或false 值)

这几个是最常见的。日后,我们也许可以自己设置变量。

• 使用cout<<语句将数据输出到控制台

• 使用>> cin语句读取用户输入的数据

• C++语言中,可用一个值来定义一个新的变量,比如:

int x = 0;
string myWords = “ “;

•无符号整形(unsigned ints)始终为正数,它占用的内存少于常用的ints: uint = 10;

• 如果你将一个值赋给const,数值保持不变。如果你尝试更改这个值,编译器会生成错误或警告(complain)信息。所以,我们应该把它看作是一个不变的值(constant value),就和生我们的母亲一样,她的角色是不会变的。

例如:

string myBestFriend = “Stacey”;
const string myBiologicalDad = “David”;
string myBestFriend = “Terri”
//because Stacey is lame! She made fun of me for being smart. (Stacey这个名字太糟糕了!我好朋友认为我自作聪明,取笑了我一番。)

myBiologicalDad = “Tom”;
//just doesn’t work! Tom can’t be your biological dad. You only get one of these. (语句并不成立!Tom不可能是你的亲爹,你只有一个亲爹。)

• C++中的枚举(Enums)或枚举数(Enumerators)很酷。

枚举是一个被命名的整形常数的集合,枚举可以让游戏编程的方式更轻松。

现在,让我们看看数据类型。

数据类型,顾名思义,就是数据的一种类型或者事物/对象(也叫变量)的一种类型。

值得一提的是,我们必须定义数据类型(data type)。我们所使用int、string、char、bool的语句,就是C++语言中的预定义数据类型(predefined data type)。

首先,我们必须要定义数据类型(或对象)

其次,我们必须要实例化(创建)数据类型。

C++用int语句帮助你走了第一步,这也就能解释我们为什么称int为原始数据类型(primitive data type)了。

枚举(Enums)是尚未定义的原始数据类型。要使用枚举,你得这么做:

//first off define the enumerator(首先,定义枚举数) enum difficulty {
NOVICE, EASY, HARD};

接下来,实例化枚举。

• 什么是实例化(instantiate)呢?实例化是指用类创建对象的过程,或创建一个对象的一个实例(create an instance of an object)。

• 对象或数据类型,指的是概念性蓝图(conceptual blueprint),其实,它和我们生活所说的汽车或房子设计图没多大差别。

• 实例化意味着创建一个实例——亦称作创建真实的汽车。

例:如果此时已经有1969辆保时捷赛车,但设计图只有一张。此时,你可以在C++中创建这两样东西。

difficulty myDifficulty = EASY;

为什么要大写呢? 这是C++里的一个语言规定,大写const值是为了让语句清晰。

现在我们可以使用枚举来测试状态。

enum difficulty {NOVICE, EASY, HARD};
difficulty myDiff = EASY;
if(difficulty EASY) {
//only fire 2 rockets; (只发射2枚火箭) }

/* Because enums are equal to a list of numbers, (因为枚举等同于数字列表) NOVICE 0
EASY 1
HARD
2. */

// this also works.(这同样有用) if(difficulty == 1) {
//only fire 2 rockets; (只发射2枚火箭) }

**注意你现在不能给mydiff重新赋值…这是常数数据类型了,如果你重新赋值,你将收到一个错误信息。 mydiff = HARD;
// NO GOOD! (没用!)

(伪)随机数

随机功能来自于我们的库。我们的预处理程序(preprocessor)将它置于代码前,方便我们利用这一功能,尽管在集成开发环境(IDE)中看不到它,但我们可以使用以下语句:

每次运行app时,由随机数种子产生不同的随机数值,这个随机数种子来自于系统时钟(system’s clock)。时间是你必须列入在内的一个lib文件:

下面是问题时间!

什么是数据类型(data type)?

C++中有哪些数据类型?

什么是无符号整形(unsigned ints)?

什么是const?

什么是枚举(enum)?

如何使用枚举?

什么是对象(object)?

什么是实例化?

如何解决rand( )函数每次产生随机数都一样的问题?

什么是%?

如何检验两个变量的等式?

什么是游戏主循环(game loop)?

什么是“&&”、“︱︱” 以及“!=”?我们又该在什么情况下使用它们呢?