第三章

C++基本整型

有5种:

char
short 至少16位
int 至少与short一样长
long 至少32位且至少与int一样长
long long 至少64位且至少与long一样长

内存基本单元为位(bit)组成,一个字节(byte)为8位。
也就是说:
8位单元能表示256个数
16位单元能表示65536个数
32位单元能表示4294672296个数
64位单元能表示18446744073709551616个数

除char外其他四种都是符号类型,也就是正负数能表示各一半。
并且有对应的无符号型变体:

unsigned short
unsigned int 
unsigned long
unsigned long long

无符号型变体是为了舍弃表示负数来增大正数的表示值。也就是说能表示的数的量是不变的,只是从0开始了。例如short可以表示-32768到+32768,unsigned short则表示
0到65536。并不是直接将负数砍掉

这里还有一个整型溢出行为,就是超过能表示的最值之后,会有个循环一样的溢出,也就是+32767再+1的话就会变成-32768。
这里写图片描述

sizeof()函数

返回类型或变量的长度,单位为字节。

#include <iostream>
using namespace std;

int main()
{
    cout << sizeof(char) <<endl
         << sizeof(short) <<endl
         << sizeof(int) <<endl
         <<sizeof(long)<<endl
         << sizeof(long long)<<endl;
    return 0;
}

输出为:

1
2
4
8
8

可以看出各个类型的长度,char为1、short为2、int为4、long为8、long long为8。
变量的用法一样的,只不过括号可以省略:sizeof(an_int); 或者sizeof an_int;

头文件climits中定义了一些常用的符号常量:
这里写图片描述
这里写图片描述

不同进制数

第一位为1~9,为10进制数
第一位为0,第二位为0~7,为8进制数
前两位为0x或者0X,为16进制数

int dec_num = 42;
int hex_num = 0x42;
int oct_num = 042;

在输出时,用dec、hex、oct来控制cout以十进制,十六进制,八进制输出数字的格式。默认格式为十进制,在修改格式之前,原来的格式一直持续效果!

    cout<<"dec: a= "<<a<<endl;
    cout<<"hex: a= "<<hex<<a<<endl;
    cout<<"oct: a= "<<oct<<a<<endl;
    cout<<dec;//再改回默认的十进制,不然忘了会很蛋疼

输出结果为:

dec: a= 10
hex: a= a
oct: a= 12

代码中,最后别忘了将输出格式再改回十进制。

**

char类型

**
char类型经常被用作字符类型,但在本质上就是比较小的整数。它在输入,输出,赋值上的所有的字符表象的功能,都是赋值等号,cin,cout的翻译功能,内部核心仍然就是整数。翻译规则一般就是ASIC码。

    char ch1 = 97;
    cout<<ch1<<endl;
    cout<<int(ch1)<<endl;

    char ch2 = 'b';
    cout<<ch2<<endl;
    cout<<int(ch2)<<endl;

输出:

a
97
b
98

可以发现,输入的话,用编码或者字符都能接受,输出的话默认形式就是字符,除非强制转换类型,会输出ASIC码。
ASIC码中还有一些常用的转义序列。比如\n \ \? \’ \”等,反正就是一些代表特殊共能的字符。

**

布尔类型

**

bool is_ready true;
bool pass false;
bool start 100;
bool stop 0;

标准的用法是true和false。也接受数值,非0解析为true,0解析为false。

**

浮点数

**
解释下为啥叫浮点数,在计算机内部存储时,浮点数是分两块存储的,一块是字面的值,另一块就是小数点位置。所以叫浮点数。
表示方式有两种:0.34 和3.4e-1 。e表示法大小写都可以。前面为系数,后面为指数,底数为10.
基本浮点类型有三种:
float 32位
double 64位
long double 80,96,128位
三种类型的指数范围至少是-37~37
浮点数cout格式是一大块内容,后续再搞。

浮点常量是在数字后面加f或者L,大小写都可以:
1.345f
2.456L

类型转换

只说一下强制类型转换:

int a = 0;
double(a);
(double)a;
static_cast<double>(a);

这三种都是强制类型转换,一般用第一种;第二种是c时代遗留下来的,一般不用;第三种是后引入的四种强制装换中的一种,规范并严格了类型的转换。后面详说,这里只需要知道它就是强制类型转换。

auto类型就是自动推断变量类型,
auto a = 100,则a被自动推断为int型,一般auto用于复杂类型,比如长长的模板类型,来个auto看起来比较清爽。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园悬赏任务平台对字典管理、论坛管理、任务资讯任务资讯公告管理、接取用户管理、任务管理、任务咨询管理、任务收藏管理、任务评价管理、任务订单管理、发布用户管理、管理员管理等进行集中化处理。经过前面自己查阅的网络知识,加上自己在学校课堂上学习的知识,决定开发系统选择小程序模式这种高效率的模式完成系统功能开发。这种模式让操作员基于浏览器的方式进行网站访问,采用的主流的Java语言这种面向对象的语言进行校园悬赏任务平台程序的开发,在数据库的选择上面,选择功能强大的Mysql数据库进行数据的存放操作。校园悬赏任务平台的开发让用户查看任务信息变得容易,让管理员高效管理任务信息。 校园悬赏任务平台具有管理员角色,用户角色,这几个操作权限。 校园悬赏任务平台针对管理员设置的功能有:添加并管理各种类型信息,管理用户账户信息,管理任务信息,管理任务资讯公告信息等内容。 校园悬赏任务平台针对用户设置的功能有:查看并修改个人信息,查看任务信息,查看任务资讯公告信息等内容。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。项目管理页面提供的功能操作有:查看任务,删除任务操作,新增任务操作,修改任务操作。任务资讯公告信息管理页面提供的功能操作有:新增任务资讯公告,修改任务资讯公告,删除任务资讯公告操作。任务资讯公告类型管理页面显示所有任务资讯公告类型,在此页面既可以让管理员添加新的任务资讯公告信息类型,也能对已有的任务资讯公告类型信息执行编辑更新,失效的任务资讯公告类型信息也能让管理员快速删除。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值