本文仅是笔者最近在整理自己所学时的整理笔记,也算是对新手学习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码值形式存储
布尔型:1个字节: 0-1//大小写字母的转换: 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;
布尔型常量: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次方-13.进制转换技巧
整型常量: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型,一个小数默认是double2.运算结果的类型以精度高的类型为准。3.无符号类型与有符号类型运算结果为无符号的类型