无法创建ole db取值函数。请查看列元数据是否有效_[C++ Primer plus 心得]3.处理数据...

38b7072388aa78f18a09bb2bafab4720.png

本章内容包括:

  • C++变量的命名规则。
  • C++内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。
  • C++11新增的整型:unsigned long long 和long long。
  • 表示各种整型的数字字面值(常量)
  • 使用const限定符来创建符号常量。
  • C++内置的浮点类型:float、double和long double。
  • 表示各种浮点类型的系统限制的cfloat文件。
  • 表示浮点类型的数字字面值。
  • C++的算术运算符。
  • 自动类型转换。
  • 强制类型转换。

面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。

内置的C++类型分两组:基本类型和符合类型。本章将介绍基本类型,即整数和浮点数。

表示存储的数据的方法:使用变量。

7df84f049fbb5b59df3dcedafe7fdc44.png

C++数据类型

3.1简单变量

3.1.1 变量名

C++变量命名规则:

  • 在名称中只能使用字母字符、数字和下划线(_)
  • 名称的第一个字符不能是数字
  • 区分大小写字符
  • 不用使用C++关键字作为名称
  • 以两个下划线或下划线和大写字母打头的名称将被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称被保留给实现,用作全局标识符(名称被声明的位置)
  • C++对于名称的长度没有限制,名称中所有的字符都有意义,但有些平台有长度限制。(ANSI C只保证名称中的前63个字符有意义)

多个单词组成名称的处理方法:

  • 使用下划线字符分开单词(C程序员惯用)
  • 从第二个单词开始首字母大写(Pascal程序员惯用)

3.1.2 整型

整数就是没有小数部分的数字,如2、10、12等。

  • 语言只能表示所有整数的一个子集
  • 不同C++整型使用不同的内存量来存储整数,使用的内存量越大,可表示的整数范围就越大

3.1.3 整型short、int、long、long long

  1. C++确保这些类型的最小长度:
  • short至少16位
  • int至少与short一样长
  • long至少32位,且至少与int一样长
  • long long至少64位,且至少与long一样长

2.位:计算机内存的基本单元,每一位都有0/1两种可能。

3.字节:8位的内存单元。

4.C++字节:由至少能够容纳实现的基本字符集的相邻位组成,即可能的取值数目必须等于或超过字符总数。在使用ASCII码的系统中,一个字节表示8位;在使用Unicode的系统中,一个字节表示16或32位。

5.short是short int的简称,long是long int的简称

6.sizeof运算符返回类型或变量的长度,对类型名,将名称放在括号中;对变量名,括号是可选的。eg:sizeof(int); sizeof n_short;

7.头文件climits定义了表示各种限制的符号名称,比如 INT_MAX

8.#define INT_MAX 32767 中#define是一个预处理器编译指令,它查找独立的token(单独的单词),跳过嵌入的单词,进行替换

9.变量初始化的三种方式:

  • int owls = 101; // 来自C语言
  • int wrens(432); // C++方式
  • int hamburgers = {24}; //C++11初始化方式,用于数组或结构,也可用于单值变量

10.C++11初始化方式

  • int a{2};//a=2
  • int b = {3};//b=3
  • int c{};//c=0
  • int d = {};//d=0

C++11使得可将大括号初始化器用于任何类型(可以使用等号,也可以不使用),这是一种通用的初始化语法。

3.1.4 无符号类型

1.优点:增大变量能够存储的最大值

2.使用:使用关键字unsigned(unsigned int的缩写)

3.典型的整型溢出行为

fe987c25b7a38837b685bfb1dd6eadc3.png

3.1.5 选择整型类型

1.int被设置为目标计算机的自然长度(natural size,指的是计算机处理起来效率最高的长度)

2.如果没有非常有说服力的理由,则选择int

3.如果变量表示的值不可能为负,则使用无符号类型

4.如果知道可能表示的整数值大于16位证书的额最大可能值,则使用long

5.如果存储的值操作20亿,则使用long long

6.当有大型整型数组或节省内存很重要时才使用short

3.1.6 整型字面值

1.十进制:第一位是1~9

2.八进制:第一位是0

3.十六进制:前两位是0x或0X

4.虽然有不同的表示方式,但是都将以相同的方式(二进制数) 存储在计算机中

5.控制符oct或hex,实际上是一条消息,告诉cout采取何种行为

int a = 10;//输出八进制cout <3.1.7 C++如何确定常量的类型

1.除非有理由(使用特殊后缀或者值太大)存储为其他类型,否则默认将整型常量存为int

2.首先看后缀

long:l/L后缀unsigned int:u/U 后缀unsigned long:ul/uL/Ul/UL后缀long long 和 unsigned long long 同理

3.其次看长度

