红色风格网站,wordpress文件下载页面,h5页面有哪些,高端网站制作多少钱本章内容包括#xff1a;C变量的命名规则。C内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。C11新增的整型#xff1a;unsigned long long 和long long。表示各种整型的数字字面值(常量)使用const…本章内容包括C变量的命名规则。C内置的整型----unsigned long、long、unsigned int、int、unsigned short、short、char、unsigned char、singed char 和boot。C11新增的整型unsigned long long 和long long。表示各种整型的数字字面值(常量)使用const限定符来创建符号常量。C内置的浮点类型float、double和long double。表示各种浮点类型的系统限制的cfloat文件。表示浮点类型的数字字面值。C的算术运算符。自动类型转换。强制类型转换。面向对象编程(OOP)的本质是设计并扩展自己的数据类型。设计自己的数据类型就是让类型与数据匹配。内置的C类型分两组基本类型和符合类型。本章将介绍基本类型即整数和浮点数。表示存储的数据的方法使用变量。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 longC确保这些类型的最小长度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运算符返回类型或变量的长度对类型名将名称放在括号中对变量名括号是可选的。egsizeof(int); sizeof n_short;7.头文件climits定义了表示各种限制的符号名称比如 INT_MAX8.#define INT_MAX 32767 中#define是一个预处理器编译指令它查找独立的token(单独的单词)跳过嵌入的单词进行替换9.变量初始化的三种方式int owls 101; // 来自C语言int wrens(432); // C方式int hamburgers {24}; //C11初始化方式用于数组或结构也可用于单值变量10.C11初始化方式int a{2};//a2int b {3};//b3int c{};//c0int d {};//d0C11使得可将大括号初始化器用于任何类型(可以使用等号也可以不使用)这是一种通用的初始化语法。3.1.4 无符号类型1.优点增大变量能够存储的最大值2.使用使用关键字unsigned(unsigned int的缩写)3.典型的整型溢出行为3.1.5 选择整型类型1.int被设置为目标计算机的自然长度(natural size指的是计算机处理起来效率最高的长度)2.如果没有非常有说服力的理由则选择int3.如果变量表示的值不可能为负则使用无符号类型4.如果知道可能表示的整数值大于16位证书的额最大可能值则使用long5.如果存储的值操作20亿则使用long long6.当有大型整型数组或节省内存很重要时才使用short3.1.6 整型字面值1.十进制第一位是1~92.八进制第一位是03.十六进制前两位是0x或0X4.虽然有不同的表示方式但是都将以相同的方式(二进制数) 存储在计算机中5.控制符oct或hex实际上是一条消息告诉cout采取何种行为int a 10;//输出八进制cout 3.1.7 C如何确定常量的类型1.除非有理由(使用特殊后缀或者值太大)存储为其他类型否则默认将整型常量存为int2.首先看后缀longl/L后缀unsigned intu/U 后缀unsigned longul/uL/Ul/UL后缀long long 和 unsigned long long 同理3.其次看长度对于不带后缀的十进制整数的考虑顺序int 、long、long long对于不带后缀的十六进制或八进制整数的考虑顺序int、unsigned int、unsigned long、long long、unsigned long long3.1.8 char类型字符和小整数1.存储字母通过字母的数值编码解决问题2.char用来处理字符也可以用做比short更小的整型3.cin和cout的转化作用根据变量类型输入和输出字符类型4.C对字符使用单引号对字符串使用双引号5.cout.put(字符常量/字符变量) 函数作用显示一个字符是ostream的一个成员函数句号是成员运算符历史缘故cout在CRelease 2.0之前cout将字符变量显示为字符而将字符常量显示为数字6.char字面值常规字符使用单引号括起非常规字符(比如单引号)使用转义字符()转义可以使用数字转义序列或字符转义序列(比如 0x8和b都表示退格)7.通用字符名C支持一个基本的源字符集即可用来编写源代码的字符集C标准还允许实现提供扩展源字符集和扩展执行字符集C提供一种表示特殊字符的机制独立于任何特定的键盘使用通用字符名(universal character name)u 8个十六进制位U 16个十六进制位8.signed char和unsigned charchar在默认情况下既不是有符号也不是没有符号的是否有符号由C实现决定signed char范围-128~127unsigned char范围0~2559.wchar_t解决的问题程序需要处理的字符集无法使用一个8位的字节表示解决方法1如果大型字符集是实现的基本字符集那么编译器厂商可以将char定义为一个16位字节或者更长的字节解决方法2使用wchar_t (宽字符类型)底层的类型取决于C实现可能是unsigned short或int等wcin和wcout可以处理wchar_t流加上前缀L来指示宽字符常量和宽字符串(如Ltall)10.C 11新增类型char16_t 和 char32_t解决的问题Unicode的普及对特定长度和符号特征的类型的需要而wchar_t随实现而不同使用前缀u指示char16_t无符号长16位使用前缀指示32_t有符号长32位3.1.9 bool类型1.C将非零值解释为true将零解释为false2.任何数字值或指针值都就可以被隐式转换为bool值3.2 const限定符符号常量的表示名称首字母大写整个名称大写使用前缀k......如果声明常量时没有提供值则该常量的值将是不确定的且无法修改的。const较#define的优点能够明确指定类型可以用使用C的作用域规则将定义限定在特定的函数或文件中可以将const用于复合类型ANSI C和C中const的区别作用域规则C中可以用const值声明数组长度3.3 浮点数小数带小数部分的数字分两部分存储一部分表示值另一部分表示缩放因子(用来移动小数点的位置)。3.3.1 书写浮点数1.标准小数点表示法2.E表示法d.dddEn表示将小数点向右移动n位d.dddE-n表示将小数点向坐移动n位3.3.2 浮点类型1.C有3中浮点类型float、double、long double2.表示有效数位允许的指数最小范围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 除法分支除法运算符()的行为取决于操作数的类型3.4.3 求模运算符求模运算符(%)返回整数除法的余数3.4.4 类型转换自动类型转换的情况将一种算术类型的值赋给另一种类型的变量表达式中包含不同的类型将参数传递给函数时#1初始化和赋值进行的转换#2以{}方式初始化(列表初始化)时进行的转换(C11)列表初始化不允许缩窄#3表达式中的转换#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 C11中的auto声明让编译器根据初始值的类型推断变量的类型一般用于处理复杂类型比如STL中的类型