C++教程第二章-变量基础

转载请注明出处:http://blog.csdn.net/miaoyunzexiaobao

1.基本内置类型

C++包含算数类型和空类型。其中算数类型包含字符,整型数,布尔值及浮点数。即char,int,long,bool,float,double等。注意这里有一种称为无符号数的类型unsigned,无符号数恒大于0.需要注意,如果在while中执行:

<span style="font-size:14px;">unsignedint a = 10;
while(a> 0)
{…}</span>

由于a是无符号整型,因此a恒大于0,逻辑判断恒为真,程序会陷入死循环。

用例:

字符char:char a = ‘a‘;char b = ‘1‘;char c = ‘!‘;char a = 0x0000

整型int:int a = 10; int b = -10;

无符号整型unsigned int:unsigned int a = 10;

布尔bool:bool a = true; bool b = false;

浮点float/double:float a = 1.12321; float b = 3.54234

溢出:内置类型在内存中占据的长度受到限制,若表示的值超过一定长度,则发生溢出。如char长度为1字节,即8 bit,若执行:char a = 0x123456789,将9
bit赋给a,则发生溢出。

2.类型转换

基本内置类型间可互相转换

int转bool:若int的值不为0,则转换为bool后为true,否则为false。

浮点转int:将截断小数点后的数

int转浮点:转换后对浮点数小数位为0

3.字面值常量

字面值常量即为不可改变的量。如43,“hello”(字符串常量)等

在C++中,字符串常量为const char*类型。其中*代表指针。指针的概念将在之后对内容中进行讲解。

4.转义序列

有一些字符在C++中含有特殊含义,这些情况下要用到转意序列。

转义序列可参考:

http://blog.csdn.net/qustdjx/article/details/7728684

5.变量的初始化

建议对所有变量在定义时均赋一个初值,即执行初始化,这一行为可避免大多意想不到的麻烦。

在定义一个变量后,若未为其赋初值,则该变量会被系统默认初始化,赋予一个默认的初始值。该初始值由变量类型决定。

注意初始化与赋值的区别,这在C++中很重要。初始化的含义是创建变量时赋予其一个初始值,赋值的含义是把对象的当前值擦除,以一个新值代替。

初始化:int a = 1; //这里a被初始化为1

赋值:int a ; a = 1; //这里a首先被默认初始化为0,之后执行赋值操作,将a赋值为1.

6.变量的作用域

变量可分为全局变量和局部变量。目前只需要知道,在函数体内部定义的变量是局部变量,仅在函数体内有效。(之后会学习到static变量,即静态变量是例外的,该变量定义后全局有效)

例:

<span style="font-size:14px;">int a = 0;

void fun(){
	int fa = 0;
	int fb = 1;
}
int main(){
	int b = 4;
	return
}</span>

其中a是全局变量,fa,fb,b均为局部变量。

7.变量定义和声明的区别

注意区分定义和声明的区别,其中定义是在系统内存中开辟一块空间,用于存放变量。声明是告诉程序有这个变量存在。变量只能定义一次,但可以声明多次。

小结:今天介绍了变量中的一些基本知识,下一章将对复合变量中数组这一概念进行详细分析

PS:这里对前一章中main函数参数列表做一下解释。

int_tmain(int argc, _TCHAR* argv[])

其中main对参数列表中包含两个参数,一个是整型int,另一个是TCHAR*数组,其实就是char**类型,表示为一个字符串数组。

当编译完一个程序后,在命令行中通过命令执行这段程序时,可能希望对其附上一些参数。如下图所示

可以看到,通过g++将代码ShowPar.cc编译为test后,调用test时,argc为参数总数,argv存放各附加参数。

如:./test hello and

执行test程序,附加参数hello和and,argc的值为3,argv中的内容分别为./test,hello以及and

时间: 2024-11-05 22:38:08

C++教程第二章-变量基础的相关文章

Java 第二章 变量 、数据类型和运算符 笔记

Java 第二章 变量 .数据类型和运算符 一.变量:存储数据的一个基本单元. 二.变量的声明和赋值: 1)声明并赋值:数据类型 变量名=值;      例:int  price=1000; 2)声明.赋值分两步:数据类型 变量名;   例: int  price; 变量名=值;              price=1000; 三.数据类型2种: 1)基本数据类型8种: Byte 长度:-128~127(-2的7次方到2的7次方减1) Short   -2的15次方到2的15次方减1 Int