对于不带后缀的十进制整数的考虑顺序:int 、long、long long对于不带后缀的十六进制或八进制整数的考虑顺序:int、unsigned int、unsigned long、long long、unsigned long long

3.1.8 char类型:字符和小整数

1.存储字母:通过字母的数值编码解决问题

2.char用来处理字符,也可以用做比short更小的整型

3.cin和cout的转化作用:根据变量类型,输入和输出字符类型

4.C++对字符使用单引号,对字符串使用双引号

5.cout.put(字符常量/字符变量) 函数

作用:显示一个字符是ostream的一个成员函数,句号是成员运算符历史缘故:cout在C++Release 2.0之前,cout将字符变量显示为字符,而将字符常量显示为数字

6.char字面值

常规字符:使用单引号括起非常规字符(比如单引号):使用转义字符()转义,可以使用数字转义序列或字符转义序列(比如 0x8和b都表示退格)

7.通用字符名

C++支持一个基本的源字符集,即可用来编写源代码的字符集C++标准还允许实现提供扩展源字符集和扩展执行字符集C++提供一种表示特殊字符的机制,独立于任何特定的键盘,使用通用字符名(universal character name)u + 8个十六进制位U + 16个十六进制位

8.signed char和unsigned char

char在默认情况下既不是有符号也不是没有符号的,是否有符号由C++实现决定signed char范围-128~127,unsigned char范围0~255

9.wchar_t

解决的问题:程序需要处理的字符集无法使用一个8位的字节表示解决方法1:如果大型字符集是实现的基本字符集,那么编译器厂商可以将char定义为一个16位字节或者更长的字节解决方法2:使用wchar_t (宽字符类型),底层的类型取决于C++实现,可能是unsigned short或int等wcin和wcout可以处理wchar_t流加上前缀L来指示宽字符常量和宽字符串(如,L"tall")

10.C++ 11新增类型:char16_t 和 char32_t

解决的问题:Unicode的普及,对特定长度和符号特征的类型的需要,而wchar_t随实现而不同使用前缀u指示char16_t,无符号,长16位使用前缀U指示char32_t,有符号,长32位

3.1.9 bool类型

1.C++将非零值解释为true,将零解释为false

2.任何数字值或指针值都就可以被隐式转换为bool值

3.2 const限定符

符号常量的表示:

名称首字母大写整个名称大写使用前缀k......

如果声明常量时没有提供值,则该常量的值将是不确定的,且无法修改的。

const较#define的优点:

能够明确指定类型可以用使用C++的作用域规则将定义限定在特定的函数或文件中可以将const用于复合类型

ANSI C和C++中const的区别:

作用域规则C++中可以用const值声明数组长度

3.3 浮点数

小数,带小数部分的数字,分两部分存储,一部分表示值,另一部分表示缩放因子(用来移动小数点的位置)。

3.3.1 书写浮点数

1.标准小数点表示法

2.E表示法

d.dddE+n表示将小数点向右移动n位d.dddE-n表示将小数点向坐移动n位
de33ffd3ce4a5eced62f9060c93e1a17.png

3.3.2 浮点类型

1.C++有3中浮点类型:float、double、long double

2.表示:有效数位+允许的指数最小范围

3.有效位(significant figure):数字中有意义的位

4.可以查看头文件cfloat获取系统对浮点数的限制

3.3.3 浮点常量

1.默认情况下为double类型

2.如果希望常量为float类型,请使用f或F后缀

3.如果希望为long double,可使用l或L后缀

3.3.4 浮点数的优缺点

1.可以表示整数之间的值

2.由于有缩放因子,可以表示更大范围的的数

3.浮点运算速度慢,精度低

3.4 C++算术运算符

3.4.1 运算符优先级和结核性

1.仅当两个运算符被用于同一操作数时,优先级和结合性规则才有效

2.C++使用优先级规则来确定首先使用哪个运算符

3.可以使用括号来执行自己定义的优先级

4.当两个运算符优先级相同时,C++看操作数的结合性是从左到右还是从右到左

3.4.2 除法分支

除法运算符()的行为取决于操作数的类型

0fb3febaf0fdad757999c8cbbf121a2b.png

3.4.3 求模运算符

求模运算符(%):返回整数除法的余数

3.4.4 类型转换

自动类型转换的情况:

将一种算术类型的值赋给另一种类型的变量表达式中包含不同的类型将参数传递给函数时

#1:初始化和赋值进行的转换

7bff29a74e9bfd166fa80473485650ff.png

#2:以{}方式初始化(列表初始化)时进行的转换(C++11)

列表初始化不允许缩窄

#3:表达式中的转换

be8fcda5b1a7544a9453430050d9ccd2.png

#4:传递参数时的转换

1.C++对char和short类型应用整型提升

