百度SEO

百度SEO

Products

当前位置:首页 > 百度SEO >

如何自学制作中国数据网站的3D动画?

96SEO 2026-02-20 04:51 25


7.2

字符类型字符被当做整数来操作转义序列大小写转换scanf和printf读/写字符getchar和putchar读写字符

如何自学制作中国数据网站的3D动画?

7.4

类型转换类型转换的必要性发生隐式转换的情况常规算术转换赋值时的转换强制类型转换

7.5

6种整数类型如何确定整数类型的范围编译器如何确定整型常量的范围整数溢出时的行为读写整数的转换说明符浮点数的范围数字转义序列getchar的惯用法需要类型转换的原因会发生隐式转换发生的4个情况常规算数转换和赋值转换的规则强制类型转换的应用typedef的优点sizeof的2个注意事项

基本类型

最左边带符号位的是有符号整数。

正数或0的符号位是0负数的符号位是1。

不带符号位的整数是无符号整数最左边的位也是数值的一部分。

无符号整数主要用于系统编程和底层与机器相关的应用。

C语言的整数默认都是有符号的。

如果要告诉编译器变量没有符号位需要把它声明为unsigned类型。

除了int外C语言还提供了长整型和短整型用来存储大数或存小数节省空间。

为了使构造的整数类型满足需要可以指明变量是long类型或short类型signed类型或unsigned类型。

也能把说明符组合起来产生以下6种不同的类型

short

为了满足对超大型整数的需求和适应64位的处理器C99提供了long

long

int0232-132位机类型最小值最大值:----:----::----:short

int-215215-1unsigned

int0232-164位机类型最小值最大值:----:----::----:short

int-215215-1unsigned

C标准库有limits.h头其中定义了每种整数类型的最大值和最小值的宏可以用它来确定某个实现中整数类型的范围。

long

十进制常量包含0~9的数字但是不能以0开头。

八进制常量包含0~7的数字必须以0开头。

十六进制常量包含09的数字和af的字母总是以0x开头。

字母大写或小写都可以。

int也不够则用unsigned

int中可表示该值的最小类型。

对于八进制和十六进制常量类型判定顺序为int、unsigned

int、long

在常量后面加上字母L或l可以强制编译器把常量做为长整数处理。

在常量后加U或u可以指定无符号常量。

L和U可以结合使用。

long

对两个int进行算数运算时结果必须仍然可以用int表示否则就会发生溢出。

有符号整数溢出的行为是未定义的。

可能只是运算出错也可能程序崩溃。

无符号整数溢出时结果是正确值对2n取模。

n是存储结果的位数。

读/写整数

%d只适用于int类型。

无符号整数使用%u、%o、%x分别表示十进制、八进制、十六进制。

短整数在d、o、u、x前面加上h长整数在d、o、u、x前面加上l长长整数(C99)在d、o、u、x前面加上ll

unsigned

显示长长整型%x和%o只适合用于显示无符号整数或正数。

因为printf会假设被转换的数值是无符号的如果符号位为1会显示一个预期外的大数。

显示负数的八进制或十六进制的情况很少。

需要显示时可以自己输出一个负号。

7.2

C语言的浮点数格式有三种float单精度浮点数double双精度浮点数long

IEEE标准提供了单精度和双精度的格式标准。

单精度32位双精度64位。

数值义科学计数法存储每个数由符号、指数和小数组成。

指数部分表示数值的可能大小小数部分的位数表示精度。

单精度数指数占8位小数占23位。

单精度数可以表示的最大值是由指数决定的指数范围-126到127(-127和128有特殊用途)指数最大是212732位小数位都是1时底数最大最大底数约等于2。

所以单精度数可表示的最大值为

浮点常量

浮点常量必须包含小数点或指数。

如果有指数需要在指数值前面加字母e或E。

默认情况下浮点常量以double的形式存储在需要时可以自动转为float。

为了让编译器以float格式存储可以在常量的末尾加上字母F或f要以long

