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

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

? 在C++语言中,变量是计算机编程的一个重要概念,它是一个存储值的字母或名称
? 有几种基本类型的变量:
string (“一组词”)、
chars(‘a’)、
floats(10.2)、
booleans(true或false 值)
这几个是最常见的

创一个小群,供大家学习交流聊天
如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀。
也希望大家对学C++能够持之以恒
C++爱好群,
如果你想要学好C++最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组织:快乐学习C++组织 可以点击组织二字,可以直达

? 使用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! (没用!)

(伪)随机数

随机功能来自于我们的<stdlib.h>库。我们的预处理程序(preprocessor)将它置于代码前,方便我们利用这一功能,尽管在集成开发环境(IDE)中看不到它,但我们可以使用以下语句:#include <stdlib.h>
//note no semi colon(注意没有分号)

rand();
returns a val between 0 - 32767(在0-32767之间返回一个值)

这是一个陷阱——它得到的值都是相同的。太坑了!
在产生随机数前,我们必须用srand( )设好随机数种子(seed)。
srand(time(0));

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

下面是问题时间!

什么是数据类型(data type)?
C++中有哪些数据类型?
什么是无符号×××(unsigned ints)?
什么是const?
什么是枚举(enum)?
如何使用枚举?
什么是对象(object)?
什么是实例化?
如何解决rand( )函数每次产生随机数都一样的问题?
什么是%?
如何检验两个变量的等式?
什么是游戏主循环(game loop)?
什么是“&&”、“︱︱” 以及“!=”?我们又该在什么情况下使用它们呢?

原文地址:https://blog.51cto.com/14209412/2353085

时间: 2024-10-07 21:21:17

C++入门课程系列:基础知识篇(1)的相关文章

selenium+python自动化测试系列---基础知识篇(1、HTML基础知识1)

1.什么是HTML HTML是一种描述网页的语言.HTML指超文本标记语言(Hyper Text Markup Language),它不是一种编程语言,而是一种标记语言(markup language),HTML包含静态HTML和动态HTML 2.HTML标签 HTML标记标签通常被称为HTML标签(HTML tag) HTML标签是由尖括号包围的关键词,如:<html> HTML标签通常是成对出现的,如:<b>,</b> 标签对中的第一个标签是开始标签(<b&g

Android Camera开发之基础知识篇

概述 Android框架支持设备的相机拍照和录像功能,你的应用可以直接调用系统的Camera应用来拍照或者录像(比如微信拍照),当然也可以利用Android系统提供的API开发一个Camera应用来实现相机拍照和录像功能(比如市面上流行的360相机).此篇文章主要记录相机开发有关的基础知识,以及带着自己的理解翻译Camera官方文档,如有翻译不恰当支出,还请指出改正.当然我会开一个有关相机开发的一个系列,该系列主要内容包括如下: 相机基本预览拍照功能. 实现相机的Flash,Hdr,滤镜,前后摄

Capabilities 入门教程:基础实战篇

该系列文章总共分为三篇: Linux Capabilities 入门教程:概念篇 Linux Capabilities 入门教程:基础实战篇 待续... 上篇文章介绍了 Linux capabilities 的诞生背景和基本原理,本文将会通过具体的示例来展示如何查看和设置文件的 capabilities. Linux 系统中主要提供了两种工具来管理 capabilities:libcap 和 libcap-ng.libcap 提供了 getcap 和 setcap 两个命令来分别查看和设置文件的

C#基础知识篇(五)-----------C#笔记

一.值类型和引用类型 1>值类型和引用类型将我们学过的数据类型划分成了两部分. 划分的依据是不同类型的数据在内存中(堆栈)存储的结构不同. 2>值类型:所有的数值类型:long int short byte ulong uint ushort sbyte decimal duoble float char bool 枚举 结构 3>引用类型:string,arry(数组),类(class) 4>不管是值类型还是引用类型赋值都是将数据copy一份将副本赋给变量,不同的是值类型拷贝的是

C#基础知识篇(二)-----------C#笔记

1.关系运算符(比较运算符) 1.关系运算符有哪些? >,< ==,!= >=,<= 2.关系运算符的作用? 用于比较两个事物之间的关系. 3.什么叫关系表达式? 由关系运算符连接起来的式子叫关系表达式. 注意:所有的关系表达式最终都能计算成一个bool类型的值. 2.逻辑运算符 1.逻辑表达式有哪些? 逻辑与:&& ,逻辑或:||  ,逻辑非:!(又叫取反) 2.逻辑运算 语法:表达式1 逻辑运算符  表达式2 逻辑运算符连接的两个表达式,要最终能求解成一个boo

C#基础知识篇(四)-----------C#笔记

一.类 1. 什么叫做类? 类是具有相同特征的一类事物统称.所以类是一种抽象,即不是一个实体(我们把类看做模板). 2. 什么叫做对象? 对象是根据类的模板创造出来的一个实体,它具有类里所有的特征,一个也多不得,一个也少不得.少了就不叫这个类的成员了,多了也不是!假如张三有变身这个功能,那么张三就不属于人. 记住对象是根据模板创建的,模板有什么它就有什么,不会多也不会少! 3. 什么叫做字段(或者是成员变量)? 我们把定义在方法的外面,类的里面(即:类中)的变量称之为字段或者说是成员变量. 4.

C#基础知识篇(三)-----------C#笔记

一.方法 1. 什么叫做方法? 方法就是对一段代码的重用的机制. 2. 方法的定义: [访问修饰符] [static] 返回值类型 方法名() { 方法体; } 注意:用[]修饰的都是可选的. 3. 需要注意的细节: 命名规则:方法名开头大写,参数名开头小写,参数名.变量名要有意义. 4. 方法的参数: 1>在方法名后面括号内定义变量就叫做定义这个方法的参数(形参). 2>在方法()中我们定义多个参数时,参数之间用逗号分隔,不管参数之间的类型是否相同,都不能像定义同类型的多个变量时:如:int

C#基础知识篇---------C#笔记

   一.变量         1.什么叫做变量?            我们把值可以改变的量叫做变量.          2.变量的声明:            语法:[访问修饰符] 数据类型 变量名; 如: int number=10://声明了一个整型的变量number.            注意:一次声明多个变量之间要用逗号分隔.                  如:int number1,number2,number3....;          3.变量的赋值:        

c++基础知识篇:指针

从面试的反馈来看,这部分可以问的很难. 1.指针与引用的区别 指针是一个变量,用来存放地址的变量.引用是原来变量的存储空间的别名. ? 2.指针作为参数的要点 a.需要进行指针的合法性检验,防止空指针. b.需要修改指针本身指向的地址时,参数需要是该指针的引用. ? 3.c++程序运行空间 数据区(Data Area):全局变量.静态变量.常量存放在数据区. 代码区(Code Area):所有类成员函数和非成员函数 栈区(Stack Area):为运行函数分配的局部变量.函数参数.返回数据.返回

leaflet-webpack 入门开发系列一初探篇(附源码下载)

前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 webpack 配置介绍文档详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学 vscode 安装包下载,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错 leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 l