2.将参数传递给取消原型对参数传递控制的函数时,C++将float参数提升为double

#5:强制类型转换

1.强制类型转换不会改变变量本身,而是创建一个新的、指定类型的值

2.强制类型转换格式

(typename) vlaue //C Styletypename (vlaue) //C++ Style,就像函数调用一般

3.static case value //更严格的类型转换

3.4.5 C++11中的auto声明

让编译器根据初始值的类型推断变量的类型一般用于处理复杂类型,比如STL中的类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499116.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android+ios打印机,Android/iOS手机安装HP打印机的详细方法和操作步骤

如今人们越来越依赖手机&#xff0c;手机几乎成为了生活必需品&#xff0c;其功能越来越多&#xff0c;对其他电子设备的操控能力也越来越强&#xff0c;那么手机如何操控打印机呢?今天小编就跟大家分享一下手机是如何通过无线安装打印机的。备注&#xff1a;本文以Android系统…

麒麟980可以升级鸿蒙吗,这五部麒麟980手机确定能升鸿蒙OS,其中有你吗?

原标题&#xff1a;这五部麒麟980手机确定能升鸿蒙OS&#xff0c;其中有你吗&#xff1f;就在今年九月的华为开发者大会上&#xff0c;余承东“一不小心”吐露出EMUI 11明年能升级鸿蒙OS 2.0的事实&#xff0c;这让许多华为用户兴奋不已&#xff0c;但首先你的手机必须要先能升…

python没有指针如何实现链表_Java、Python中没有指针,怎么实现链表、图等数据结构?...

Java、Python中没有指针&#xff0c;怎么实现链表、图等数据结构&#xff1f; (2016-10-06 11:08:19) 分类&#xff1a; C 其实Java, python完全可以看成在语言层用语法糖隐藏了指针。JAVA中到处充满指针&#xff0c;只不过把C中的指针封装成了对象的引用了&#xff0c;引用就相…

android语言列表+波斯,Android 多语言入门及实战

右键res&#xff0c;选择 New Resource Directory ,选择 locale ,选择自己想要适配的语言类型设置应用内多语言Android 7.0以下/*** 设置多语言*/public void setConfiguration(LocaleList locales, Context context) {Configuration configuration context.getResources().ge…

c# 从地址拷贝byte_面试必备的 “零拷贝” 问题!从头给你说!

本文作者&#xff1a;ksfzhaohui来源&#xff1a;juejin.im/post/5cad6f1ef265da039f0ef5df前言I/O概念1.缓冲区2.虚拟内存3.mmapwrite方式4.sendfile方式Java零拷贝1.MappedByteBuffer2.DirectByteBuffer3.Channel-to-Channel传输Netty零拷贝其他零拷贝总结前言从字面意思理解…

lda 可以处理中文_中文分词(jieba)和语料库制作(gensim)

本文的内容为以下两个部分&#xff1a;文本分词&#xff08;jieba&#xff09;语料库制作&#xff08;gensim&#xff09;结巴&#xff08;jieba&#xff09;分词在自然语言处理领域中&#xff0c;分词和提取关键词都是对文本处理时通常要进行的步骤。用Python语言对英文文本进…

js时间搓化为今天明天_秋冬国产搓背神器!360°无死角,让你搓背不求人,太舒服了...

秋冬国产搓背神器&#xff01;360无死角&#xff0c;让你搓背不求人&#xff0c;太舒服了&#xff01;夏季悄然离去&#xff0c;秋季快步走来&#xff0c;距离冬季也不远了~天气变冷以后&#xff0c;下班、放学回家了最惬意不过的就是洗个澡&#xff0c;如果泡完澡再搓个背&…

用html制作广告图片切换效果,基于jquery实现图片广告轮换效果代码