C语言默认倾向于使用精度更高的double类型。

用float类型是为了节省空间和时间。

读/写浮点数

printf中e、f、g既可以写float也可以写double。

C99允许printf函数使用%le%lf和%lg但是字母l不起作用。

scanf和printf函数有可变长度的参数列表。

调用可变长度的参数列表时编译器会把float参数自动转成double类型。

这导致printf无法区分float和double所以%f在printf中既可以表示float又可以表示double。

而scanf是读取的值要通过指针传给变量%f和%lf必须区别开才能正确存储对应的字节数。

double

ld);十六进制浮点常量以0x或0X开头且必须包含指数(跟在字母p或P后面)。

指数以十进制表示可以为负代表2的幂。

如0x1.Bp3表示1.6875

2^3^

十六进制浮点常量主要用于指定精度要求较高的浮点常量。

十进制数在转为二进制时可能受到舍入误差的影响而十六进制有精确的二进制表示。

7.3

目前最常用的字符集是美国信息交换标准码(ASCII)字符集。

它使用7位代码来表示128个字符。

char类型的变量可以用任意的单个字符赋值。

赋值时字符常量需要使用单引号括起来不能用双引号。

字符被当做整数来操作

计算中出现字符时C语言只是使用它对应的整数值。

可以像比较数字那样对字符进行比较。

以数字的方式处理字符的坏处是编译器无法发现处理过程中的编程错误。

程序在使用不同字符集的机器上也可能会不兼容。

C标准没有规定char类型的数据是有符号还是无符号型。

有些编译器把它们当做有符号型来处理有些编译器当做无符号型处理。

为了保证可移植性不要假设char类型默认是signed或unsigned。

在需要作区别的时候使用signed

char或unsigned

声明为char的变量存储的字符如果只有7位长度不需要考虑其符号。

如果有8位长度许多编译器会把它当做有符号的字符来处理。

后面这个变量只作为字符使用就不会有问题但是如果需要转换为整数就可能会有问题(结果为负数)。

转义序列

一些特殊字符无法用键盘输入或不可见。

使用转义序列可以让程序处理字符集中的每一个字符。

转义序列有两种字符转义序列和数字转义序列

字符转义序列说明\a警报符\b回退符\f换页符\n换行符\r回车符\t水平制表符\v垂直制表符\\反斜杠?问号’单引号双引号

字符转义序列很易使用但是只包含了最常用的字符。

有些无法打印的字符和ASCII码以外的字符没有被包含在内。

数字转义序列

使用八进制做转义序列时由字符\和跟在后面的最多含3位数字的八进制数组成。

如\33或\033。

int

a);printf(\141\n);printf(\x61\n);return

a八进制和十六进制转义序列表示的数必须为无符号数所以八进制值最大为377。

标准C对十六进制数的位数没有限制在字符长度为8位时十六进制值最大为FF。

大小写转换

ch);scanf在读取数值时会自动跳过空白符但是读取字符时不会。

为了强制它读入字符前跳过空白字符可以在转换说明的前面加一个空格

scanf(

ch);scanf不跳过空白符的特性可以用来检查是否是输入行的结尾。

getchar和putchar读写字符

getchar读入一个字符并返回。

putchar输出单个字符。

getchar和putchar的执行速度比scanf和printf要快。

因为不需要考虑数据的不同格式而且getchar和putchar是做为宏实现的。

scanf函数的返回值一般是1。

而getchar函数返回的是读取到的字符。

由此getchar能很方便的应用在需要对字符做条件判断的地方。

scanf实现

混用scanf和getchar时由于scanf会把没有消耗的任意字符留下getchar取到的字符可能不是希望的结果

