C语言变量和算数操作符全解析1

创建变量

前文我们了解清楚了类型,其实类型就是用来创建变量的。

我们把C语言中经常变化的值称为变量,不变的值成为常量

变量创建的语法形式:数据类型+变量名

并且,我们给创建的变量一个初始值(比如0),这就叫初始化

补充:一个局部变量不初始化,默认为随机值;一个全局变量不初始化,默认为0。

变量的分类

全局变量

大括号外部定义的变量

局部变量

大括号内部定义的变量

那么该如何运用它们呢?以下我给出代码进行演示

#include <stdio.h> int a = 10; int main() { { int a = 100; printf("%d\n", a); } printf("%d\n",a); return 0; }

运行结果如下:

如果再深入进行挖掘,只打印大括号内部的变量,但我们定义两个变量,结果该如何?

代码如下

#include <stdio.h> int a = 100; int main() { int a = 10; { printf("%d\n",a); } return 0; }

代码结果如图所示

由结果可知,如果局部变量和全局变量同名是,局部变量优先使用

补充

在学习C语言时,我们比较关注内存中的三个区域:栈区、堆区、静态区

  • 局部变量放在内存的栈区
  • 全局变量放在内存的静态区
  • 堆区是用来动态内存管理的

算数操作符+、-、*、/、%

以上这些操作符都是双目操作符,那么为什么叫双目呢?其实是因为这些操作符需要两个操作数。

eg:a=3+5(+为操作符,3和5为操作数)

+和-

分别用来完成加法和减法

我们用代码进行演示:

#include <stdio.h> int main() { int a = 6 + 2; int b = 6 - 2; printf("%d\n",a); printf("%d\n",b); return 0; }

结果如下:

*

用来完成乘法

代码演示:

#include <stdio.h> int main() { int a = 3 * 5; printf("%d\n",a);//第一种方法 int num = 3; printf("%d\n",num*num);//第二种方法 return 0; }

代码结果如下

注意:C语言中并没有提供平方的操作符,但是我们可以用pow(x,y);来表示

/

用来完成除法

注意:除号的两端如果是整数,得到的结果也是整数,坚持用%f来打印,最后也是错误的。

我们通过以下代码来进行证明

#include <stdio.h> int main() { printf("%d\n",6/3);//结果为2 printf("%d\n",6/4);//结果为1 printf("%f\n",6/4);//结果错误 printf("%f\n",6.0/4);//结果正确为1.5 //除号的两端都是整数的时候,计算的是整数除法,结果是整除之后的商 //%f专门用来打印浮点数 //%lf打印double类型的浮点数 return 0; }

代码运行结果如下

由结果可知,要想得到浮点数的结果,两个运算数必须至少有一个浮点数,这时C语言才会进行浮点数整除。

若写int a=3.5;,则会直接把小数点后面的数去掉

%

