符号常量

c++ 常量/有符号数和无符号数

穿精又带淫゛_ 提交于 2020-03-14 03:59:01
一、宏定义 #define 和常量 const 1、 const关键字 const 是 constant 的简写,只要一个变量前面用const来修饰,就意味着该变量里的数据可以被访问,不能被修改。也就是说const意味着只读(readonly)。 const修饰一个变量,一定要给这个变量初始化值,若不初始化,后面就无法初始化。 1.1 #include <iostream> using namespace std; int main() { const double pi; //圆周率的值用pi表示 pi=3.14159265; cout<<"圆周率的近似值是"<<pi<<endl; return 0; } 报错,没有初始化。只读。 1.2 #include <iostream> using namespace std; int main() { const double pi=3.141592; //圆周率的值用pi表示 cout<<"圆周率的近似值是"<<pi<<endl; return 0; } 1.3 const关键字应用 欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了; 对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const; 在一个函数声明中

C++冒险攻略(持续更新中。。。)

大憨熊 提交于 2020-03-09 17:40:49
我的C++冒险之旅 绪论 计算机系统基本概念 计算机硬件 计算机程序语言 计算机解决问题是 程序控制 的 程序就是 操作步骤 程序要使用 语言来表达 机器语言 计算机 能识别 的是机器语言 机器语言指令是由0和1编码的 例如:加法指令可能是"0001" 计算机指令系统 机器硬件能够识别的语言(机器语言)的 集合 ; 它是软件和硬件的主要界面。 计算软件 是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为 系统软件、应用软件 和介于这两者之间的 中间件 ; 软件包括程序和 文档 。 编写大型程序时,尤其要注意编写文档 计算机程序 指令的序列; 描述解决问题的方法和数据。 计算机语言和程序设计方法 最初的计算机语言——机器语言 由二进制代码构成 计算机硬件可以识别 可以表示简单的操作 例如:加法、减法、数据移动等等 汇编语言 将机器指令映射为助记符 如ADD、SUB、mov等; 抽象层次低,需要考虑机器细节。 高级语言 关键字、语句容易理解; 有含义的数据命名和算式; 抽象层次较高; 例如,算式:a+b+c/d 屏蔽了机器的细节: 例如,这样显示计算结果: cout << a + b + c / d C++语言 是高级语言 支持面向对象的观点和方法 将客观事物看做对象 对象间通过消息传送进行沟通 支持分类和抽象 面向过程的程序设计方法 机器语言、汇编语言

c语言助记

爱⌒轻易说出口 提交于 2020-02-26 19:19:39
1.常量定义,不可修改: ①宏定义常量(推荐) #define PI 3.14159 ②普通定义常量(不安全) ,const int a=5; 2.浮点型保留2位小数使用 printf("price==%.2f",price); %.2f为占位符 3.有符号(signed)和无符号区别: ①有符号关键字一般可以省略 signed int a=-10/10;可以是正数也可以是负数 ②无符号的只能用正数 4.十/八/十六进制定义 int a =10; int b=01234;(不能出现超过8的数字) int c=0xAd; 5.sizeof(int/变量名) 计算数据类型在内存中占的字节大小 来源: CSDN 作者: 星眸之心 链接: https://blog.csdn.net/wangguidong520/article/details/104522122

变量与常量及运算符

