1. 常用数据类型

最大值0111111111111111 = 32767
最小值1000000000000000 = -32768

short     最低16位  2**7 - 1  负值:反码
int     至少和short一样长
long    至少32位, 且至少与int一样长
long long 至少64位, 且至少与long一样长
unsigned short
unsigned int
unsigned long
unsigned long long
char
bool float
double
long double

针对数据类型出现的溢出现象,看c++如何解决

#include <iostream>

#define  ZERO 0

#include <climits>

int main(int argc, char const *argv[]) {
using namespace std;
short sam = SHRT_MAX;
unsigned short sue = sam; std::cout << "sam: " << sam << " sue:" << sue << std::endl;
std::cout << ZERO << '\n'; sam += ;
sue += ; std::cout << "sam: " << sam << " sue:" << sue << std::endl;
std::cout << ZERO << '\n'; sam = ZERO;
sue = ZERO; std::cout << "sam: " << sam << " sue:" << sue << std::endl;
std::cout << ZERO << '\n'; sam -= ;
sue -= ; std::cout << "sam: " << sam << " sue:" << sue << std::endl;
std::cout << ZERO << '\n';
return ;
}

c++  linux编译执行命令

g++ myfirst.cpp -o main && ./main

结果:

sam:  sue:

sam: - sue:

sam:  sue:

sam: - sue:

2. 命名规则

1. 在名称中只能使用字母字符, 数字和下划线(_)

2. 名称的第一个字符不能是数字

3. 区分大小写字母

4. 不能使用c++关键字作名称

5. 以两个下划线或下划线和大写字母打头的名称。(被保留给实现编译器及使用的资源使用。)。以一个下划线开头的名称被保留给实现,用作全局标识符。

注意:(针对我自己的)

1. 在使用字符和字符串时候一定要区分。例如‘%c’  和 “%s”

2. 在命名的时候可以使用标识, 比如intVarName, 或者var_name_str, 这是自己应该提高的和注意的。

3. c++显示16进制等数据方法

根据什么判断是什么类型呢?

1. 如果第一位是1~9, 则基数是10(十进制)

2. 如果第一位为0, 第二位为1~7, 则基数为8

3. 如果前两位为0X或0x, 则基数为16

例如:

  int chest = 0xaa;

#include <iostream>

#define  ZERO 0

#include <climits>