取模/取余,得到的是整除之后的余数(这个运算符只能用于整数,不能用于浮点数

代码演示如下:

#include <stdio.h> int main() { printf("%d\n", 6 % 4); printf("%d\n", 11% 5); printf("%d\n", -11 % 5); printf("%d\n", -11 % -5); return 0; }

代码结果如图所示:

由结果可知,取模结果的正负号取决于第一个数字的正负号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1004984.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三十五. Keccak256 哈希函数

三十五. Keccak256 哈希函数 1.签名认证过程 A发送消息给B签名认证过程: A: 步骤1:A把消息"123456"进行哈希得到哈希值H: H = hash("123456"); 步骤2:A用自己的私钥对哈希值H进行签名:signature = Sign(H, "A的私钥"); 步骤3:把消息&quo…

git和github的区别

Git 和 GitHub 是两个密切相关但本质不同的工具&#xff0c;它们在软件开发中扮演着不同角色。以下是它们的主要区别&#xff1a;1. 定义不同Git 是一个分布式版本控制系统&#xff08;DVCS&#xff09;&#xff0c;由 Linus Torvalds 于 2005 年创建&#xff0c;用于跟踪代码的…

鸿蒙与 Electron 的融合探索:跨平台开发新思路(附代码案例)

Step 2&#xff1a;创建预览页面&#xff08;preview.html&#xff09; 引言 随着华为鸿蒙系统&#xff08;HarmonyOS&#xff09;的快速发展&#xff0c;越来越多开发者开始关注其在多设备协同、分布式能力上的创新。与此同时&#xff0c;Electron 作为构建跨平台桌面应用的主…

精益生产到底是什么?七大浪费、五大原则、九大方法,一次讲清

很多人提到精益生产&#xff0c;心里都有个问号&#xff1a;“这个到底和我们业务有啥关系&#xff1f;”“看上去那么复杂&#xff0c;是不是又是个管理噱头&#xff1f;”其实&#xff0c;精益生产的核心是消除浪费&#xff0c;提高效率。它不仅仅是理论&#xff0c;而是一整…

震惊!Linux开发板稳定性排行,这家竟碾压群雄!

Linux开发板稳定性排行揭晓&#xff0c;这家企业竟碾压群雄&#xff01;在当今数字化浪潮中&#xff0c;Linux开发板作为嵌入式系统的核心组件&#xff0c;其稳定性直接关系到工业自动化、智能家居、物联网终端等关键应用的可靠性。市场上各类开发板品牌林立&#xff0c;性能参…

从零入门CANN:揭秘华为昇腾AI计算的核心引擎

# 从零入门CANN&#xff1a;揭秘华为昇腾AI计算的核心引擎> &#x1f4cc; **关键词**&#xff1a;CANN、昇腾AI、Ascend、国产芯片、MindSpore、异构计算 > &#x1f4a1; **适合人群**&#xff1a;AI初学者、高校学生、转行开发者、信创从业者 > ⏱️ **阅读时间…

凌晨2点的CPU报警:一条慢SQL引发的血案

监控大屏上的CPU曲线突然飙升到99%&#xff0c;报警群里的钉钉响个不停。 “数据库崩了。” 运维查了一圈&#xff0c;最后丢出一张截图&#xff1a;一条没有任何索引关联的 SELECT * 正在对一张五千万行的订单表进行全表扫描。这行代码是三个月前实习生写的&#xff0c;当时数…

Go 指针详解:定义、初始化、nil 语义与用例(含 swap 示例与原理分析)

引言指针在 Go 中并不复杂&#xff0c;但想把它用好、用稳&#xff0c;需要弄清楚几个核心概念&#xff1a;Go 是按值传递、指针保存变量地址、new 与 make 的差别、以及 nil 在不同类型上的行为差异。本文把这些知识点串联起来&#xff0c;边写代码边解释原理与工程实践建议。…

算法练习4--数组:长度最小的子数组

核心思路&#xff1a;滑动窗口int minSubArrayLen(int target, int* nums, int numsSize) {int i 0;int sum 0;int result numsSize1;for(int j 0;j < numsSize;j){sum nums[j];while(sum > target){int sumlen j - i 1;if(sumlen < result){result sumlen;}s…

Oracle Health Senior Software Engineer 面试全流程复盘(成功拿下 Offer)

最近&#xff0c;Programhelp 一位学员顺利拿下了 Oracle Health Senior Software Engineer 的 Offer。整个面试流程从 Phone Screen 到 Onsite Loop 全部走完后&#xff0c;我们把准备策略、关键节点、面试官关注点以及容易踩坑的地方做了系统复盘&#xff0c;希望能给正在准备…

深度学习理论推导--多分类逻辑回归

文章目录前言多分类交叉熵损失函数梯度下降法函数准备python 实战SoftmaxRegression运行结果使用原始特征&#xff08;4位二进制&#xff09;使用多项式特征&#xff08;增强特征空间&#xff09;参数分析与对比总结当你迷茫的时候&#xff0c;请回头看看 目录大纲&#xff0c;…

Java EE 应用与 Spring MVC简介

什么是JavaEE&#xff08;j2ee&#xff09;&#xff1f;javaee是一套用于开发大型企业级应用的标准和规范。它定义了组件模型和各种API。JavaEE的分层模型JavaEE通常采用多层架构&#xff0c;将应用的关注点清晰地分离&#xff0c;我们这里介绍的层级划分为&#xff1a;Domain …

如何使用 VSCode 编写 C# 代码?

如何使用 VSCode 编写 C# 代码&#xff1f; 在 VSCode 中编写 C# 代码的完整步骤如下&#xff1a; 一、环境准备 1. 安装 .NET SDK 访问 dotnet.microsoft.com 下载并安装最新版 .NET SDK 验证安装&#xff1a;打开终端&#xff0c;输入 dotnet --version 2. 安装 VSCod…

【图像处理】基于matlab粒子群算法PSO优化匹配追踪图像稀疏分解【含Matlab源码 14687期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…

“AI写的论文,参考文献靠谱吗?”-虎贲等考AI:所有参考文献都来自知网/维普可查

一、引言&#xff1a;AI 论文参考文献的信任危机与破局点随着人工智能写作工具在学术领域的普及&#xff0c;“AI 生成论文的参考文献是否靠谱” 成为科研工作者、学生群体关注的核心议题。部分早期 AI 工具因缺乏权威数据源支撑&#xff0c;曾出现参考文献虚假标注、链接失效、…

别让孩子视力提早“透支” ,这份护眼指南请收好

如今&#xff0c;电子产品成了孩子的“日常陪伴”&#xff0c;线上学习、娱乐样样离不开&#xff1b;叠加堆积如山的作业与课外辅导&#xff0c;双重压力下&#xff0c;越来越多孩子的视力早早亮起“红灯”——近视低龄化、高发化的趋势愈发严峻&#xff0c;不少家长刚上小学的…

Day37 模型可视化与推理

一、模型可视化 1. nn.model自带的方法 # nn.Module 的内置功能&#xff0c;直接输出模型结构 print(model) MLP((fc1): Linear(in_features4, out_features10, biasTrue)(relu): ReLU()(fc2): Linear(in_features10, out_features3, biasTrue) ) # nn.Module 的内置功能&a…

Qt 多线程编程: moveToThread 模式讲解

目录 Qt 多线程编程: moveToThread 模式 核心理念 旧做法&#xff1a;继承 QThread 推荐&#xff1a;moveToThread 实现步骤图解 1. 定义 Worker 2. 实例化 QThread 3. 移动对象 4. 连接与启动 最佳实践与常见陷阱 Qt 多线程编程: moveToThread 模式 这是 Qt 官方推…

不是护眼灯不好,而是眼调节训练灯更懂孩子近视的防控需求

“又揉眼睛了&#xff1f;是不是看不清黑板了&#xff1f;”每天傍晚&#xff0c;不少家长看到孩子揉眼、眯眼的动作&#xff0c;都会心头一紧。为了守护孩子的“心灵窗户”&#xff0c;护眼灯成了书桌前的标配。可即便换了好几盏宣称“无频闪、低蓝光”的护眼灯&#xff0c;孩…

网站域名:关键的战略资产

网站域名:关键的战略资产 引言 在数字化时代,网站域名已经成为企业、个人乃至政府机构的战略资产。它不仅是网络身份的象征,更是连接用户和内容的重要桥梁。本文将深入探讨网站域名的概念、重要性、选择标准以及管理策略。 一、什么是网站域名? 网站域名是由一串由字母…