printf(Enter

C语言允许在表达式中混合使用基本类型。

而计算机执行算术运算时要求操作数有相同的位数和相同的存储方式。

C编译器会自动生成一些指令把操作数转换为合适的类型这样表达式才能被硬件计算。

这种编译器自动处理的转换称为隐式转换。

而由程序员使用强制运算符执行的是显式转换。

算术表达式或逻辑表达式中的操作数类型不同(常规算术转换)赋值表达式右侧表达式的类型和左侧变量的类型不匹配函数调用的实参类型和形参类型不匹配return语句中表达式类型和函数返回值类型不匹配。

常规算术转换

常规算术转换会把两个操作数转换为可以安全地适用于两个数值的存储位数最小的类型。

通常是把存储位数较少类型的操作数转换为另一个操作数的类型。

这种操作称为提升。

按float-double-long

double的顺序对存储位数小的操作数做提升。

两个操作数都不是浮点类型

先把两个操作数进行整值提升(确保没有字符型或短整型操作数)然后按int-unsigned

int-llong

有符号操作数和无符号操作数混用时有符号操作数会转换为无符号的值。

转换过程会加上或者减去n1的倍数。

n是无符号整数可表示的最大值。

实际编程时要避免使用无符号整数更不要和有符号整数混用。

int

}C99中增加了一些新的类型转换规则也有变化。

它先规定了整数类型的转换等级

(最高)long

C99在任一操作数是浮点类型时规则同上。

在两个操作数都不是浮点类型时依次执行以下判定

先把转换等级低于int和unsigned

int如果这时两个操作数类型相同就结束转换如果都是有符号型或都是无符号型把转换等级低的操作数转换为等级高的操作数类型如果无符号操作数等级高于或等于有符号操作数转为无符号操作数的类型如果有符号操作数的类型可以表示无符号操作数类型的所有值转为有符号操作数的类型其他情况都转换为与有符号操作数的类型对应的无符号类型。

浮点数赋值给整型变量时小数部分丢失过大的值赋值给存储位数较小的类型变量时会得到无意义的结果。

强制类型转换

表达式C语言把(类型名)视为一元运算符其优先级高于二元运算符。

float

可以使用typedef定义新的类型避免使用int或其他可能因机器而变化的类型声明。

这样在需要更改更大的数据类型时很方便但是要修改转换说明(如%d改为%ld)依然很麻烦。

C语言库使用typedef为可能因实现而不同的类型创建类型名这些类型名一般以_t结尾。

C99的stdint.h头中使用typedef定义占用特定位数的整数类型名。

如int32_t是占用32位的有符号整型。

比宏定义更好用

函数体内typedef定义的名称在函数体外是不识别的。

而宏的名称会在任何出现的地方被替换。

7.6

sizeof(类型名)返回值是一个无符号整数表示存储某个类型的字节数。

sizeof用于表达式时不需要加圆括号但是它做为一元运算符优先级比二元运算符高使用时为了方便理解最好加上圆括号。

sizeof

在C89中最好在转换前把表达式的值转换为一种已知类型并在显示时使用对应的转换说明符。

C99中的printf可以直接显示size_t的值不发生强制转换方法是在转换说明中使用字母z

printf(%zu\n,

sizeof(int));C99引入了变长数组编译器不能用sizeof确定变长数组的大小。



SEO优化服务概述

作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。

百度官方合作伙伴 白帽SEO技术 数据驱动优化 效果长期稳定

SEO优化核心服务

网站技术SEO

  • 网站结构优化 - 提升网站爬虫可访问性
  • 页面速度优化 - 缩短加载时间,提高用户体验
  • 移动端适配 - 确保移动设备友好性
  • HTTPS安全协议 - 提升网站安全性与信任度
  • 结构化数据标记 - 增强搜索结果显示效果

内容优化服务

  • 关键词研究与布局 - 精准定位目标关键词
  • 高质量内容创作 - 原创、专业、有价值的内容
  • Meta标签优化 - 提升点击率和相关性
  • 内容更新策略 - 保持网站内容新鲜度
  • 多媒体内容优化 - 图片、视频SEO优化

外链建设策略

  • 高质量外链获取 - 权威网站链接建设
  • 品牌提及监控 - 追踪品牌在线曝光
  • 行业目录提交 - 提升网站基础权威
  • 社交媒体整合 - 增强内容传播力
  • 链接质量分析 - 避免低质量链接风险

