2、C++
2.2定义变量
2.2.1命名规则
赋予变量的名称叫做标识符,或者更方便地称之为变量名。变量名可用字母(包括大小写),数字,以及下划线,其他字符不允许。以下划线或者字母开头。在Visual C++2010字符最长可达2048个字符。在C++中经常采用这样一个约定,就是把以大写字母开头的名称用于类名,而把以小写字母开头的名称用于变量。
C++中的关键字
C++中有一些保留字,又被称为关键字;修改显示颜色:Tools->Options->Environment/Fonts and colors。
2.2.2 声明变量
变量声明同时也是变量定义,即介绍了变量名,又将它与适当容量的一段内存联系起来。
在把一个名称以及有关这个名称用途的信息引入程序时,要使用"声明"这个术语,术语"定义"涉及的是分配给这个名称的计算机内存。就变量来说,二者同时执行。C++良好的习惯是接近于首次使用的变量的位置声明他们。
2.2.3 变量的初始值
将初始值赋给变量的变量声明称为初始化。
在C++中,为变量写入初始值还有一种表示法,称作函数表示法。是把数值写入变量名后面的圆括号内。
eg:int value(5);int value = 5。
2.3 基本数据类型
2.3.1 基本类型分为三类:存储整数的类型(short(2个字节) int(4个字节) long(4个字节;定义的数字后面加上L或者l;默认只是数字表示int型)、long long(8个字节数字后面写LL或者ll))、存储非整数的类型(也称为浮点型)、指定空的值集或者不指定任何类型的void类型。
2.3.2 字符数据类型
与char类型不同,wchar_t类型的叫法源于它是宽字符类型,存储两个字节的字符代码,值域为0-65535.eg:wchar_t = L'Z';定义一个变量letter,并利用字母Z的16位代码对它进行初始化。字符常量’Z‘前面的字母L告诉编译器这个是一个16位字符代码值,wchar_t变量存储Unicode代码值。也可以用wchar_t letter(L'Z');也可以使用十六进制常量初始化整型变量。wchar_t letter(0x5A);
2.3.3 整型修饰符
定义无符号类型是后面加上u或者U
eg:unsigned long mileage = 5UL;
2.3.4布尔类型
布尔变量也称为逻辑变量,类型bool被认为是整数类型。其值为true和false;eg:bool colorIsred = true;
2.3.5 浮点类型
浮点常量必须包含一个小数点或者一个指数或者二者都有,如果不是,则认为是一个整数。
double占8个字节,float占4个字节并且在定义时数字后面要加f而double不用加,默认就是。
还有long double 类型。
2.3.6 字面值
在C++中,所有类型的常数都称为字面值。字面值是特定类型的值。
2.3.7 定义数据类型的同义词
typedef关键字能够使您为现有的类型定义自己的类型名称。
2.3.8 具有特定值集的变量
有时需要一些具有一个有限的可能值集的变量,标签(label)可以有效地引用这些值,在C++中有一种处理这种情况的工具,称之为枚举。eg:
enum Week{Mon,Tue,Wed,Thurs,Fri,Sta,Sun} thisWeek;这个语句声明了名称为Week的枚举类型和变量thisWeek,这个变量是枚举类型Week的一个实例,它只能采用大括号之间指定的常量值。大括号之间列出的符号名称为枚举器。实际上,日期的每一个名称都被自动定义为表示一个固定的整数值,如Mon=0,Tue=1。。。
可以把一个枚举常量作为变量thisWeek的值赋给它,eg:thisWeek= Thurs;
如果打算不从零开始则可以有enum Week{Mon=1,Tue,Wed,Thurs,Fri,Sta,Sun} thisWeek;那么其值范围为1-7.枚举器甚至不需要有唯一的值,如enum Week{Mon=2,Tue=2,Wed,Thurs,Fri,Sta,Sun} thisWeek;由于thisWeek的类型是int,故它占4个字节,不允许用函数表示法初始化枚举器。
2、C++的更多相关文章
- js-静态、原型、实例属性
本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- javascript中的Array对象 —— 数组的合并、转换、迭代、排序、堆栈
Array 是javascript中经常用到的数据类型.javascript 的数组其他语言中数组的最大的区别是其每个数组项都可以保存任何类型的数据.本文主要讨论javascript中数组的声明.转换 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- jQuery UI resizable使用注意事项、实时等比例拉伸及你不知道的技巧
这篇文章总结的是我在使用resizable插件的过程中,遇到的问题及变通应用的奇思妙想. 一.resizable使用注意事项 以下是我在jsfiddle上写的测试demo:http://jsfiddl ...
- 初识Hadoop、Hive
2016.10.13 20:28 很久没有写随笔了,自打小宝出生后就没有写过新的文章.数次来到博客园,想开始新的学习历程,总是被各种琐事中断.一方面确实是最近的项目工作比较忙,各个集群频繁地上线加多版 ...
- boosting、adaboost
1.boosting Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数.他是一种框架算法,主要是通过对样本集的操作获 ...
- 《Web 前端面试指南》1、JavaScript 闭包深入浅出
闭包是什么? 闭包是内部函数可以访问外部函数的变量.它可以访问三个作用域:首先可以访问自己的作用域(也就是定义在大括号内的变量),它也能访问外部函数的变量,和它能访问全局变量. 内部函数不仅可以访问外 ...
- .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法
在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...
- JS调用Android、Ios原生控件
在上一篇博客中已经和大家聊了,关于JS与Android.Ios原生控件之间相互通信的详细代码实现,今天我们一起聊一下JS调用Android.Ios通信的相同点和不同点,以便帮助我们在进行混合式开发时, ...
随机推荐
- 玩转laravel5.4的入门动作(二)
做个文章的增删改查 第一步 把数据库的表结构建好,生成迁移 1 怎么建,当然是用php artisan命令了 使用 Artisan 命令 make:migration 来创建一个新的迁移: php ...
- angular controller 之间的通信方式
AngularJS中的controller是个函数,用来向视图的作用域($scope)添加额外的功能,我们用它来给作用域对象设置初始状态,并添加自定义行为. 当我们在创建新的控制器时,angularJ ...
- spring-boot+quartz的CRUD动态任务管理系统
版权声明:作者: 小柒 出处: https://blog.52itstyle.com 分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大 ...
- J2SE 8的Lambda --- 语法
语法例子 LambdaGrammarTest lambdaTest = new LambdaGrammarTest(); // 1. 能够推导出类型的,可以不写类型 String[] planets ...
- jquery ajax 赋值问题, 后面程序判断逻辑用
添加async:false; 像 $.get() 等是没有async参数的, 所以需要用到如下 $.ajaxSetup({ async : false //这个意思是等这个ajax有了返回值后才会执行 ...
- Java 8 日期时间API
Java 8一个新增的重要特性就是引入了新的时间和日期API,它们被包含在java.time包中.借助新的时间和日期API可以以更简洁的方法处理时间和日期; 在介绍本篇文章内容之前,我们先来讨论Jav ...
- 4 python内置函数
1.内置函数的整体介绍 内置参数官方详解 https://docs.python.org/3/library/functions.html?highlight=built#ascii 2.各内置函数介 ...
- ubuntu sudo apt-get upgrade 和 sudo apt-get dist-upgrade区别
sudo apt-get upgrade: 不会对系统产生重大的影响,可以在任何时候运行. sudo apt-get dist-upgrade: 涉及核心的升级,通常会对系统功能产生实际的影响,可能在 ...
- Mybatis知识(4)
1.当实体类中的属性名和表中的字段名不一样 解决办法①: 通过在查询的sql语句中定义字段名的别名,让字段名的别名和实体类的属性名一致 <select id=”selectorder” para ...
- varnish--vcl
●Varnish Configuration Language - VCL(varnish配置语言-VCL) Varnish有一个很棒的配置系统,大部分其他的系统使用配置指令,让您打 ...