int main(int argc, char const *argv[]) {
using namespace std; int chest ;
int waist ;
int inseam ; std::cout << chst << '\n';
std::cout << hex << '\n'; // 更改为16进制显示
std::cout << waist << '\n';
std::cout << oct << '\n'; // 更改为8进制显示
std::cout << inseam << '\n';

三, 不常用数据类型

1. signed char  和 unsigned char

如果将char用作数值类型, 则unsigned char和signed char 之间的差异将非常重要。

unsigned char类型的表示范围通常为0~255, 而signed char 的表示范围为-128 ~ 127.

例如要使用一个char变量来存储像200这样大的值, 某些系统可以, 另一些系统不可以, 但使用unsigned char可以在任何系统上达到这种目的。

例如:

  unsigned char ba;

2. wcha_t

程序处理的字符集可能无法用一个8位的字节表示, 如日文系统。可以用wcha_t, wchar_t 是一种整数类型, 有足够的空间表示扩展字符集。因此在一个系统中它可能是unsigned short , 也可能是int

输入和输出:

  cin和cout将输入和输出看作char流, 因此不适合用来处理wchar_t类型。, 可以用类似的工具wcin和wcout来处理wchar_t流(iostream头文件里面封装了)。

  另外通过加上    <<   前缀L  >>   来表示宽字符常量和宽字符串。

  wchar_t bob = L‘P’;

  wcout << L''Tall" <<endl;

3.char16_t 和char32_t

随着unicode的熟悉与成熟, wchar_t 已经不再满足要求, c++11 新增了类型char16_t 和 char32_t

char16_t 是无符号的, 16位, 用前缀小u表示: char16_t    ch1 = u'q';

char32_t 也是无符号的, 32位, 用前缀大U表示: char32_t    ch2 = U'\U000222B';

与wchar_t一样, 也是底层类型, 一种内置的整型, 但底层类型可能随系统而已。

c++ 常用数据类型,命名规则, 不常有数据类型的更多相关文章

  1. C#常用的命名规则汇总

    C#常用的命名规则汇总 来源 https://www.cnblogs.com/pengyouqiang88/p/5021128.html 本文转载自脚本之家 本文详细汇总了C#常用的命名规则.分享给大 ...

  2. 【FreeRTOS学习02】源码结构/数据类型/命名规则总结

    个人不是很喜欢FreeRTOS的编程风格,但是没办法,白嫖人家的东西,只能忍了,这里先简单总结一下: 相关文章 [FreeRTOS实战汇总]小白博主的RTOS学习实战快速进阶之路(持续更新) 文章目录 ...

  3. 【转】常用css命名规则

    常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左 ...

  4. [Python3] 002 Python3 中常用的命名规则

    目录 1. 什么可以用来命名? 1.1 老三样: 字母.数字.下划线 1.2 其他 2. 什么不能用来命名? Python3 中的"关键字" 3. 命名"小贴士" ...

  5. css 常用样式命名规则

    大家在写css的时候,对一些html标签起一个合适的名字是个很头疼的事情,现在给大家分享项目中常用的名字供参考. 外套:wrap  ——用于最外层 头部:header  ——用于头部 主要内容:mai ...

  6. CSS 常用的命名规则

    (1)页面结构 容器: container 页头:header 内容:content/container 页面主体:main 页尾:footer 导航:nav 侧栏:sidebar 栏目:column ...

  7. C#常用的命名规范

    C#常用的命名规则 Pascal 规则 每个单词开头的字母大写(如 TestCounter). Camel 规则 除了第一个单词外的其他单词的开头字母大写. 如. testCounter. Upper ...

  8. [转]程序开发基础学习二(C++ Google Style 命名规则)

    无规矩不成方圆,新的岗位就需要服从团队的编码规则.很开心团队用的是Google的C++编码规则,大概看了下Google 的编码规则,正如九天翔雁说的:“Google的 C++ Style Guide远 ...

  9. C--变量的命名规则

    规则1.标识符最好采用英文单词或其组合,不允许使用拼音. 规则3.当标识符由多个词组成时,每个词的第1个字母大写,其余全部小写: int   CurrentVal; 规则5.对在多个文件之间共同使用的 ...

随机推荐

  1. 我的IT之路2013(一)

    一眨眼又到了写总结的时候了.废话不多说了,直接切入正题. 春节过后 从春节前开始大概半个月的时间就开始在TKY做物资管理项目,中间穿插了两个考试和J2EE的学习:结束TKY工作后继续深入学习J2EE, ...

  2. Stochastic Gradient Descent收敛判断及收敛速度的控制

    要判断Stochastic Gradient Descent是否收敛,可以像Batch Gradient Descent一样打印出iteration的次数和Cost的函数关系图,然后判断曲线是否呈现下 ...

  3. android 调用系统相机拍照 获取原图

      好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用data.getData()的方式来生成bitmap,其实获取的是拍照生成的缩略图!看看尺寸就 ...

  4. 如何解压POSIX tar archive文件

    下载了一个xxx.gz的文件,使用x xxx.gz(zsh的x插件,十分之好用,再也不用担心tar后面该加哪些参数了)的命令解压,然后出现了一个文件,本以为解压后是一个文件夹:然后一脸蒙逼~ 突然又想 ...

  5. LeetCode: Merge k Sorted Lists 解题报告

    Merge k Sorted Lists Merge k sorted linked lists and return it as one sorted list. Analyze and descr ...

  6. model number

    // test.cpp : Defines the entry point for the console application. // #include "stdafx.h" ...

  7. MBCS与Unicode的转换

    一.绪 其实刚开始编程的时候我不太喜欢用Unicode编码,所以比较喜欢 VC6.0,即使使用VS2010,也会设置为未设置模式. 后来,没办法的接触了些Unicode的编程的东西,必须得研究字符集的 ...

  8. css中span元素的width属性无效果原因及多种解决方案

    先运行下程序看下: <span style='width:300px;'>123</span> 输出:123 可以看到 span会自动根据包含的内容来变化宽度 这是因为:对于内 ...

  9. Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现

    Android控件GridView之仿支付宝钱包首页带有分割线的GridView九宫格的完美实现 2015-03-10 22:38 28419人阅读 评论(17) 收藏 举报  分类: Android ...

  10. Selenium (4) —— Selenium是什么? WebDriver是什么?做什么?(101 Tutorial)

    Selenium (4) -- Selenium是什么? WebDriver是什么?做什么?(101 Tutorial) selenium版本: v2.48.0 (Standalone Seleniu ...