当前位置: 首页 > news >正文

四川省城镇建设二次供水网站南京尔顺科技发展有限公司表扬信息武威市建设厅网站

四川省城镇建设二次供水网站南京尔顺科技发展有限公司表扬信息,武威市建设厅网站,网站设计方法,注册网站送金币系列文章 C 系列 前篇 为什么学习C 及学习计划-CSDN博客 C 系列 第一篇 开发环境搭建#xff08;WSL 方向#xff09;-CSDN博客 C 系列 第二篇 你真的了解C吗#xff1f;本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 前言 面向对象编程(OOP)的…系列文章 C 系列 前篇 为什么学习C 及学习计划-CSDN博客 C 系列 第一篇 开发环境搭建WSL 方向-CSDN博客 C 系列 第二篇 你真的了解C吗本篇带你走进C的世界-CSDN博客 C 系列 第三篇 C程序的基本结构-CSDN博客 前言 面向对象编程(OOP)的本质就是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。如果正确做到了这一点将会发现以后使用数据时会容易得多。然而在创建自己的类型之前必须了解并理解 C内置的类型因为这些类型是创建自己类型的基本组件。 内置的 C类型分两组:基本类型和复合类型。本章将介绍基本类型即整数和浮点数。基础类型只有两种类型但 C知道没有任何一种整型和浮点型能够满足所有的编程要求因此对于这两种数据它提供了多种变体本章会分别进行介绍。而复合类型包括数组、字符串、指针和结构我们会在后续讲到。 整形 一句话概括整型Integer是一种数据类型用于表示整数值。 我们都知道整数是没有小数部分的数字如 1、100、-100 和 0。整数有很多如果将无限大的整数看作很大则不可能用有限的计算机内存来表示所有的整数。因此程序语言中的整形类型也只能是表示所有整数的子集即部分整数范围C基本延续了C的类型设计 提供好几种整数类型这样使用者能够根据程序的具体要求选择最合适的整型。 不同整型使用不同的内存量来存储整数。使用的内存量越大可以表示的整数值范围也越大。另外有的类型(符号类型)可表示正值和负值而有的类型(无符号类型)不能表示负值。       C的基本整型(按宽度递增的顺序排列)分别是char、short、int、long 和C11 新增的 long long其中每种类型都有符号版本和无符号版本因此总共有 10 种类型可供选择。 1、整型宽度 不同系统上同样的整形类型表达范围可能不一样比如同样都是int 有的系统 表示范围 只有-2^15 到 2^15 - 12字节宽度 而有的系统表示范围-2^31到 2^31 - 1 (4字节宽度)。但是对整形类型 有 统一的最小约束 1short 至少 16 位 2int 至少与 short 一样长 3long 至少 32 位且至少与 int 一样长 4 long long 至少 64 位且至少与 long 一样长 2、整型宽度计算 同C 一样,C 中也可以 使用sizeof 获取 类型 或 类型定义的变量如 int aa就是一个变量的宽度语法同C 中也完全一样 可以 “sizeof(类型)”  或者 “sizeof  变量” 或者 “sizeof(变量)”。 但是有一个需要注意的是sizeof 出来的是 “字节”的个数不同系统可能 表达字节 宽度有多少位也不一样比如有的用16位表示一个字节有的用8位表示一个字节。不过这些基本不用关心起码这么多年我是没碰到过现代大部分的系统还是8位字节表示法。 3、整形类型选择 C提供了这么多整型类型应使用哪种类型呢? 通常int 被设置为对目标计算机而言最为“自然”的长度。自然长度(naturalsize)指的是计算机处理起来效率最高的长度。如果没有非常有说服力的理由来选择其他类型则应使用int。现在来看看可能使用其他类型的原因。 1如果变量表示的值不可能为负如文档中的字数则可以使用无符号类型这样变量可以表示更大的值并且含义更准确。 2如果出于节省内存的考虑并且所要存储的数据使用short 或者 无符号的short 可以支撑那就选择short 。以经验来看只有大型整型数组时才有必要考虑更小尺寸的整型类型。 4、整型的字面值 整型字面值(常量)是显式地书写的常量如 100 或 1000。与 C 相同C能够以三种不同的计数方式来书写整数:基数为10 int a 10、基数为8(int a 012)和基数为16(int a 0x0A)。C使用前一(两)位来标识数字常量的基数。如果第一位为1~9则基数为 10(十进制)所以10是以 10 为基数的。如果第一位是 0第二位为 1~7则基数为 8(八进制) 因此 012 的基数是8它相当于十进制数10。如果前两位为0x或0X则基数为16(十六进制)因此0x0A的计数是16它相当于十进制数10。 5、如何确定整型常量的类型 cout Num 9527  \n ; 该程序将把 9527 存储为 int、long 还是其他整型呢? 答案是如下执行结果所示除非有理由存储为其他类型(如使用了特殊的后缀来表示特定的类型或者值太大不能存储为 int)否则 C将整型常量存储为int类型。 后缀是放在数字常量后面的字母用于表示类型。整数后面的 l 或 L 后缀表示该整数为 long 常量u或U后缀表示unsigned int 常量ul(可以采用任何一种顺序大写小写均可)表示unsigned long 常量(由于小写L 看上去像1因此应使用大写 L 作后缀)C11 引入了 long long 所以可以有 LL 、ll 、ULL、ull 的后缀。 各位要是有 C 编程经验的是否碰到过  long变量  1 33  结果不正确的时候 正确写法应该是  long变量  1UL 33 这里就不展开叙述了。 6、特殊类型 char 顾名思义char 类型是专为存储字符(如字母和数字)而设计的。现在存储数字对于计算机来说算不了什么但存储字母则是另一回事。编程语言通过使用字母的数值编码解决了这个问题。因此char 类型是另一种整型。它足够长能够表示目标计算机系统中的所有基本符号--所有的字母、数字、标点符号等。实际上很多系统支持的字符都不超过 128 个因此用一个字节就可以表示所有的符号。虽然char 最常被用来处理字符但也可以将它用做比 short更小的整型。 C char 的一些注意点 1不管什么类型其实在计算器内存里存储的都是数值char vlaue M 只是让使用代码的人便于理解、查看代码 2使用C的库iostream 输入输出字符 该库会自动识别数据类型转换输入和输出C语言则靠格式占位符如 printf(%d\n, ch); 来决定是输出字符 字面值 还是字符的值。 如下小示例可以看到 value 初始化成了字符M,直接打印输出为M 但其实把该字符变量值 赋值给一个int 类型变量输出int 类型的就是对应的ascii 码值同理使用cin 输入一个字符M, 然后再输出还是M,但是赋值给int 类型变量后直接输出 int 类型变量输出就是值了这个小代码充分说明了C 的iostream 对象中的 cout 、cin 等方法是会根据变量类型进行自动格式化输出的 3字符输出除了使用cout外 还可以使用cout.put(M); 或者cout.put(78); 方式进行输出但是注意该方式只能输出字符不能输出字符串。 C 语言中也有对应的函数如 putc() 函数。 4同C语言一样如果碰到不可打印的字符则使用转义如换行符\n。转义符同正常字符一样的使用方式如果是单独输出一个转义符使用单引号进行包含如果再字符串里同其他字符一起被输出则被双引号包含。 5C有基本的源字符集即可用来编写源代码的字符集。它由标准美国键盘上的字符(大写和小写)和数字、C 语言中使用的符号(如{和}以及其他一些字符(如换行符和空格)组成。还有一个基本的执行字符集它包括在程序执行期间可处理的字符(如可从文件中读取或显示到屏幕上的字符)。它增加了一些字符如退格和振铃。 C标准还允许实现提供扩展源字符集和扩展执行字符集。C有一种表示这种特殊字符的机制它独立于任何特定的键盘使用的是通用字符名(universal character name)。通用字符名的用法类似于转义序列。通用字符名可以以\u 或\U 打头。\u 后面是 4 个字符如\u0001\U后面则是 8 个字符(如\U00000001)。这些字符表示的是字符的ISO 10646 码点这个知道有这么回事就行后续用到了再细了解即可。 6char 的符号特性与int不同的是char 在默认情况下既不是没有符号也不是有符号。是否有符号由编译器实现决定这样编译器开发人员可以最大限度的将这种类型与硬件属性匹配起来。如果char有某种特定的行为对开发来说非常重要则可以显示的设置为signed char 或者 unsigned char。单现代大部分编译器char 就是无符号型的。 7wchar_t 程序需要处理的字符集可能无法用一个 8 位的字节表示如日文汉字系统。对于这种情况C的处理方式有两种。首先如果大型字符集是实现的基本字符集则编译器厂商可以将char定义为一个16位的字节或更长的字节。其次一种实现可以同时支持一个小型基本字符集和一个较大的扩展字符集。8 位char 可以表示基本字符集另一种类型wchart(宽字符类型)可以表示扩展字符集。wchar_t 类型是一种整数类型它有足够的空间可以表示系统使用的最大扩展字符集。这种类型与另一种整型(底层类型)的长度和符号属性相同。对底层类型的选择取决于实现因此在一个系统中它可能是unsigned short而在另一个系统中则可能是int。cin 和 cout 将输入和输出看作是char 流因此不适于用来处理 wchar_t 类型。iostream 头文件的最新版本提供了作用相似的工具--wcin 和 wcout可用于处理 wchar_t 流。 另外可以通过加上前缀 L 来指示宽字符常量和宽字符串。 如下可以看到在我的环境宽字符是int型的。 8char16_t 和char32_t C11 新增了这两种类型随着编程人员日益熟悉 Unicode类型wchar_t 显然不再能够满足需求。事实上在计算机系统上进行字符和字符串编码时仅使用 Unicode 码点并不够。具体地说进行字符串编码时如果有特定长度和符号特征的类型将很有帮助而类型wchar_t的长度和符号特征随实现而已。因此C11新增了类型char16_t和char32_t其中前者是无符号的长 16 位而后者也是无符号的但长 32 位。 C11 使用前缀u表示char16_t 字符常量和字符串常量如uC和ube good并使用前缀U表示char32_t常量如 UR和Udirtyrat。类型char16_t 与/u00F6 形式的通用字符名匹配而类型char32_t 与/U0000222B 形式的通用字符名匹配。与wchar_t 一样char16_t 和 char32_t 也都有底层类型-一种内置的整型但底层类型是随系统的。 7、bool 类型 C 和 C 语言将非零值解释为 true将零解释为 false。可以使用bool类型来表示真和假它们分别用预定义的字面值true 和false表示 。 浮点数 浮点数是 C的第二组基本类型。浮点数能够表示带小数部分的数字如 521.1314它们提供的值范围也更大如果数字很大无法表示为 long类型如人体的细菌数(估计超过100兆)则可以使用浮点类型来表示。 计算机将诸如1314.521 这样的浮点数分成两部分存储。一部分表示值另一部分用于对值进行放大或缩小。下面打个比方。对于数字34.1245 和34124.5它们除了小数点的位置不同外其他都是相同的。可以把第一个数表示为0.341245(基准值)和100(缩放因子)而将第二个数表示为0.341245(基准值相同)和 10000(缩放因子更大)。缩放因子的作用是移动小数点的位置术语浮点因此而得名。C内部表示浮点数的方法与此相同只不过它基于的是二进制数因此缩放因子是2 的幂不是 10 的幂。 浮点数的书写格式 C有两种书写浮点数的方式。 第一种是使用常用的标准小数点表示法:12.34 。 第二种表示浮点值的方法叫E表示法其外观是像这样的:3.45E6这指的是3.45 与 1000000 相乘的结果;E6 指的是 10 的 6 次方即 1 后面 6 个 0。因此3.45E6 表示的是 34500006 被称为指数3.45被称为尾数。 E表示法最适合于非常大和非常小的数。E 表示法确保数字以浮点格式存储即使没有小数点。注意既可以使用 E 也可以使用e指数可以是正数也可以是负数  。 浮点类型       和ANSI C 一样C也有 3 种浮点类型:float、double 和 long double。 这些类型是按它们可以表示的有效数位和允许的指数最小范围来描述的。有效位是数字中有意义的位。例如山脉的高度为14179 英尺该数字使用了 5 个有效位指出了最接近的英尺数。然而将Shasta 山脉的高度写成约14000 英尺时有效位数为2 位因为结果经过四舍五入精确到了千位。在这种情况下其余的3位只不过是占位符而已。有效位数不依赖于小数点的位置。例如可以将高度写成14.162千英尺。这样仍有 5个有效位因为这个值精确到了第 5位。 事实上C和C对于有效位数的要求是float 至少 32 位double 至少48位且不少于float,long double至少和 double 一样多。这三种类型的有效位数可以一样多。然而通常float 为 32 位 4个8位字节double 为 64 位long double 为 80、96 或128 位。另外这 3 种类型的指数范围至少是-37到37.可以从头文件cfloat 或 float.h中找到系统的限制。(cfloat 是 C 语言的float.h 文件的C版本。) 浮点常量 在程序中书写浮点常量的时候程序将把它存储为哪种浮点类型呢在默认情况下像8.24 和2.4E8这样的浮点常量都属于double 类型。如果希望常量为float 类型请使用f或F后缀。对于 long double 类型可使用l或 L 后缀(由于l看起来像数字1因此 L 是更好的选择)。 浮点数优缺点 与整数相比浮点数有两大优点。首先它们可以表示整数之间的值。其次由于有缩放因子它们可以表示的范围大得多。 缺点是浮点运算的速度通常比整数运算慢且精度将降低 如下就是一个精度降低的例子。该程序将数字加1然后减去原来的数字。结果应该为 1。但结果是0问题在于2.34E22 是一个小数点左边有 23 位的数字。加上1就是在第23 位加 1。但float 类型只能表示数字中的前 6 位或前 7 位因此修改第 23位对这个值不会有任何影响。 扩展小知识 6位或者7位 是怎么来的呢 浮点数的表示方式是使用 32 位4 字节来存储。其中1 位用于表示符号位8 位用于表示指数部分剩下的 23 位用于表示尾数部分。有效数字是指一个数中能够表达出来并且对结果有影响的数字的个数。在浮点数表示中尾数部分有 23 位意味着可以表示的尾数的精度为 23 位。2的23次方 是8388608十进制的7位  总结 C的基本类型分为两组:一组由存储为整数的值组成另一组由存储为浮点格式的值组成。 整型之间通过存储值时使用的内存量及有无符号来区分。 整型从最小到最大依次是:bool、char、signed charunsigned char、short、unsigned short、int、unsigned intlong、unsigned long 以及C11新增的long long和unsigned long long。还有一种 wchar_t 类型它在这个序列中的位置取决于实现。C11 新增了类型char16_t 和char32_t它们的宽度足以分别存储16 和 32 位的字符编码。 C确保了 char 足够大能够存储系统基本字符集中的任何成员而wchar_t 则可以存储系统扩展字符集中的任意成员short 至少为 16位而 int 至少与 short 一样长long 至少为 32 位且至少和 int 一样长。确切的长度取决于实现。字符通过其数值编码来表示。I/O系统决定了编码是被解释为字符还是数字。         浮点类型可以表示小数值以及比整型能够表示的值大得多的值。3 种浮点类型分别是 float、double 和long double.C确保 float 不比 double 长而 double 不比 long double 长。通常float 使用 32 位内存double使用64 位long double 使用80到128 位。         通过提供各种长度不同、有符号或无符号的类型C使程序员能够根据特定的数据要求选择合适的类型。
http://www.zqtcl.cn/news/44037/