效果图:实现代码:hotmarquee*{margin: 0;padding: 0;}body{font: 12px;padding-top: 50px;padding-right: 200px;padding-bottom: 100px;padding-left: 200px;}ul{list-style: none;}img{padding: 2px;border: 1px solid #eee;}a{outline: none;}#imgs{width: 410px;margin-rig…

matplotlib柱状图上方显示数据_Python数据分析matplotlib可视化之绘图!

Matplotlib是一个基于python的2D画图库&#xff0c;能够用python脚本方便的画出折线图&#xff0c;直方图&#xff0c;功率谱图&#xff0c;散点图等常用图表&#xff0c;而且语法简单。Python中通过matplotlib模块的pyplot子库来完成绘图。Matplotlib可用于创建高质量的图表和…

应付账款账龄分析模板_企业财务报表分析论文应如何着手?

首先是企业的选择&#xff0c;最好选取上市公司进行分析&#xff0c;上市公司的财务数据比较透明&#xff0c;完全可以从新浪财经、中国证券网等平台获得详尽的报表数据资料&#xff0c;一般选取近三到五个年度。有了数据就可以着手分析了&#xff0c;我们可以从下面几个方法入…

dbeaver导入excel文件_PyQT5练习:制作Excel文件导入MySQL窗口

本文环境配置&#xff1a;系统>windows10&#xff1a;64位工具>PyCharm&#xff1a;2018.3.1语言>Python&#xff1a;3.7.1第三方库PyQT5&#xff1a;5.11.3pyqt5-tools&#xff1a;5.11.3.1.4PyMySQL&#xff1a;0.9.3openpyxl&#xff1a;2.5.12练手&#xff1a;制作…

编程中的蛇形填空问题_PCB—蛇形线的作用,这次真的是把你搞懂了

经常能看到论坛里有人在问蛇形线的问题。平时我们能看到蛇形线的地方大都是一些高速高密度板&#xff0c;好像带有蛇形线的板子就更高级&#xff0c;会画蛇形线就是高手了。网上关于蛇形线的文章也有很多&#xff0c;总感觉有些帖子的内容会误导新手&#xff0c;给人们带来困扰…

html5控制gif速度,gif加速软件 教你加快GIF图片的播放速度

一位狸友在编辑GIF动态图片时碰到了一个问题&#xff0c;就是不知怎么把GIF动画的播放速度加快(或减慢)。如果你也正巧碰到此类疑问或想知道GIF加速的方法&#xff0c;可以接着往下看哦。其实先理解了GIF动画的原理&#xff0c;并找对合适的gif编辑软件&#xff0c;解决这问题并…

android studio mvvm模板生成_使用Vue快速生成shape背景图

写在前面在日常的Android开发之中&#xff0c;我们通常都会根据UI图去手动创建shape或者selector背景图&#xff0c;虽说创建起来很简单&#xff0c;但是未免也会感到繁琐&#xff0c;因此也研究了一些这方面的知识&#xff0c;包括自定义shapedrawable、dataBinding&#xff0…

python 句子中没有中文_人生感悟经典句子,生活中可以没有诗歌,但不能没有诗意...

也曾有过一些热忱和勇气&#xff0c;为了自以为的命中注定颠沛流离&#xff0c;本想有一段花好月圆&#xff0c;却未曾想过就此天各一方。不是不爱&#xff0c;不是不会爱&#xff0c;只是少了坚持走下去的勇气。想必这是很多人的心声。错过抑或过错&#xff0c;都是爱情里常有…

图像迁移风格保存模型_图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用...

原标题&#xff1a;图像风格迁移也有框架了&#xff1a;使用Python编写&#xff0c;与PyTorch完美兼容&#xff0c;外行也能用选自Medium作者&#xff1a;Philip Meier 机器之心编译 编辑&#xff1a;陈萍 易于使用的神经风格迁移框架 pystiche。 将内容图片与艺术风格图片进行…

vivo设置全屏后状态栏黑色_vivo手机用2年内存占满,是这3个功能捣乱,一键按下全部释放...

vivo手机用2年内存占满&#xff0c;是这3个功能"捣乱"&#xff0c;一键按下全部释放经常使用手机如果没有清理习惯&#xff0c;那么应用一多&#xff0c;产生的文件就会变多&#xff0c;这样手机就会没用2年就出现卡顿的现象。今天来教大家怎样一键释放vivo手机内存。…

学计算机之路写一篇作文,我的学习之路作文(2篇)

我的学习之路作文(2篇)在我们平凡的日常里&#xff0c;大家对作文都再熟悉不过了吧&#xff0c;作文根据写作时限的不同可以分为限时作文和非限时作文。那要怎么写好作文呢&#xff1f;以下是小编整理的我的学习之路作文&#xff0c;仅供参考&#xff0c;欢迎大家阅读。我的学习…

js生日计算年龄_你知道用EXCEL可以从身份证中提取生日、性别、年龄、生肖吗?...

首先我们先了解下中国身份证号码的编排规则&#xff0c;中国公民身份证共18位&#xff0c;1~6位为省份地区信息码&#xff1b;7~14位为出生日期码&#xff1b;15~16位数字表示所在地的派出所的代码&#xff1b;第17位数字表示性别(奇数表示男性&#xff0c;偶数表示女性)&#…

docker 修改阿里镜像源_国内部署kubernetes集群的最佳实践(一)—官方教程+阿里镜像源

项目github地址&#xff1a;https://github.com/usualheart/install_k8s_official在国内环境下&#xff0c;借助阿里镜像源&#xff0c;按照官方的指导&#xff0c;使用脚本一步一步安装kubernetes。参考教程【官方】在ubuntu上安装dockerhttps://docs.docker.com/engine/insta…