C++学习感悟——基本数据篇(1)

本文仅是笔者最近在整理自己所学时的整理笔记,也算是对新手学习C++语言的一个指引,如有转载请注明出处。

一、头文件引用:

在C和C++中头文件引用使用预编译指令#include 来进行的,该预编译指令可以引用两种目录下的文件:

<>和""区别:

1.<>从系统目录下搜索该文件,找不到直接报错
2.""从项目目录下搜索该文件,找不到再到系统目录搜索该文件,再找不到报错
总结:一般情况下,系统文件使用<>,自定义文件使用""。


//C语言的标准输入输出库
#include <stdio.h>

//#include "stdio.h"
//C++
#include <iostream>
using namespace std;

//自定义文件的引用:使用相对路径
#include "head.h"
#include "Common/Draw.h"
#include "../Test/Hero.h"

二、常量和变量:

常量:在程序中不可以改变的量。一般以值的形式存在。3,'a'
变量:在程序可以改变的量。


三、如何定义定义变量?

1.C++中基本数据类型?

C++语言中的基本数据类型有:

//括号中为该数据类型所占字节

整型:int(2(16位机器)或者4)、short(2)、long(4)、long long(8)
字符型:char(1)
布尔型:bool(1)
浮点型:float(4)、double(8)
而每个字节(Byte )又是由八位二进制数构成的
字符型:
字符常量:'a','0',
字符串常量:"ab"  以'\0'表示结尾,
  每一字符都会对应一个整数,该整数称为字符ASCII码值.字符是以ASCII码值形式存储

//大小写字母的转换:
	char c;
	cout<<"请输入一个大写字母"<<endl;
	cin>>c;//scanf("%c",&c);
	c=c+32;//c=c+('a'-'A');
	cout<<c<<endl;
	//数字字符和数字的转换:
	cout<<"请输入一个数字字符"<<endl;
	cin>>c;
	int n=c+(0-'0');
	cout<<n<<endl;
布尔型:1个字节: 0-1
布尔型常量:true(1),false(0)
  一切非0的数都为真.
浮点型(float(4),double(8),long double(8或16))
浮点型常量:
1.小数形式(3.14) 
  2.指数形式(3.2e-2);

2.每一种数据类型所占字节数:sizeof

数据存储时,以补码的形式进行存储,最高位表示符号位,0为正,1为负

数据类型的表示范围:
short  2个字节=16位
最大值:01111111 11111111=10000000 00000000-1=2^15-1    32767
最小值:最小的负数绝对值=最大正数+1;                        =-2^15     -32768
unsigned(无符号的) short   2个字节
最小的数:0
最大的数:11111111 11111111=1 00000000 00000000-1=2的16次方-1

3.进制转换技巧

整型常量:10进制、8进制(以0开头,每一位上的数0-7)、16进制(以0x开头,每一位上的数0-9,a-f)
2进制->机器语言  1个字节=8位(备注:计算机中每个字节由两个十六进制数组成)
进制转换:
10进制->N进制  求余法。
N进制->10进制  每一位上的数*N的权值(从右往左从0开始,依次加1)次方。
2进制->8进制:每三位转换成一个10进制的整数,依次写出
8进制->2进制:每一位看成一个10进制的数,转换成三位的二进制数
2进制->16进制:每四位转换成一个10进制的整数,依次写出
16进制->2进制:每一位看成一个10进制的数,转换成四位的二进制数

4.如何选择数据类型?

想要知道如何选择数据类型首先要了解什么是数据溢出?

数据溢出即当变量的值超出了数据类型的表示范围

计算机处理:

警告  自动调整到数据类型能表示的范围

大于数据类型表示的最大值:该数-该数据类型表示的数的数量

小于数据类型表示的最小值:该数+该数据类型表示的数的数量

因为申请的变量空间尽管不会被全部使用,但是也会在内存中存在。所以为了提高对内存的优化:在选择变量时,应注意在保证不会出现数据溢出前提下尽可能选择字节少的变量。

int main()
{
	//数据溢出
	short n=-1;
	while(n--<0); 
	cout<<n<<endl;

	short s=0x1234;
	char *pchar=(char*)&s;
	cout<<hex<<(int)(*pchar)<<endl;
	cout<<"0x"<<100<<endl;//流操作,输出格式是16进制
	
	
	cout<<sizeof(int)<<endl;
	
	//C语言打印语句:
	printf("Game Start\n");
	//C++
	//cout<<"Game Start"<<endl;
	
	return 0;
}

5.变量名命名;

先定义(内存分配),再使用;
格式:类型 变量名;
变量名:要求是合法标识符
合法标识符:
1.字母、数字、下划线组成
2.开头不能是数字
3.不能是关键字

注意:1.区分大小写
2.名字不宜过长
3.命名法则:正式命名法:所有首字母大写
4.顾名思义:匈牙利命名法

整型变量:先定义,再使用

四、整形提升

混合运算:不同类型之间的运算
1.一个整数默认是int型,一个小数默认是double
2.运算结果的类型以精度高的类型为准。
3.无符号类型与有符号类型运算结果为无符号的类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值