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

10.22学习

1.求余

在C语言中,求余操作是通过取模运算符  %  来实现的。取模运算符会返回两个数相除后的余数。对于正数和负数的除法,求余的结果会有所不同,但  %  运算符总是返回被除数的符号。

下面是一个简单的例子,展示如何使用  %  运算符来求一个数除以另一个数的余数:

#include <stdio.h>

int main() {

int dividend = 153456; // 被除数

int divisor = 10000; // 除数,假设我们要得到万位的余数

 

int remainder = dividend % divisor; // 求余数

 

printf("余数是:%d\n", remainder);

 

return 0;

}

在这个例子中, 153456 % 10000  会计算 153456 除以 10000 的余数,结果是 5456。这意味着 153456 除以 10000 后,余下 5456。

如果你想获取一个数的万位数字,你可以这样做:

#include <stdio.h>

int main() {

int number = 153456; // 假设我们要处理的数字是153456

 

// 首先确保数字是正数

if (number < 0) {

number = -number;

}

 

// 然后通过连续除以10的幂来获取万位数字

int tenThousand = number / 10000; // 获取万位数字

 

printf("万位数字是:%d\n", tenThousand);

 

return 0;

}

在这个例子中,我们通过将数字除以  10000  来获取万位数字。这种方法适用于获取任何位数的数字,只需要将数字除以相应的10的幂即可。例如,要获取千位数字,可以将数字除以  1000 ;要获取百位数字,可以将数字除以  100 ,以此类推。

 

2.复合赋值运算符

在C语言中,复合赋值运算符是一种将赋值和另一个运算结合在一起的运算符。它们提供了一种简洁的方式来更新变量的值。复合赋值运算符包括:

1.  += :将右侧的值加到左侧变量的当前值上,并将结果赋值给左侧变量。

2.  -= :将右侧的值从左侧变量的当前值中减去,并将结果赋值给左侧变量。

3.  *= :将左侧变量的当前值与右侧的值相乘,并将结果赋值给左侧变量。

4.  /= :将左侧变量的当前值除以右侧的值,并将结果赋值给左侧变量。

5.  %= :将左侧变量的当前值除以右侧的值,并取余数,将结果赋值给左侧变量。

6.  <<= :将左侧变量的当前值左移右侧指定的位数,并将结果赋值给左侧变量。

7.  >>= :将左侧变量的当前值右移右侧指定的位数,并将结果赋值给左侧变量。

8.  &= :对左侧变量的当前值和右侧的值进行按位与操作,并将结果赋值给左侧变量。

9.  ^= :对左侧变量的当前值和右侧的值进行按位异或操作,并将结果赋值给左侧变量。

10.  |= :对左侧变量的当前值和右侧的值进行按位或操作,并将结果赋值给左侧变量。

复合赋值运算符的一般形式是: 变量 op= 表达式 ,其中  op  是上述运算符之一。

例如,假设我们有一个变量  a ,其初始值为10,我们想将其增加5,可以使用  +=  运算符:

int a = 10;

a += 5; // 等同于 a = a + 5;

printf("%d\n", a); // 输出 15

复合赋值运算符的用途在于简化代码,使得代码更加简洁和易于阅读。它们在循环和条件语句中特别有用,因为它们可以减少代码的复杂性,并且可以提高代码的执行效率,因为它们通常只需要一次操作而不是两次(一次赋值和一次运算)。

 

3.增一和减一运算符

在C语言中,增一( ++ )和减一( -- )运算符用于将变量的值增加1或减少1。这两个运算符可以作为前缀(prefix)或后缀(suffix)使用,区别在于它们对变量值的修改时机以及表达式的结果值。

增一运算符( ++ )

1. 前缀形式( ++var ):在使用变量的值之前先将其增加1。

表达式的值是增加后的变量值。

变量的值在使用之前就被增加了。

2. 后缀形式( var++ ):在使用变量的值之后将其增加1。

表达式的值是增加前的变量值。

变量的值在使用之后才被增加。

减一运算符( -- )

1. 前缀形式( -var ):在使用变量的值之前先将其减少1。

表达式的值是减少后的变量值。

变量的值在使用之前就被减少了。

2. 后缀形式( var-- ):在使用变量的值之后将其减少1。

表达式的值是减少前的变量值。

变量的值在使用之后才被减少。

示例

#include <stdio.h>

 

int main() {

int a = 5;

int b = 5;

 

// 前缀形式的增一运算符

printf("前缀形式:%d\n", ++a); // 输出 6,a 的值变为 6

 

// 后缀形式的增一运算符

printf("后缀形式:%d\n", b++); // 输出 5,b 的值在表达式求值后变为 6

 

// 前缀形式的减一运算符

printf("前缀形式:%d\n", --a); // 输出 5,a 的值变为 5

 

// 后缀形式的减一运算符

printf("后缀形式:%d\n", a--); // 输出 5,a 的值在表达式求值后变为 4

 

return 0;

}