相关文章:

  • asp.net做报名网站建立的读音
  • php网站建设情景忻州市城乡建设管理局网站
  • 贵州省住房和城乡建设部官方网站yellow片高清影视在线观看
  • 网站开发手机充值接口dedecms做微网站
  • 花生棒做网站品牌网站建设黑白I狼J
  • 网站作品nodejs网站毕设代做
  • 建设银行内部网站6有哪些可以做外链的网站
  • 电商网站经营性备案陕西省交通建设集团公司西商分公司网站
  • wordpress畅言评论使用教程企业网站seo实
  • 花瓣设计网站官网入口佛山模板网站建站
  • 网站关键词如何设置石家庄园林绿化建设招标网站
  • 网站建设方案书 模板wordpress 付费内容
  • 网站用cms网站建设管理要求
  • 专门做恐怖电影的网站网站建设人员培训
  • 简述jsp网站架构建设农业网站
  • 国外有没有做问卷调查的网站排名好的青岛网站建设
  • 展示型网站建设的建议cc0图片素材网站
  • 岱岳区网站设计做公司网站建设价格
  • 建筑公司网站建设建设三轮摩托车官网
  • h5网站建设功能计划表益阳市建设局网站
  • 网站引导页怎么设置网站维护企业
  • 江苏企业建站帝国cms使用教程
  • 网站顶部导航文件代码在吗新品怎么推广效果最好
  • 网站内链结构是什么上城区商城网站建设
  • 车陂手机网站开发宿迁装饰网站建设公司排名
  • 南京建设网站首页泊头那家做网站
  • 丽水市做网站的平台购物系统
  • 怎么做网站鹅蛋生蚝大学生网页设计作品
  • 教育直播网站开发建网站 绑定域名 网址
  • 天津网站制作哪家好薇制作公司网页英语作文