10.26学习
1.整形的定义和输出
在C语言中,整形(Integer)是一种基本数据类型,用于存储整数。整形变量可以是正数、负数或零。在定义和输出整形变量时,需要注意以下几点:
①定义整形变量:
使用 int 关键字定义整型变量。
可以指定整形变量的初始值。
例如: int number = 10;
②整型的分类:
C语言中有几种不同的整型类型,包括 short int (短整型)、 int (整型)、 long int (长整型)和 long long int (长长整型)。
还有无符号整型 unsigned int ,它只能存储非负整数。
③整型的取值范围:
不同的整型类型有不同的取值范围。例如, int 通常占用4个字节(32位),其取值范围通常是-2,147,483,648到2,147,483,647(取决于编译器和系统架构)。
short int 通常占用2个字节, long int 可能占用4个字节或8个字节,而 long long int 通常占用8个字节。
④输出整形变量:
使用 printf 函数输出整型变量时,使用 %d 或 %i 格式说明符。
例如: printf("%d", number);
⑤格式化输出:
可以通过在 printf 函数中使用格式化选项来控制输出的格式,例如设置宽度、填充字符、对齐方式等。
例如: printf("%5d", number); 会在输出时至少占用5个字符的宽度,如果数字不足5位,则左侧填充空格。
⑥整数溢出:
当整数值超出其类型所能表示的范围时,会发生溢出。
例如,对于 int 类型的变量,如果其值超过2,147,483,647,会发生溢出,导致不正确的结果。
⑦整型提升:
在表达式中,较小的整型可能会被提升为较大的整型,以避免精度损失。
例如, int 和 char 类型的变量在算术运算中可能会被提升为 int 类型。
⑧整型字面量:
可以使用后缀 L 或 l (大写或小写)来表示长整型字面量,例如 123L 。
使用后缀 LL 或 ll 来表示长长整型字面量,例如 123LL 。
⑨整型转换:
当将一个较大的整型赋值给一个较小的整型时,可能会发生截断,即超出部分会被丢弃。
例如,将 long long int 类型的值赋给 int 类型的变量时,如果该值超出了 int 的范围,就会发生截断。
⑩整型的位操作:
整型变量可以进行位操作,如位与(&)、位或(|)、位异或(^)、位非(~)和位移操作。
在编写C语言程序时,了解这些基本的整型操作和注意事项是非常重要的,以确保程序的正确性和效率。
2.变量和常量
在编程中,变量和常量是两种基本的数据类型,它们有以下不同点:
①存储的数据是否可以改变:
变量:变量是可以改变其值的标识符。在程序运行过程中,可以根据需要对变量重新赋值。
常量:常量是不可改变其值的标识符。一旦被赋值,其值在程序的整个生命周期内保持不变。
②定义方式:
变量:在C语言中,变量通常使用 int 、 float 、 char 等数据类型关键字来定义。
常量:在C语言中,常量可以用 const 关键字定义,或者使用预处理器指令 #define 来定义宏常量。
③内存分配:
变量:变量在内存中分配了存储空间,可以在程序运行时改变其值。
常量:常量通常在编译时就确定了其值,并且可能被编译器优化,不一定会分配内存空间。
④使用场景:
变量:用于存储程序运行过程中需要变化的数据。
常量:用于存储那些在程序运行过程中不需要改变的数据,比如配置参数、数学常数(如π)、固定算法中的系数等。
⑤编译器优化:
变量:由于变量的值可能会改变,编译器在优化代码时需要考虑到这一点。
常量:由于常量的值不会改变,编译器可以进行更多的优化,例如常量折叠(constant folding),将常量表达式在编译时计算并替换。
⑥作用域:
变量:变量的作用域取决于其定义的位置,可以是局部的(在函数或代码块内定义)或全局的(在所有函数之外定义)。
常量:使用 const 定义的常量具有与变量相同的作用域规则,而宏常量(使用 #define 定义)在整个文件中都是可见的。
⑦类型:
变量:变量可以是任何数据类型,包括基本数据类型(如 int 、 float )和复合数据类型(如数组、结构体)。
常量:常量可以是基本数据类型的值,也可以是复合数据类型的值,但它们不能是复合数据类型的实例(例如,不能定义一个常量数组)。
⑧调试和维护:
变量:由于变量的值可以改变,调试时可能需要跟踪变量的值变化。
常量:由于常量的值不变,调试时更容易确定其值,有助于减少错误和提高代码的可维护性。
在编程实践中,合理使用变量和常量可以提高代码的可读性、可维护性和性能。
3.字符型
在C语言中,字符型数据类型用于存储单个字符。主要的字符型数据类型包括:
①char:
这是最基本的字符型数据类型,用于存储单个字符。
char 类型的变量可以存储一个字符,并且通常占用1个字节(8位)。
例如: char letter = 'A';
②signed char:
这是有符号的字符型数据类型,可以存储-128到127的值(在1个字节的系统中)。
signed char 确保字符型变量被视为有符号整数。
例如: signed char signedLetter = 'A';
③unsigned char:
这是无符号的字符型数据类型,可以存储0到255的值(在1个字节的系统中)。
unsigned char 确保字符型变量被视为无符号整数。
例如: unsigned char unsignedLetter = 'A';
在C语言中, char 类型的变量默认是有符号的,但是它的范围取决于编译器和系统的架构。在某些系统上, char 可能是无符号的,因此,如果你需要确保字符型变量是有符号或无符号的,应该使用 signed char 或 unsigned char 。
字符型变量不仅可以存储字母、数字和符号,还可以存储任何整数值,其中每个整数值对应于字符集中的一个字符(如ASCII)。例如, 'A' 的ASCII值是65,所以 char 类型的变量可以存储65,并在需要时被解释为字符'A'。
此外,字符型字面量在C语言中用单引号括起来,以区别于字符串字面量,后者用双引号括起来。例如, 'A' 是字符型字面量,而 "A" 是字符串字面量。字符串字面量实际上在内存中是以字符数组的形式存储的,以空字符 \0 结尾。
4.浮点型
主要的浮点型数据类型
①float:
这是最基本的浮点型数据类型,用于存储单精度浮点数。
float 类型的变量通常占用4个字节(32位),并遵循IEEE 754标准。
例如: float f = 1.23;
②double:
这是双精度浮点型数据类型,用于存储双精度浮点数。
double 类型的变量通常占用8个字节(64位),并遵循IEEE 754标准。
例如: double d = 1.23;
③long double:
这是扩展精度浮点型数据类型,用于存储比 double 更高精度的浮点数。
long double 类型的变量所占的字节数和精度取决于编译器和系统架构,但通常至少和 double 一样大。
例如: long double ld = 1.23;
浮点型变量的存储和表示遵循IEEE 754标准,该标准定义了浮点数的存储格式,包括符号位、指数位和尾数位。这种格式允许浮点数表示非常大或非常小的数值,并且可以表示非整数的实数。
在C语言中,浮点型字面量通常不指定类型,编译器会根据字面量的位数和精度来决定其类型。例如, 1.23 可以被存储为 float 或 double 类型,具体取决于编译器的默认设置和字面量的精度。如果需要明确指定浮点型字面量的类型,可以在字面量后面加上后缀:
f 或 F 表示 float 类型,例如: 1.23f 。
l 或 L 表示 long double 类型,例如: 1.23L 。
需要注意的是,浮点数的精度是有限的,因此在进行浮点运算时可能会遇到舍入误差。此外,浮点数的比较通常不使用等号(==),因为由于精度问题,两个看似相等的浮点数可能在二进制表示上并不完全相同。在需要比较浮点数时,通常会设定一个误差范围(epsilon),来判断两个浮点数是否“足够接近”。
相关文章:
10.26学习
1.整形的定义和输出 在C语言中,整形(Integer)是一种基本数据类型,用于存储整数。整形变量可以是正数、负数或零。在定义和输出整形变量时,需要注意以下几点: ①定义整形变量: 使用 int 关键字…...
CSS易漏知识
复杂选择器可以通过(id的个数,class的个数,标签的个数)的形式,计算权重。 如果我们需要将某个选择器的某条属性提升权重,可以在属性后面写!important;注意!importent要写在;前面 很多公司不允许…...
【10天速通Navigation2】(三) :Cartographer建图算法配置:从仿真到实车,从原理到实现
前言 往期内容: 第一期:【10天速通Navigation2】(一) 框架总览和概念解释第二期:【10天速通Navigation2】(二) :ROS2gazebo阿克曼小车模型搭建-gazebo_ackermann_drive等插件的配置和说明 本教材将贯穿nav2的全部内容,…...
测试造数,excel转insert语句
目录 excel转sql的insert语句一、背景二、直接上代码 excel转sql的insert语句 一、背景 在实际测试工作中,需要频繁地进行测试造数并插入数据库验证,常规的手写sql语句过于浪费时间,为此简单写个脚本,通过excel来造数࿰…...
Python 应用可观测重磅上线:解决 LLM 应用落地的“最后一公里”问题
作者:彦鸿 背景 随着 LLM(大语言模型)技术的不断成熟和应用场景的不断拓展,越来越多的企业开始将 LLM 技术纳入自己的产品和服务中。LLM 在自然语言处理方面表现出令人印象深刻的能力。然而,其内部机制仍然不明确&am…...
从零开始:用Spring Boot搭建厨艺分享网站
2 相关技术 2.1 Spring Boot框架简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Sprin…...
《2024中国泛娱乐出海洞察报告》解析,垂直且多元化方向发展!
随着以“社交”为代表的全球泛娱乐市场规模不断扩大以及用户需求不断细化,中国泛娱乐出海产品正朝着更加垂直化、多元化的方向发展。基于此,《2024中国泛娱乐出海洞察报告》深入剖析了中国泛娱乐行业出海进程以及各细分赛道出海现状及核心特征。针对中国…...
强化学习数学原理学习(一)
前言 总之开始学! 正文 先从一些concept开始吧,有一个脉络比较好 state 首先是就是状态和状态空间,显而易见,不多说了 action 同理,动作和动作空间 state transition 状态转换,不多说 policy 策略,不多说 reward 奖励,不多说 MDP(马尔科夫) 这里需要注意到就是这个是无…...
获 Sei 基金会投资的 MetaArena :掀起新一轮链上游戏革命
MetaArena 是一个综合性的 Web3 游戏开发和发布平台,集成了最先进的技术架构,包括 Unreal Engine 5.3、去中心化虚拟资产交易市场和分布式计算资源支持。平台不仅为开发者提供了高效的开发工具,还通过跨链功能和 AI 模块,极大简化…...
react-signature-canvas 实现画笔与橡皮擦功能
react-signature-canvas git 地址 代码示例 import React, { Component } from react import { createRoot } from react-dom/clientimport SignaturePad from ../../src/index.tsximport * as styles from ./styles.module.cssclass App extends Component {state { trimmed…...
004:ABBYY PDF Transformer安装教程
引言:本文主要讲解。 一、软件介绍 ABBYY PDF Transformer由ABBYY公司出品,属于一款家庭及商业都适用的PDF文档转换工具。它结合了ABBYY的OCR(光学字符识别)技术和Adobe PDF库技术,以确保能够便捷地处理任何类型的PDF…...
FlinkSQL之temporary join开发
在实时开发中,双流join获取目标对应时刻的属性时,经常使用temporary join。笔者在流量升级的实时迭代中,需要让流量日志精准的匹配上浏览时间里对应的商品属性,使用temporary join开发过程中踩坑不少,将一些经验沉淀在…...
第二十六节 直方图均衡化
图像直方图均衡化 图像直方图均衡化可以增强图像增强,对输入图像进行直方图均衡化处理,提升后续对象检测的准确率在Opencv人脸检测的代码演示中已经很常见了,此外对医学影像图像与卫星遥感图像也经常通过直方图均衡化来提升图像质量 Opencv…...
工单管理用什么工具好?8款推荐清单
本文推荐的8款项目工单管理系统有:1. PingCode; 2.Worktile; 3.Teambition; 4.致远OA; 5.TAPD; 6.Gitee; 7.Wrike; 8.Trello。 很多企业在处理项目工单时,依然依赖电子邮件、Excel表格,甚至是手动记录。这样做不仅效率低下,还容易导致工单遗漏…...
工地安全新突破:AI视频监控提升巡检与防护水平
在建筑工地和其他劳动密集型行业,工人的安全一直是管理工作的重中之重。为了确保工地的安全管理更加高效和智能化,AI视频监控卫士。通过人工智能技术,系统不仅能实时监控,还能自动识别工地现场的安全隐患,为工地管理者…...
World of Warcraft [CLASSIC][80][the Ulduar]
Ulduar 奥杜尔副本介绍 奥杜尔共计14个BOSS,通常说的10H就是10个苦难模式就是全通,9H就是除了【观察者奥尔加隆】,特别说明开启【观察者奥尔加隆】,是需要打掉困难模式4个守护者的。 所以人们经常说的类似“10H 观察者”、“10H…...
python实现数据库的增删改查功能,图形化版本
import tkinter from tkinter import * import psycopg2 from tkinter import messagebox#连接信息 t_conn{"dbname": "d1","user": "u1","password": "123qqq...A","port": "15400","h…...
pipeline开发笔记
pipeline开发笔记 jenkins常用插件Build Authorization Token Root配置GitLab的webhooks(钩子)配置构建触发器--示例 piblish over sshBlue OceanWorkspace Cleanup PluginGit插件PipelineLocalization: Chinese (Simplified) --中文显示Build Environment Plugin 显示构建过程…...
spark读取parquet文件
源码 parquet文件读取的入口是FileSourceScanExec,用parquet文件生成对应的RDD 非bucket文件所以走createNonBucketedReadRDD方法。 createNonBucketedReadRDD 过程: 确定文件分割参数 openCostInBytes4M 相关参数spark.sql.files.openCostInBytes4M…...
redis详细教程(1.String类型)
Redis 的 String 类型内部使用了一种叫做 SDS(Simple Dynamic String)的结构。SDS 的设计比传统的 C 语言字符串更加高效和安全,主要特点如下: 头部信息:SDS 的头部包含了一些元数据,比如字符串的长度、剩…...
用友U8接口-库存管理(7)
概括 本文的操作需要正确部署U8API主要讲述库存管理接口的使用,以产成品入库单作为说明,其他单据接口都是大同小异的!许多时候先在ERP做个单,然后仿造ERP单据参数,构造接口JSON参数是不错的做法。 获取Token访问令牌…...
Spring Boot HikariCP数据库连接池入门
1. 概述 在我们的项目中,数据库连接池基本是必不可少的组件。在目前数据库连接池的选型中,主要是 Druid ,为监控而生的数据库连接池。HikariCP ,号称性能最好的数据库连接池。 至于怎么选择,两者都非常优秀&#x…...
Docker快速上手教程:MacOS系统【安装/配置/使用/原理】全链路速通
背景 最近换了个 Macbook Air M3, 写个人项目需要用到 Docker,配置过程有一点点坎坷,还是得记录下避免重蹈覆辙。 什么。为什么是买 Air 而不是 Pro Max? 因为码农的钱也是钱啊。 这里我不会先讲原理,我认为工程的事情都是先看到现象,有了概念的轮廓,才应该去研究原理,…...
【JavaSE】认识String类,了解,进阶到熟练掌握
#1024程序员节 | 征文# 下面就让博主带领大家一起解决心中关于String类的疑问吧~~~ 1.字符串构造: 第一种和第二种(有一定的区别,在常量池上) public static void main(String[] args) { // 使用常量串构造 String s1 "h…...
vue3 vben-admin 窗口大小更改后 echarts尺寸变为 100px的问题
问题描述: 当切换切换tab 并且窗口尺寸更改时, echarts的尺寸因为父元素为 0, 自动设置为 100px 网上查找资料的结果: 1,使用vue 中的 v-if 来重新设置dom树 缺点: 频繁操作dom树结构, 极其消耗性能 优点: 自适应展示 2,设置固定宽高 缺点: 不能自适应展示, 无需消耗额外…...
Web应用框架-Django应用基础(3)-Jinja2
1.创建姓名模板 username里的数据发生改变,页面中渲染的数据发生改变,该效果称为动态数据 #hello/views:def hello_user(request):username000html <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8&quo…...
js(深浅拷贝,节流防抖,this指向,改变this指向的方法)
一、深浅拷贝 1.基本数据类型和引用数据类型的区别: 1. 基本数据类型的变量存储的是值 引用数据类型的变量存储的是地址值 2. 基本数据类型的变量存储的值在栈内存 引用数据类型的变量存储的值在堆内存 3. 基本数据类型的变量存储的是值和值之间相互不影响 引用数据…...
香橙派5(RK3588)使用npu加速yolov5推理的部署过程
香橙派5使用npu加速yolov5推理的部署过程 硬件环境 部署过程 模型训练(x86主机) 在带nvidia显卡(最好)的主机上进行yolo的配置与训练, 获取最终的best.pt模型文件, 详见另一篇文档 模型转换(x86主机) 下载airockchip提供的yolov5(从pt到onnx) 一定要下这个版本的yolov5, …...
基于MWORKS的蓝桥杯「智能装备数字化建模大赛」正式发布,首期培训本周六开启
为强化装备数字化人才培养,推动装备数字化技术快速发展,第十六届蓝桥杯全国软件和信息技术专业人才大赛设置专项赛暨智能装备数字化建模大赛,使用MWORKS作为参赛软件。关于参赛软件授权、技术支持与培训、教材与案例开发支持、成果转化培训及…...
021、深入解析前端请求拦截器
目录 深入解析前端请求拦截器: 1. 引言 2. 核心实现与基础概念 2.1 基础拦截器实现 2.2 响应拦截器配置 3. 实际应用场景 3.1 完整的用户认证系统 3.2 文件上传系统 3.3 API请求缓存系统 3.4 请求重试机制 3.5 国际化处理 4. 性能优化实践 4.1 请求合并…...
设计师能做网站前端吗/青岛seo网站建设公司
试卷代号:1084 2 0 2 0年春季学期期末统一考试 计算方法(本) 试题(开卷) 2020年7月 一、单项选择题(每小题5分,共15分) 1.近似数a 0. 3150103的误差限是( ) A…...
只做av搬运工的网站/搜索引擎推广试题
概述 pageHelper的使用十分简单,无需手动添加任何注解,这是怎么做到的呢? 答案是,pageHelper使用了springboot的自动装配功能,springboot启动时自动装配pageHelper相关的bean。 自动装配Jar包 <dependency>&l…...
做女装代理需要自建网站么/怎么做好网络营销
用matrix[0][j] 记录第j列是否为0 用matrix[i][0]记录第i行是否为0 因为在0 0 位置有重复,所以新开个变量记录第0行或者第0列 更新的时候先更新从第1行开始和从第1列开始 妙啊 哭了 class Solution {public void setZeroes(int[][] matrix) {int m matrix.len…...
wordpress接入打赏/企业网站设计
通过手机进行通信是可以实现很多遥控功能,虽然距离是比较短,一般是10米,但对于我这种新手做测试,比起买一个几百块的多通道遥控器成本要低很多。 实验目的:用Android实现蓝牙连接通过Arduino串口输出信息 这次使用的是…...
网站开发与设计难嘛/竞价开户推广
<%: ViewData["Message"] %> 冒号的绑定可以自动转换HTML编码的代码(所以我一直无法在前台显示我在后台拼接的HTML代码,而使用 Response.Write(pager.MvcPager()) 又是正常显示的) <% Model.ModelPagerHtmls %> 等号的…...
增城商城网站建设/网站流量统计
网络的不断升级,直接带动手机行业的发展。如果没有网络的支持,手机将会缺少很多乐趣。从2G到4G时代,网络的不断升级,网速上也有了明显的提升,目前关于5G网络的消息传得沸沸扬扬,4G网络已能够满足我们的日常…...