第二章 算法基础 思考题2-1

package chap02; import static org.junit.Assert.*; import java.util.Arrays; import java.util.Random; import org.junit.Test; /*** * 在归并排序中对小数组采用插入排序 * * @author xiaojintao * */ public class ques2_1 { /** * 归并排序算法 * * @param a * @return */ static void m

第二章 变量和数据类型

课时6:数据和数据类型 1.数据及数据类型 数据:指有用的信息 数据类型:对数据的分类 2.C#语言中的数据类型 Char字符类型 单个文字 (汉字,字母,数字,标点符号) 成对英文单引号表示 'A' string字符串类型 不限数量文字 (汉字,字母,数字,标点符号) 成对英文单引号示 "A" int整数类型 (简称整型) 表示一个整数 直接书写 100 double小数类型 表示包含小数点的数字 直接书写 1.1 课时7:认识变量 1.认识变量:一块存储数据的内存空间,并且该内存区

《ECMAScript 6 入门- 第二章 变量的解构赋值》 —— 摘抄

1.数组的解构赋值 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 旧做法: var a = 1; var b = 2; var c = 3; ES6做法: var [a,b,c] = [1,2,3]; 上面代码表示,可以从数组中提取值,按照对应位置,对变量赋值. 本质上,这种写法属于“模式匹配”,只要等号两边的模式相同,左边的变量就会被赋予对应的值.下面是一些使用嵌套数组进行解构的例子. var [foo,[[bar],bad]] =

openwrt教程 第二章 下载openwrt源码

2.1 开发环境 我们工作室(F403科技创意室:http://f403tech.taobao.com/)写的该教程,所使用的环境为: VMware Workstation:VMware 8 Ubuntu:Ubuntu12.04 具体环境搭建过程,可以向客服索要用户手册!上面有非常详细的过程! 2.2 准备工作 再下载.配置.编译openwrt系统之前,我们需要做些准备工作,安装一些必须的工具.库. (1) 安装SVN工具 安装SVN工具,用于下载openwrt源码: $ sudo apt-ge

第二章 算法基础 思考题2-4(逆序对)

1 package chap02; 2 3 import static org.junit.Assert.*; 4 5 import java.util.Arrays; 6 7 import org.junit.Test; 8 9 public class ques2_4 { 10 /** 11 * 逆序对,将一个序列中的所有逆序对打印输出 12 * 13 * @author xiaojintao 14 * 15 */ 16 static void printReverseOrder(int[]

鸟哥的 Linux 私房菜(服务器) 第二章 网络基础概念

鸟哥的 Linux 私房菜(服务器) @(学习笔记)[Linux|Markdown|笔记] [TOC] 第二章 网络基础概念 2.1 网络是个什么玩意儿 OSI 七层协定 分层 负责内容 Layer 1物理层Physical Layer 由于网络媒体只能传送 0 与 1 这种位串,因此物理层必须定义所使用的媒体设备之电压与讯号等, 同时还必须了解数据讯框转成位串的编码方式,最后连接实体媒体并传送/接收位串. Layer 2数据链结层Data-Link Layer 这一层是比较特殊的一个阶层,因为

C++ Primer 笔记(2)第二章 变量与基本类型

第二章 变量与基本类型 1.基本内置类型包括算术类型和空类型,算术类型分为两类:整型(包括字符和布尔类型)和浮点型: 2.布尔类型(bool)的取值是真(true)或者假(false): 3.字面值常量:每个字面值常量都对应一种数据类型,字面值常量的形式和值决定了它的数据类型, 由单引号括起来的一个字符是char型字面值,有双引号括起来的零个或者多个字符则构成字符串字面值: 20  整形字面值 ‘a’ 字符字面值 “Hello World”或者“”都会字符串字面值 ‘A’表示单独字符A,而“A”

我要翻译《Think Python》- 004 第二章 变量, 表达式和语句

PDF源文件地址 :  http://www.greenteapress.com/thinkpython/thinkpython.pdf [自述:这一章内容不多,但是由于时间关系,翻译完成这一章也花了我一周的时间,跟我预想的进度相比已经落后了,得加油了,要不然翻译完整本书就要到猴年马月了.目前离翻译完成还有17章!!!] 第二章 变量, 表达式和语法 2.1 值和类型 值是程序工作的基本要素,如字符串“Hello,World!”或数字1.2等等. 这些值属于不同类型:2是一个整数,而“Hello