10.22学习

devtools/2024/10/23 2:09:00/

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;

}

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


http://www.ppmy.cn/devtools/128013.html

相关文章

ecmascript标准

1. 简介 1.1. 概述 ECMAScript(简称ES)是JavaScript编程语言的一个标准化版本。它是为网络开发设计的一种轻量级的脚本语言,主要用于在网页上实现交互性和动态效果。ECMAScript是该语言的标准名称,而JavaScript是其最知名和广泛使用的实现。 1.2. 特点 跨平台性 :ECMAS…

若依-医疗系统

项目介绍 湘雅三医院医疗系统是根据长沙市湘雅第三医院来开发的一款后台管理系统&#xff0c;是基于SpringBoot和Vue2开发的一款前端后端分离项目&#xff0c; 项目中包括&#xff1a;1&#xff1a;权限认证&#xff0c;动态菜单2&#xff1a;用户管理&#xff0c;部门管理&am…

C++详解

C详解 文章目录 C详解1 内存分区模型1.1 程序运行前1.2 程序运行后1.3 new操作符 2 引用2.1 引用的基本使用2.2 引用注意事项2.3 引用做函数参数2.4 引用做函数返回值2.5 引用的本质2.6 常量引用 3 函数提高3.1 函数默认参数3.2 函数占位参数3.3 函数重载3.3.1 函数重载概述3.3…

二叉树展开为链表

二叉树展开为链表 给你二叉树的根结点 root &#xff0c;请你将它展开为一个单链表&#xff1a; 展开后的单链表应该同样使用 TreeNode &#xff0c;其中 right 子指针指向链表中下一个结点&#xff0c;而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

理解多线程中的上下文切换:原理解析与Java模拟实现

什么是上下文切换&#xff1f; 上下文切换&#xff08;Context Switch&#xff09;是指当操作系统需要在不同的线程或进程之间切换时&#xff0c;将当前线程的状态&#xff08;如寄存器、程序计数器、堆栈指针等&#xff09;保存起来&#xff0c;并加载下一个线程的状态&#…

Xmind一款极简思维导图和头脑风暴软件,支持PC和移动端,Xmind 2024.10.01101版本如何升级到Pro版?简单操作,最新可用!

文章目录 Xmind下载安装Xmind免费升级到Pro Xmind 是一款全功能的思维导图和头脑风暴软件&#xff0c;不限制节点和文件数&#xff0c;创新无限&#xff0c;界面纯净简洁无广告&#xff0c;支持PC和移动端&#xff0c;思维导图和大纲视图自由切换&#xff0c;可本地化文档存储&…

4.redis通用命令

文章目录 1.使用官网文档2.redis通用命令2.1set2.2get2.3.redis全局命令2.3.1 keys 2.4 exists2.5 del(delete)2.6 expire - (失效时间)2.7 ttl - 过期时间2.7.1 redis中key的过期策略2.7.2redis定时器的实现原理 2.8 type2.9 object 3.生产环境4.常用的数据结构4.1认识数据类型…

线性可分支持向量机的原理推导 最大化几何间隔d 公式解析

本文是将文章《线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 公式 9-4 为&#xff1a; max ⁡ w , b d \max_{\mathbf{w}, b} \quad d w,bmax​d subject to y i ( w ⋅ x i b ∥ w ∥ ) ≥ d , i 1 , 2 , ⋯ , N \…