在实际编程中,选择前缀还是后缀形式取决于你的具体需求。如果你需要在操作之前使用新的值,使用前缀形式;如果你需要在操作之前使用旧的值,使用后缀形式。此外,前缀形式通常在性能上更优,因为它们不需要额外的内存来存储变量的旧值。

 

4.算术运算符

在C语言中,增一( ++ )和减一( -- )运算符用于将变量的值增加1或减少1。这两个运算符可以作为前缀(prefix)或后缀(suffix)使用,区别在于它们对变量值的修改时机以及表达式的结果值。

增一运算符( ++ )

1. 前缀形式( ++var ):在使用变量的值之前先将其增加1。

表达式的值是增加后的变量值。

变量的值在使用之前就被增加了。

2. 后缀形式( var++ ):在使用变量的值之后将其增加1。

表达式的值是增加前的变量值。

变量的值在使用之后才被增加。

减一运算符( -- )

1. 前缀形式( -var ):在使用变量的值之前先将其减少1。

表达式的值是减少后的变量值。

变量的值在使用之前就被减少了。

2. 后缀形式( var-- ):在使用变量的值之后将其减少1。

表达式的值是减少前的变量值。

变量的值在使用之后才被减少。

示例

#include <stdio.h>

 

int main() {

int a = 5;

int b = 5;

 

// 前缀形式的增一运算符

printf("前缀形式:%d\n", ++a); // 输出 6,a 的值变为 6

 

// 后缀形式的增一运算符

printf("后缀形式:%d\n", b++); // 输出 5,b 的值在表达式求值后变为 6

 

// 前缀形式的减一运算符

printf("前缀形式:%d\n", --a); // 输出 5,a 的值变为 5

 

// 后缀形式的减一运算符

printf("后缀形式:%d\n", a--); // 输出 5,a 的值在表达式求值后变为 4

 

return 0;

}

在实际编程中,选择前缀还是后缀形式取决于你的具体需求。如果你需要在操作之前使用新的值,使用前缀形式;如果你需要在操作之前使用旧的值,使用后缀形式。此外,前缀形式通常在性能上更优,因为它们不需要额外的内存来存储变量的旧值。

相关文章:

10.22学习

1.求余 在C语言中&#xff0c;求余操作是通过取模运算符 % 来实现的。取模运算符会返回两个数相除后的余数。对于正数和负数的除法&#xff0c;求余的结果会有所不同&#xff0c;但 % 运算符总是返回被除数的符号。 下面是一个简单的例子&#xff0c;展示如何使用 % 运…...

【不要离开你的舒适圈】:猛兽才希望你落单,亲人总让你回家,4个维度全面构建舒适圈矩阵

单打独斗的英雄时代已经落幕 抱团取暖才是社会寒冬的良策 自然界中&#xff0c;每个物种都占据着自己的领地和生存空间。 生态位的差异决定了它们的生存方式&#xff0c;一旦离开领地&#xff0c;失去群体的庇护&#xff0c;就会沦为野兽的美餐。 人类社会同样存在隐形圈层…...

OpenIPC开源FPV之Channel配置

OpenIPC开源FPV之Channel配置 1. 源由2. 现象3. 硬件3.1 模拟频点3.2 数字频点2.4GHz频段频点表格 (802.11b/g/n):5GHz频段频点表格 (802.11a/n/ac): 4. 分析5. 实验6. 参考资料 1. 源由 无线信号&#xff0c;传输过程中不可避免都会受到干扰。同时&#xff0c;由于在一个开放…...

UG NX12.0建模入门笔记:1.0 UG NX12.0安装教程

一、如何关闭防火墙&#xff1f; 提示&#xff1a;安装软件之前&#xff0c;建议先 关闭防火墙和杀毒软件&#xff01;&#xff01;&#xff01; 文章目录 一、如何关闭防火墙&#xff1f;二、UG NX12.0安装包三、UG NX12.0安装教程1.新建文件夹2.安装JAVA环境3.安装许可证管理…...

【C++】踏上C++学习之旅(三):“我“ 与 “引用“ 的浪漫邂逅

文章目录 前言1. "引用"的概念1.1 "引用"的语法 2. "引用"的特性3. "引用"的使用场景3.1 "引用"做参数3. 2 "引用"做返回值3.2.1 "引用"做返回值时需要注意的点 4. 常引用5. "引用"在底层的实…...

中间件之Seata

一、引言 在微服务架构日益盛行的今天&#xff0c;分布式事务成为了一个必须面对和解决的问题。传统的本地事务已经无法满足分布式环境下的数据一致性需求&#xff0c;因此分布式事务解决方案应运而生。Seata作为一款开源的分布式事务中间件&#xff0c;以其高性能、易用性和灵…...

