阳明拍卖公司网站如何查看一个网站的访问量
阳明拍卖公司网站,如何查看一个网站的访问量,深圳网站建设968,114黄页企业名录在哪里买C语言数据类型与常量变量#xff1a;构建程序的基础材料
一、数据类型概述
C语言是一种强类型语言#xff0c;这意味着所有的数据都必须具有某种数据类型#xff0c;并且在使用前必须先声明。C语言提供了丰富的数据类型#xff0c;可以分为以下几大类#xff1a;类别说明基…C语言数据类型与常量变量构建程序的基础材料一、数据类型概述C语言是一种强类型语言这意味着所有的数据都必须具有某种数据类型并且在使用前必须先声明。C语言提供了丰富的数据类型可以分为以下几大类类别说明基本数据类型整型、浮点型、字符型构造数据类型数组、结构体、共用体指针类型用于存储内存地址空类型void类型本章我们将详细介绍整型、浮点型和字符型这三种基本数据类型。二、整型数据类型2.1 整型的分类C语言的整型可以分为有符号型和无符号型两大类有符号型说明无符号型说明int基本整型unsigned int无符号基本整型short (int)短整型unsigned short (int)无符号短整型long (int)长整型unsigned long (int)无符号长整型long long (int)长长整型unsigned long long (int)无符号长长整型2.2 有符号数与无符号数的区别对于有符号数存储单元的最高位用来存储符号0表示正数1表示负数。对于无符号数存储单元的全部二进制位都用来表示数值不包含符号位。重要区别// 有符号整型可以存储负数inta-10;shortb-5;longc1000;// 无符号整型只能存储非负数unsignedintd10;unsignedshorte5;在默认情况下整型是有符号的。如果要表示无符号整型需要显式地加上unsigned关键字。2.3 整型数据的大小与范围整型类型所占的空间和范围并不是固定的在不同的软硬件平台和编译系统中可能有所不同。以典型的32位系统为例类型大小取值范围int4字节-2147483648 ~ 2147483647unsigned int4字节0 ~ 4294967295long4字节与int相同Windows或更大Linuxlong long8字节约±9.2×10^182.4 sizeof运算符sizeof是C语言中的一个重要运算符用于计算数据类型或变量所占用的字节数。需要特别注意sizeof不是函数而是一个单目运算符。#includestdio.hintmain(){printf(int占 %zu 字节\n,sizeof(int));printf(long占 %zu 字节\n,sizeof(long));printf(short占 %zu 字节\n,sizeof(short));printf(char占 %zu 字节\n,sizeof(char));inta;printf(变量a占 %zu 字节\n,sizeof(a));return0;}sizeof的特性它是一个运算符不是函数可以作用于数据类型如sizeof(int)也可以作用于变量如sizeof(a)在编译时确定结果而不是运行时返回值类型是size_t无符号整型使用%zu格式输出2.5 整型常量整型常量就是我们在代码中直接写的整数如0、8848、-100等。C语言允许使用不同的进制表示整型常量inta100;// 十进制intb0144;// 八进制以0开头intc0x64;// 十六进制以0x或0X开头intd0b1100100;// 二进制C99标准支持以0b开头2.6 原码、反码与补码计算机中整数是用补码形式存储的。理解原码、反码和补码对于理解整数的表示至关重要。原码原码是最直接的表示方法最高位为符号位0表示正1表示负其余位表示数值的二进制表示。例如5的原码是00000101-5的原码是10000101。反码正数的反码与原码相同。负数的反码是符号位不变其余各位取反。例如-5的反码是11111010。补码正数的补码与原码相同。负数的补码是反码加1。例如-5的补码是11111011。为什么使用补码补码的最大好处是可以统一处理加法和减法。用加法器就可以实现减法极大地简化了CPU的设计。2.7 整数的二进制表示以4位二进制数为例十进制原码反码补码5010101010101-51101101010110000000000000-0100011110000注意0的补码是唯一的这就是为什么补码能比原码和反码多表示一个数。三、浮点型数据类型3.1 浮点型的分类C语言提供三种浮点类型类型说明典型精度float单精度浮点型约6-7位有效数字double双精度浮点型约15-16位有效数字long double扩展精度浮点型更高精度3.2 浮点型常量浮点型常量有两种表示形式十进制形式3.14// 普通十进制0.99// 可以写成.990.0// 整数部分为0时可以省略指数形式科学计数法9.63406e6// 表示 9.63406 × 10^61.5E-3// 表示 1.5 × 10^-3注意字母E或e前面必须是浮点数E后面必须是整数。3.3 浮点数的内部表示浮点数在计算机中按照IEEE 754标准存储。以float为例分为三个部分符号位1位0表示正数1表示数指数位8位存储偏移后的指数尾数位23位存储有效数字这种表示方法使得浮点数可以表示很大或很小的数值但精度是有限的。3.4 浮点数比较的注意事项由于浮点数的精度问题直接使用比较两个浮点数是否相等是不安全的// 错误的比较方式if(a3.14)// 可能永远为假// 正确的比较方式设置一个误差范围if(fabs(a-3.14)0.0001)// fabs是求绝对值的函数四、字符型数据类型4.1 字符型的本质在C语言中char类型实际上是一种整数类型用于存储单个字符。字符在内存中存储的是其ASCII码值。charcA;// 存储的是65chard97;// 与 char d a 等价4.2 重要的ASCII码字符ASCII码‘\0’空字符0‘0’数字048‘A’65‘Z’90‘a’97‘z’1224.3 转义字符有些字符无法直接表示需要使用转义序列转义字符含义\n换行\t制表符\r回车\反斜杠\’单引号\双引号\0空字符五、常量与变量5.1 常量常量是程序执行过程中值不改变的量。C语言中有多种常量整型常量100,-50,0// 十进制0144// 八进制0x64// 十六进制浮点型常量3.14,-2.5,1.0e-5字符常量A,0,\n字符串常量Hello, World!,C Language注意字符常量用单引号字符串常量用双引号。符号常量使用#define定义的常量称为符号常量#definePI3.14159#defineMAX_SIZE100// 使用时直接使用名字floatareaPI*r*r;符号常量在预处理阶段会被替换为对应的值。5.2 变量变量是存储数据的容器其值可以在程序执行过程中改变。变量定义intage;// 定义一个整型变量floatscore;// 定义一个单精度浮点变量chargrade;// 定义一个字符变量doublesalary;// 定义一个双精度浮点变量变量初始化变量定义时最好进行初始化inta10;// 定义并初始化floatb3.14;charcA;变量命名规则只能由字母、数字和下划线组成第一个字符不能是数字不能使用C语言的保留字区分大小写变量名中不能有空格良好的命名习惯// 推荐使用有意义的名称intstudentAge;floataverageScore;charuserName[20];inttotalCount;// 避免过于简单或无意义的名称inta,b,c;intx1,x2;六、本章小结本章我们详细介绍了C语言的基本数据类型整型包括int、short、long、long long以及对应的无符号类型浮点型包括float、double、long double注意精度问题字符型char类型本质是整数类型常量与变量学会了如何定义和使用常量与变量这些数据类型是C语言的基础在后续的章节中我们将学习如何运用这些数据类型进行更复杂的运算和程序设计。下一章预告我们将学习C语言的运算符与表达式这是进行计算和控制程序流程的基础。