SEO服务方案对比

服务项目 基础套餐 标准套餐 高级定制
关键词优化数量 10-20个核心词 30-50个核心词+长尾词 80-150个全方位覆盖
内容优化 基础页面优化 全站内容优化+每月5篇原创 个性化内容策略+每月15篇原创
技术SEO 基本技术检查 全面技术优化+移动适配 深度技术重构+性能优化
外链建设 每月5-10条 每月20-30条高质量外链 每月50+条多渠道外链
数据报告 月度基础报告 双周详细报告+分析 每周深度报告+策略调整
效果保障 3-6个月见效 2-4个月见效 1-3个月快速见效

SEO优化实施流程

我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:

1

网站诊断分析

全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。

2

关键词策略制定

基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。

3

技术优化实施

解决网站技术问题,优化网站结构,提升页面速度和移动端体验。

4

内容优化建设

创作高质量原创内容,优化现有页面,建立内容更新机制。

5

外链建设推广

获取高质量外部链接,建立品牌在线影响力,提升网站权威度。

6

数据监控调整

持续监控排名、流量和转化数据,根据效果调整优化策略。

SEO优化常见问题

SEO优化一般需要多长时间才能看到效果?
SEO是一个渐进的过程,通常需要3-6个月才能看到明显效果。具体时间取决于网站现状、竞争程度和优化强度。我们的标准套餐一般在2-4个月内开始显现效果,高级定制方案可能在1-3个月内就能看到初步成果。
你们使用白帽SEO技术还是黑帽技术?
我们始终坚持使用白帽SEO技术,遵循搜索引擎的官方指南。我们的优化策略注重长期效果和可持续性,绝不使用任何可能导致网站被惩罚的违规手段。作为百度官方合作伙伴,我们承诺提供安全、合规的SEO服务。
SEO优化后效果能持续多久?
通过我们的白帽SEO策略获得的排名和流量具有长期稳定性。一旦网站达到理想排名,只需适当的维护和更新,效果可以持续数年。我们提供优化后维护服务,确保您的网站长期保持竞争优势。
你们提供SEO优化效果保障吗?
我们提供基于数据的SEO效果承诺。根据服务套餐不同,我们承诺在约定时间内将核心关键词优化到指定排名位置,或实现约定的自然流量增长目标。所有承诺都会在服务合同中明确约定,并提供详细的KPI衡量标准。

SEO优化效果数据

基于我们服务的客户数据统计,平均优化效果如下:

+85%
自然搜索流量提升
+120%
关键词排名数量
+60%
网站转化率提升
3-6月
平均见效周期

行业案例 - 制造业

  • 优化前:日均自然流量120,核心词无排名
  • 优化6个月后:日均自然流量950,15个核心词首页排名
  • 效果提升:流量增长692%,询盘量增加320%

行业案例 - 电商

  • 优化前:月均自然订单50单,转化率1.2%
  • 优化4个月后:月均自然订单210单,转化率2.8%
  • 效果提升:订单增长320%,转化率提升133%

行业案例 - 教育

  • 优化前:月均咨询量35个,主要依赖付费广告
  • 优化5个月后:月均咨询量180个,自然流量占比65%
  • 效果提升:咨询量增长414%,营销成本降低57%

为什么选择我们的SEO服务

专业团队

  • 10年以上SEO经验专家带队
  • 百度、Google认证工程师
  • 内容创作、技术开发、数据分析多领域团队
  • 持续培训保持技术领先

数据驱动

  • 自主研发SEO分析工具
  • 实时排名监控系统
  • 竞争对手深度分析
  • 效果可视化报告

透明合作

  • 清晰的服务内容和价格
  • 定期进展汇报和沟通
  • 效果数据实时可查
  • 灵活的合同条款

我们的SEO服务理念

我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。

提交需求或反馈

Demand feedback