MySQL 异常: “Host ‘xxx‘ is not allowed to connect to this MySQL server“

update user set host % where user root; FLUSH PRIVILEGES; 这两行代码就行...

c语言中字符串函数strlen,strcmp,strcpy,srtcat,strncpy,strncat,strncmp

1.strlen的使用和模拟实现 strlen 用来求字符串的长度&#xff0c;统计\0之前字符的个数。 模拟实现1&#xff1a;计数参数法 #include<stdio.h> #include<assert.h> size_t my_strlen(char* str) {int count0;assert(str);//assert断言是判断是字符串不能为空w…...

携程线下一面,面试内容:

面试时间&#xff1a;2024/9/12 • 实例方法和静态方法有什么不一样? • Java中的异常有哪几类?分别怎么使用? • 常用的集合类有哪些?比如List如何排序? • ArrayList和LinkedList内部的实现大致是怎样的?他们之间的区别和各自适应的场景是什么? • 内存溢出是怎么…...

DeepL翻译:全世界最准确的翻译

DeepL翻译是一款高质量的机器翻译工具&#xff0c;以下从产品描述、产品特色、适用人群、适用场景四个方面对其进行介绍&#xff1a; 体验地址&#xff1a;DeepL翻译&#xff1a;全世界最准确的翻译 产品描述 DeepL是一家德国公司&#xff0c;以其高质量的机器翻译服务而闻名…...

15分钟学Go 实战项目一:命令行工具

实战项目一&#xff1a;命令行工具 1. 引言 命令行工具是开发者常用的工具之一&#xff0c;它可以帮助用户通过命令行界面对程序进行控制和交互。在这节中&#xff0c;我们将创建一个简单的命令行工具&#xff0c;以帮助你理解Go语言的基本语法和如何处理命令行输入。在这个过…...

lesson02 作业

lesson02-01作业 小红的体重是 m 千克&#xff0c;她想知道自己的体重在磅&#xff08;1 千克约等于 2.20462 磅&#xff09;是多少 输入描述 输入一个整数表示小红的标准体重m(kg) 输出描述 输出一个整数表示转换后的磅值n 磅 示例 输入&#xff1a; 50 输出&#xff1a…...

港大和字节提出长视频生成模型Loong,可生成具有一致外观、大运动动态和自然场景过渡的分钟级长视频。

HKU, ByteDance&#xff5c;⭐️ 港大和字节联合提出长视频生成模型Loong&#xff0c;该模型可以生成外观一致、运动动态大、场景过渡自然的分钟级长视频。选择以统一的顺序对文本标记和视频标记进行建模&#xff0c;并使用渐进式短到长训练方案和损失重新加权来克服长视频训练…...

RabbitMQ进阶_可靠性

文章目录 一、 发送者的可靠性1.1、 生产者重试机制1.2、 生产者确认机制1.2.1、确认机制理论1.2.2、确认机制实现1.2.2.1、定义ReturnCallback1.2.2.2、定义ConfirmCallback 二、 MQ的可靠性2.1、 数据持久化2.1.1、 交换机持久化2.1.2、 队列持久化2.1.3、 消息持久化 2.2、 …...

JavaScript字符串的常用方法有哪些?

1.1操作方法 归纳为增删查改 1.1.1增 这里不是直接增添内容&#xff0c;而是创建字符串的一个副本&#xff0c;再进行操作 处理用以及${}进行字符串拼接外&#xff0c;还可以通过concat 1.1.1.1concat 用于将一个或多个字符串拼接为一个新字符串&#xff08;浅拷贝&#…...

jmeter发送post请求

在jmeter中&#xff0c;有两种常用的请求方式&#xff0c;get和post.它们两者的区别在于get请求的参数一般是放在路径中&#xff0c;可以使用用户自定义变量和函数助手等方式进行参数化&#xff0c;而post请求的参数不能随url发送&#xff0c;而是作为请求体提交给服务器。而在…...

图文深入理解Oracle Total Recall

List item 题记&#xff1a;本文图文深入理解Oracle Total Recall技术。 1. Oracle Total Recall 概述 Oracle Total Recall&#xff08;也称为 Flashback Data Archive - 闪回数据归档&#xff09;提供了一种用于跟踪数据库更改的机制&#xff0c;可自动跟踪数据库历史更改…...

腾讯云控制台URL刷新URL预热 使用接口刷新

如图所示的俩个控制台功能&#xff0c;调用腾讯云的接口执行这俩个动作 &#xff08;代码可以优化&#xff09;nodejs框架是express, 这里粘贴调用成功的代码示例&#xff0c;做个记录。 app.get(/PurgeUrlsCache, async function (req, res, next) {// Depends on tencentclo…...

