C++ Primer学习记录之变量
目录
- 一.类型说明符
- 二.变量名
- 三.初始化
- 总结
变量的定义形式一般为:类型说明符,变量名和初始化,
一.类型说明符
类型说明符一般就是常用的int,double,char等系统自带的类型关键字和自定义的类。
二.变量名
变量名一般由英文字母(小写)、数字、下划线(_)组成,其中数字不能作为变量名的第一位。
int a; //合法 int _; //合法 int 8; //不合法,数字不能单独作变量名 int _8; //合法 int a8_; //合法 int a_8; //合法 int _a8; //合法 int 8a_; //不合法,数字开头 int 变量; //特殊的,C++11标准中中允许汉字作为变量名
1.一般规范命名时,需要一定程度体现其功能意义,如:
记录分数的变量可命名为score,记录数字的变量命名为num等。
2.变量名尽量用小写,类名一般第一个字母大写。
3.当需要多个单词进行意义表达时,需要在单词之间做出明显的区分,如:
记录学生姓名的变量可命名为student_name
或studentName
,尽量不写成studentname
。
4.变量名不可为关键字或类似名,如
char int; //不合法,有关键字intchar Int; //合法,但是不建议,易造成混乱char int; //不合法,有关键字int char Int; //合法,但是不建议,易造成混乱
三.初始化
初始化是一个比较复杂的概念,在此暂不作深究,只需要知道它跟赋值操作不同。初始化是在定义变量时给与初始值,而赋值则是在变量创建后,抹去旧值赋予新值:
int i=6; //定义int型变量i并1初始化为6 int i; //定义int型变量i i=6; //将i赋值为6
可能会有疑问:刚刚说道,赋值要抹去旧值赋予新值,这里看上去并没有旧值,谈何抹去?
实际上,在定义变量i时,由于并没有人为初始化,系统会自动调用int的构造函数,将i初始化,一般为0(非确切值,据变量类型和编译器环境而定)。所以后续将i的值变为6属于抹去系统初始化的旧值,赋予i以新值。
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
《C++ primer plus》读书笔记(三)
第九章 1.C++程序的组成-- (1).头文件: 包含结构声明和使用这些结构的原型. (2).源代码文件: 包含与结构有关的函数的代码. (3).源代码文件: 包含调用与结构有关的函数的代码. 2.头文件-- (1).常包含的内容: 函数原型:#define或const定义的符号常量:结构声明:类声明:模板声明:内联函数. (2).若文件名包含在尖括号中,编译器将在存储标准头文件的主机系统的文件系统中查找. (3).若文件名包含在双引号中,编译器首先查找当前的工作目录或源代码目录,再在标准位
-
《C++ primer plus》读书笔记(一)
第一章 1.预处理器--#include<iostream>将iostream文件内容添加到程序中.老式C头文件保留了扩展名.h,而C++头文件没有扩展名. (有些C头文件被转换为C++头文件,去掉扩展名,并在前面加c,如cmath) 2.名称空间--相当于Java中的package,using编译指令相当于Java中的import.头文件没有.h前缀时,类.函数和变量是C++编译器的标准组件,被放置在名称空间std中. 3.类的本质--类是用户定义的一种数据类型.类定义描述的是数据格式及其用
-
C++ Primer的变量和基本类型详解
目录 1.类型转换 含有无符号类型的表达式 2.字面值常量 整形和浮点型字面值 字符和字符串字面值 转移序列 指定字面值的类型 布尔字面值和指针字面值 总结 1.类型转换 对象的类型定义了对象能包含的数据和能参与的运算,其中一种运算被大多数类型支持,就是将对象从一种给定的类型转换为另一种相关类型.比如 把非布尔类型的数据赋值给布尔类型时,初始值为0则结果为false,否则为true: 将布尔值赋值给非布尔类型时,初始值为false则结果为0,初始值为true则结果为1: 将浮点数赋给整数类型时,
-
c++primer:变量和基本类型详解
目录 前言 类型转换 变量声明与定义的关系 变量命名规范 复合类型 引用 指针 const限定符 const的引用 指针和const constexpr和常量表达式 auto类型说明符 decltype 头文件保护符 习题 练习 总结 前言 我只写我觉得重要的,同时把一些我觉得比较重要的习题做一下 类型转换 类型所能代表的范围决定了转换的过程 比如:当我们把一个非布尔类型的算数值赋给布尔类型时,初始值为0则代表结果为false,否则结果为true 当把浮点数赋给整数时,会舍去小数部分. 当赋给无
-
c++primer类详解
目录 1. 定义抽象数据类型 1.1 设计Sales_data类 1.2 定义类相关的非成员函数 1.3构造函数 1.4 拷贝.赋值和析构 2 访问控制和封装 2.1 友元 2.2 类的其他特性 2.2.1 类成员再探 2.2.2 返回*this的成员函数 2.2.3 类类型 2.2.4 友元再探 2.4 类的作用域 2.4.1 名字查找和类的作用域 2.5 构造函数再探 2.5.1 2.5.2 委托构造函数 2.5.3 默认构造函数的作用 2.5.4 隐式的类类型转换 2.5.5 聚合类 2.
-
《C++ primer plus》读书笔记(二)
第五章 1.for循环--for(initialization; test-expression; update-expression) body // test-expression 会被转换为bool,0为false,非零为true 2.表达式--表达式是值或值与运算符的组合.赋值表达式的值为其左侧成员的值,而赋值运算符是从右到左结合的. 3.a++和++a-- (1)对于内置类型,两种执行效率相同. (2)若重载运算符,对于类而言,前缀将值加1,返回结果:后缀会复制一个副本,加1后返回副本
-
C++ Primer学习记录之变量
目录 一.类型说明符 二.变量名 三.初始化 总结 变量的定义形式一般为:类型说明符,变量名和初始化, 一.类型说明符 类型说明符一般就是常用的int,double,char等系统自带的类型关键字和自定义的类. 二.变量名 变量名一般由英文字母(小写).数字.下划线(_)组成,其中数字不能作为变量名的第一位. int a; //合法 int _; //合法 int 8; //不合法,数字不能单独作变量名 int _8; //合法 int a8_; //合法 int a_8; //合法 int _
-
PHP学习记录之数组函数
数组 php中的数组是一个有序映射,映射是一种把values关联到keys的类型,数组可以接受任意数量用逗号分隔符的键值对. 数组的介绍 /* * php中数组可以分为: * 索引数组:下标是数字 * 关联数组:下标是字符串 * 注:php中数组其实不区分索引还是关联数组,都是根据键名找到对应的值 * * php可以同时包含integer和string类型的键名 * key:可以是一个整数integer或者字符串string * value:可以是任意类型的值 * * php中的key只能是in
-
PHP学习记录之面向对象(Object-oriented programming,OOP)基础【类、对象、继承等】
本文实例讲述了PHP学习记录之面向对象(Object-oriented programming,OOP)基础.分享给大家供大家参考,具体如下: 在面向对象的程序设计(英语:Object-oriented programming,缩写:OOP)中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象,然而在现实世界里我们所面对的事情都是对象,如计算机.电视机.自行车等,我们来看下对象的三个主要特征: 对象的行为:可以对 对象施加那些操作,开灯,关灯就是行为. 对象的形态:当施加那
-
MySQL学习记录之KEY分区引发的血案
需求背景 业务表tb_image部分数据如下所示,其中id唯一,image_no不唯一.image_no表示每个文件的编号,每个文件在业务系统中会生成若干个文件,每个文件的唯一ID就是字段id: 业务表tb_image的一些情况如下: 根据image_no查询和根据id查询: 存量数据2kw: 日增长4w左右: 日查询量20w左右: 非ToC系统,所以并发的天花板可见: 方案选择 根据上面对业务的分析,分库分表完全没有必要.单库分表的话,由于要根据image_no和id查询,所以,一种方案是冗余
-
原生javascript 学习之js变量全面了解
1.变量的命名 方法的命名(驼峰命名法) 全部小写 : 单词与单词之间全部下划线 (my_namespace) 大小写混合 : 第一个单词首字母小写其他单词首字母大写. 规则 首字符 英文字母或下划线 组成 英文字母 数字 下划线 禁忌 JavaScript 关键字 保留字 2. 变量的声明 显示声明 : var 关键字 陋习 : 没有类型 重复声明 隐式声明 不声明直接赋值 正解 : 先声明 后读写 先赋值 后运算 3. 变量类型 值类型 A) 占
-
js和jquery中循环的退出和继续学习记录
作为水货,就是学会了1+1=3也要记录一下!错了,是2 学习记录: js中的 for(var i=1;i<5;i++){ if(i==3){ break; // 使用break,弹出2次提示分别为1,2:如果使用continue,则会弹出3次,分别是1,2,4 } alert(i); } 循环,退出循环,使用break:退出当前循环继续下一个循环,使用continue jquery中的each()方法中要实现break,使用return false:continue,使用return true
-
javascript原型链学习记录之继承实现方式分析
本文实例讲述了javascript原型链学习记录之继承实现方式.分享给大家供大家参考,具体如下: 在慕课网学习继承的笔记: 继承的几种方式: ① 使用构造函数实现继承 function Parent(){ this.name = 'parent'; } function Child(){ Parent.call(this); //在子类函数体里面执行父类的构造函数 this.type = 'child';//子类自己的属性 } Parent.call(this),this即实例,使用this执行
-
PHP学习记录之常用的魔术常量详解
本文实例讲述了PHP学习记录之常用的魔术常量.分享给大家供大家参考,具体如下: PHP 向它运行的任何脚本提供了大量的预定义常量,不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了.有八个魔术常量它们的值随着它们在代码中的位置改变而改变,我们接下来具体看下. 首先是__LINE__,它表示文件中的当前行号,实例如下: <?php echo '这是第 " ' . __LINE__ . ' " 行'; ?> 第二个
-
laravel框架学习记录之表单操作详解
本文实例讲述了laravel框架学习记录之表单操作.分享给大家供大家参考,具体如下: 1.MVC数据流动 拿到一个laravel项目最基本的是弄清楚它的页面请求.数据流动是怎样进行的,比如当通过get请求index页面时,如何显示如下的学生信息列表: 首先当一个页面请求到达时,需要在routes/web.php中定义路由请求以及对应的处理方法: Route::get('index','StudentController@getIndex'); 然后在.env文件下设置好数据库连接,新建数据库模型
-
OpenCV学习记录python实现连通域处理函数
目录 1.两个函数介绍 1.1什么是连通域 1.2 cv2.connectedComponents() 1.3 cv2.connectedComponentsWithStats() 2.代码实践 3.总结 1.两个函数介绍 总得来说,connectedComponents()仅仅创建了一个标记图(图中不同连通域使用不同的标记,和原图宽高一致),connectedComponentsWithStats()可以完成上面任务,除此之外,还可以返回每个连通区域的重要信息–bounding box, ar
随机推荐
- 简单谈谈margin负值的作用
- Prototype 学习 工具函数学习($A方法)
- Go语言中的指针运算实例分析
- Vim命令合集
- python中map、any、all函数用法分析
- C#中winform实现自动触发鼠标、键盘事件的方法
- js对数字的格式化使用说明
- asp.net发邮件示例
- 实现获取http内容的php函数分享
- Zend Framework教程之分发器Zend_Controller_Dispatcher用法详解
- HTML标签及ASP函数速查表
- C#生成word记录实例解析
- java多线程中的异常处理机制简析
- MySQL 视图的基础操作(五)
- Android应用程序窗口(Activity)窗口对象(Window)创建指南
- 单行 JS 实现移动端金钱格式的输入规则
- Android图片处理:识别图像方向并显示实例教程
- checkbox全选/取消全选以及checkbox遍历jQuery实现代码
- 用批处理实现的反应速度测试工具
- Nginx could not build the server_names_hash 错误的解决办法