c++ 常用数据类型,命名规则, 不常有数据类型
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++ 常用数据类型,命名规则, 不常有数据类型的更多相关文章
- C#常用的命名规则汇总
C#常用的命名规则汇总 来源 https://www.cnblogs.com/pengyouqiang88/p/5021128.html 本文转载自脚本之家 本文详细汇总了C#常用的命名规则.分享给大 ...
- 【FreeRTOS学习02】源码结构/数据类型/命名规则总结
个人不是很喜欢FreeRTOS的编程风格,但是没办法,白嫖人家的东西,只能忍了,这里先简单总结一下: 相关文章 [FreeRTOS实战汇总]小白博主的RTOS学习实战快速进阶之路(持续更新) 文章目录 ...
- 【转】常用css命名规则
常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左 ...
- [Python3] 002 Python3 中常用的命名规则
目录 1. 什么可以用来命名? 1.1 老三样: 字母.数字.下划线 1.2 其他 2. 什么不能用来命名? Python3 中的"关键字" 3. 命名"小贴士" ...
- css 常用样式命名规则
大家在写css的时候,对一些html标签起一个合适的名字是个很头疼的事情,现在给大家分享项目中常用的名字供参考. 外套:wrap ——用于最外层 头部:header ——用于头部 主要内容:mai ...
- CSS 常用的命名规则
(1)页面结构 容器: container 页头:header 内容:content/container 页面主体:main 页尾:footer 导航:nav 侧栏:sidebar 栏目:column ...
- C#常用的命名规范
C#常用的命名规则 Pascal 规则 每个单词开头的字母大写(如 TestCounter). Camel 规则 除了第一个单词外的其他单词的开头字母大写. 如. testCounter. Upper ...
- [转]程序开发基础学习二(C++ Google Style 命名规则)
无规矩不成方圆,新的岗位就需要服从团队的编码规则.很开心团队用的是Google的C++编码规则,大概看了下Google 的编码规则,正如九天翔雁说的:“Google的 C++ Style Guide远 ...
- C--变量的命名规则
规则1.标识符最好采用英文单词或其组合,不允许使用拼音. 规则3.当标识符由多个词组成时,每个词的第1个字母大写,其余全部小写: int CurrentVal; 规则5.对在多个文件之间共同使用的 ...
随机推荐
- SQL 中 replace 替换字符串中的字符 ''
update CfmRcd set reconsource=replace(reconsource,'''',''), cmffile =replace(cmffile,'''',''), cfmda ...
- Tornado使用-简介
1.什么是Tornado Tornado是一个python web框架,和一个异步网络通信库. 因为它的非阻塞网络IO,可同时支撑万级别的连接请求. 适用于长轮询,全双工websocket通信. 2. ...
- [DIOCP3-说明书] 关于DEMO的编译
总有些朋友问我,关于DEMO编译的一些问题,每次都回答大概都差不多,我想还是写篇说明书给大家,关于DEMO编译的步骤. [环境设定] 1.将DIOCP3\source路径添加到Delphi的搜索路 ...
- 【Acm】算法之美—Anagrams by Stack
题目概述:Anagrams by Stack How can anagrams result from sequences of stack operations? There are two seq ...
- 【web技术】html特效代码(二)
html特效代码(一) html特效代码(二) 图片漂浮广告代码 <bodybgcolor="#F7F7F7"> <!--图片漂浮广告代码开始--> < ...
- Ubuntu 14.04环境变量修改
因在开发编译时是找不到命令,原因是将路径添加到环境变量,如何设置环境变量,搜索一下,找到以下关于环境变量设置的几个文件及何时执行. 首先要认识几个和环境变量有关的文件: /etc/profile —— ...
- Java Web项目部署时 “Exploded Archive”模式部署时无效
在myeclipse中部署项目时,当Deploy type为Exploded Archive(deveplopment mode)时,finish按钮为灰色,无法部署的解决方法: 1.project上 ...
- IOS 禁止侧滑返回上个页面功能
1.首先把顶部左侧返回按钮隐藏掉 //隐藏返回按钮 self.navigationItem.hidesBackButton = YES; 2.1.再禁止页面左侧侧 //禁止页面左侧滑动返回,注意,如果 ...
- [转]获取JAVA[WEB]项目相关路径的几种方法
http://blog.csdn.net/yaerfeng/article/details/7297479/ 在jsp和class文件中调用的相对路径不同. 在jsp里,根目录是WebRoot 在cl ...
- 认知计算 Cognitive Computing
认知计算代表一种全新的计算模式,它包含信息分析,自然语言处理和机器学习领域的大量创新技术. Cognnitive computing refers to systems that learn at s ...