构建后端为etcd的CoreDNS的容器集群(二)、下载最新的etcd容器镜像

在尝试获取etcd的容器的最新版本镜像时&#xff0c;使用latest作为tag取到的并非最新版本&#xff0c;本文尝试用实际最新版本的版本号进行pull&#xff0c;从而取到想的最新版etcd容器镜像。 一、用latest作为tag尝试下载最新etcd的镜像 1、下载镜像 [rootlocalhost opt]# …...

libaom-all-intra参数说明

part_sf.less_rectangular_check_level 1; 这个设置可能控制编码器在分割画面时使用非矩形分区的检查级别。part_sf.ml_prune_partition 1; 这个设置可能用于基于机器学习&#xff08;ML&#xff09;的分区修剪&#xff0c;以减少不必要的计算。part_sf.prune_ext_partition_…...

应用假死?

有个客户10月18日应用接口都访问慢&#xff0c;nginx层面error显示连接拒绝&#xff0c;当时实施同学重启了java应用运行正常&#xff0c;但今天又卡死了&#xff0c;后台登录也登录不上去&#xff0c;看日志没异常&#xff0c;最终找到了数据库层面。 查看数据库相关日志&…...

SAP MM+FI - 物料管理模块与财务会计模块的集成配置

01 采购费用过账配置表 为了方便项目实施过程中采购费用过账配置&#xff0c;迪森资深专家根据丰富经验总结得出采购费用过账配置表&#xff0c;以供大家参考&#xff1a; 02 材料采购订单入库及结算 2.1采购订单入库 假设&#xff1a;入库数量1000PC&#xff0c;价格 10 元…...

初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)

本章概述 前情回顾单链表实现单链表彩蛋时刻&#xff01;&#xff01;&#xff01; 前情回顾 咱们在上一章博客点击&#xff1a;《顺序表》的末尾&#xff0c;提出了一个问题&#xff0c;讲出了顺序表的缺点——有点浪费空间。所以&#xff0c;为了解决这个问题&#xff0c;我…...

mysql迁移到达梦的修改点

字段是达梦关键字的&#xff0c;达梦会给转成大写&#xff0c;如果不要转则需要使用双引号引起来。关键字参考&#xff1a;D:\dmdbms\doc\DM8_SQL语言使用手册.pdf 例如&#xff1a;RowCount Level Content Password Locked 中文乱码问题&#xff0c;需要在应用程序所在服务器的…...

Go小技巧易错点100例(十八)

正文&#xff1a; 使用下划线增加数字可读性 有时候我们代码里会定义很长的数字&#xff0c;虽然计算机程序能支持很大的数据的计算&#xff0c;但是对我们来说&#xff0c;可读性是一个需要考虑的点&#xff0c;特别是1后面全是0的时候。 但是这个问题在Go语言中是可以通过…...

【python】极简教程8-字符串

第八章:字符串 8.1 字符串即序列 字符串是一系列字符的有序集合,可以使用索引访问字符串中的各个字符,索引从 0 开始。 示例代码: fruit = banana letter = fruit[1] print(letter) # 输出: a8.2 len 函数 len 函数返回字符串的长度(字符数)。...

UEFI EDK2框架学习 (四)——UEFI图形化

一、修改protocol.c #include <Uefi.h> #include <Library/UefiLib.h> #include <Library/UefiBootServicesTableLib.h> #include <stdio.h>EFI_STATUS EFIAPI UefiMain(IN EFI_HANDLE ImageHandle,IN EFI_SYSTEM_TABLE *SystemTable ) {EFI_STATUS S…...

【C++】— 一篇文章让你认识STL

文章目录 &#x1f335;1.什么是STL&#xff1f;&#x1f335;2.STL的版本&#x1f335;3.STL的六大组件&#x1f335;4.STL的重要性&#x1f335;5. 如何学习STL&#x1f335;6. 学习STL的三种境界 &#x1f335;1.什么是STL&#xff1f; STL是Standard Template Library的简称…...

mysql--索引

目录 1、长什么样 2、硬件理解 3、软件理解 4、进一步认识 5、索引的理解 6、为什么不选择其他数据结果&#xff1f; 7、聚簇索引和非聚簇索引 8、索引操作 &#xff08;1&#xff09;主键索引创建 第一种方式 第二种方式 第三种方式 主键索引的特点 &#xff08…...

【linux】线程 (三)

13. 常见锁概念 &#xff08;一&#xff09;了解死锁 死锁是指在一组进程中的各个进程均占有不会释放的资源&#xff0c;但因互相申请被其他进程占有的&#xff0c;且不释放的资源&#xff0c;而处于的一种永久等待状态 &#xff08;二&#xff09;死锁四个必要条件 互斥条件…...