大城市里の小女人 提交于 2020-02-06 00:05:57
变量(Variable):   变量可以理解为可以改变的一个值。   百度百科中这样说明变量:     变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象。    Java中的变量一般分为以下前两种(严格的讲分为三种):     1.局部变量:指在方法或语句块内部定义的变量。     2.实例变量(又叫“成员变量”或“全局变量”):指在方法外部,类的内部定义的变量。     实例变量在使用前必须要先初始化(就是必须赋值),如果不初始化,则Java会自动的初始化为该类型的默认初始值(数值型:0或0.0、字符型:16位的0、布尔值:false)。     3.类变量(被static修饰的变量)     示例: package com.lxj.cnblogs; /** * 测试变量 * @author 刘小将 * */ public class TestVariable { boolean flag = false; //这是一个全局变量 static String str = "Abc"; //这是一个类变量 public void function() { int a = 1; /

C++基础:变量和基本类型

前提是你 提交于 2020-01-26 05:09:51
基本内置类型 一、基本内置类型 C++定义了一套包括算术类型(arithmetic type) 和空类型(void) 在内的基本数据类型。其中算术类型包含了字符、整型数、布尔值和浮点数。空类型不对应具体的值,仅用于一些特殊的场合,例如最常见的是,当函数不返回任何值时使用空类型作为返回类型。 二、算术类型 算术类型分为两类:整型(integral type,包括字符和布尔类型在内)和浮点型。 带符号类型和无符号类型 除去布尔型和扩展的字符型之外,其他整型可以划分为带符号的(signed) 和无符号的(unsigned) 两种。带符号类型可以表示正数、负数或0,无符号类型则仅能表示大于等于0的值。 类型int、short、 long 和long long 都是带符号的,通过在这些类型名前添加unsigned就可以得到无符号类型,例如unsigned long。 类型unsigned int 可以缩写为unsigned。 与其他整型不同,字符型被分为了三种: char、signed char和unsigned char。特别需要注意的是:类型char和类型signed char并不一样。类型char实际上会表现为上述两种形式中的一种,具体是哪种由编译器决定。 建议:如何选择类型 和C语言一样,C++的设计准则之一也是尽可能地接近硬件。C++的算术类型必须满足各种硬件特质

Java学习(六)

喜夏-厌秋 提交于 2020-01-26 02:57:22
Java学习(六) 文章目录 Java学习(六) 前言 1.Java的标识符和关键字的学习 1.标识符 2.关键字 2.Java注释:单行、多行和文档注释 1.单行注释 2.多行注释 3.文档注释 3.Java常量:Java常量的定义和分类 1.常量值 1.1整形常量值 1.2实型常量值 1.3布尔型常量 1.4字符型和字符串常量值 2.定义变量 3.声明变量与赋值 3.1变量声明 3.2变量赋值 4.变量的作用域 1.成员变量 前言 之前,我们已经安装过eclipse,下面,我们就要开始使用eclipse来开始我们的java编程了。 1.Java的标识符和关键字的学习 1.标识符 Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下。 标识符由数字(0 9)和字母(A Z 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。 标识符的第一个符号为字母、下划线和美元符号,后面可以是任何字母、数字、美元符号或下划线 另外,Java 严格区分大小写 。比如:myjava 和Myjava是两个标识符。 提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名。

jvm gc 线程

非 Y 不嫁゛ 提交于 2020-01-20 20:48:06
java虚拟机运行时数据区 方法区 ​ 属于共享内存区域,存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。 java虚拟机: ​ 线程私有,生命周期和线程一致。描述的是 Java 方法执行的内存模型:每个方法在执行时都会床创建一个栈帧(Stack Frame)用于存储 局部变量表 、 操作数栈 、 动态链接 、 方法出口 等信息。每一个方法从调用直至执行结束,就对应着一个栈帧从虚拟机栈中入栈到出栈的过程。 StackOverflowError:线程请求的栈深度大于虚拟机所允许的深度。 OutOfMemoryError:如果虚拟机栈可以动态扩展,而扩展时无法申请到足够的内存。 本地方法栈 ​ 区别于 Java 虚拟机栈的是,Java 虚拟机栈为虚拟机执行 Java 方法(也就是字节码)服务,而本地方法栈则为虚拟机使用到的 Native 方法服务。也会有 StackOverflowError 和 OutOfMemoryError 异常。 java堆 ​ 对于绝大多数应用来说,这块区域是 JVM 所管理的内存中最大的一块。线程共享,主要是存放对象实例和数组。内部会划分出多个线程私有的分配缓冲区(Thread Local Allocation Buffer, TLAB)。可以位于物理上不连续的空间,但是逻辑上要连续。 程序计数器 内存空间小,线程私有

Class文件结构

狂风中的少年 提交于 2020-01-16 05:12:09
class文件是一组以8bit字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑的排列在class文件中,中间没有添加任何分隔符。当遇到需要占用8bit字节以上的数据项时,会按照高位在前的方式分割成若干个8bit字节进行存储。 ClassFile结构 类型 名称 数量 u4 magic 1 u2 minor_version 1 u2 major_version 1 u2 constant_pool_count 1 cp_info constant_pool constant_pool_count-1 u2 access_flags 1 u2 this_class 1 u2 super_class 1 u2 interfaces_count 1 u2 interfaces interfaces_count u2 fields_count 1 field_info fields fields_count u2 methods_count 1 method_info methods methods_count u2 attributes_count 1 attribute_info attributes attributes_count MagicNumber 固定值: cafe babe 作用是确定这个文件是否为一个能被jvm所接受的Class文件

一文让你理解Class类加载机制

亡梦爱人 提交于 2020-01-06 18:41:15
理解类加载机制 Class文件是各种编译器编译生成的二进制文件,在Class文件中描述了各种与该类相关的信息,但是Class文件本身是一个静态的东西,想要使用某个类的话,需要java虚拟机将该类对应的Class文件加载进虚拟机中之后才能进行运行和使用。 举个例子,Class文件就好比是各个玩具设计商提供的设计方案,这些方案本身是不能直接给小朋友玩的,需要玩具生产商根据方案的相关信息制造出具体的玩具才可以给小朋友玩。那么不同的设计商有他们自己的设计思路,只要最终设计出来的方案符合生产商生产的要求即可。生产商在生产玩具时,首先会根据自己的生产标准对设计商提交来的方案进行阅读,审核,校验等一系列步骤,如果该方案符合生产标准,则会根据方案创建出对应的模具,当经销商需要某个玩具时,生产商则拿出对应的模具生产出具体的玩具,然后把玩具提交给经销商。 对于java而言,虚拟机就是玩具生产商,设计商提交过来的方案就是一个个的Class文件,方案创建的模具就 总的来说,类的加载过程,包括卸载在内的整个生命周期共有以下7个阶段: 加载、验证、准备、初始化、卸载这5个阶段的顺序是确定的,但是解析阶段不一定,在某些情况下解析可以在初始化之后再执行,为了支持java的运行时绑定,也成为动态绑定或晚期绑定。invokedynamic指令就是用于动态语言支持,这里“动态

C语言作业4.0

≯℡__Kan透↙ 提交于 2019-12-23 13:45:23
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #1.编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时 间。使用#define或const创建一个表示60的符号常量或const变量。通过while 循环让用户重复输入值,直到用户输入小于或等于0的值才停止循环。 #include <stdio.h> #define time 60 int main() { int minute,hour,minutes; printf("please input a minute"); scanf("%d",&minute); while(minute>0) { hour=minute/time; minutes=minute%time; printf("为%d小时%d分钟",hour,minutes); break; } return 0; } 2.编写一个程序,提示用户输入一个整数,然后打印从该数到比该数大 10的所有整数(例如,用户输入5,则打印5~15的所有整数,包括5和 15)。要求打印的各值之间用一个空格、制表符或换行符分开。 #include <stdio.h> int main() { int number,a; printf("please input a number"); scanf("%d",&number); a=number; while