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

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.jsqmd.com/news/79342/

相关文章:

  • 三十五. Keccak256 哈希函数
  • git和github的区别
  • 鸿蒙与 Electron 的融合探索:跨平台开发新思路(附代码案例)
  • 精益生产到底是什么?七大浪费、五大原则、九大方法,一次讲清
  • 震惊!Linux开发板稳定性排行,这家竟碾压群雄!
  • 从零入门CANN:揭秘华为昇腾AI计算的核心引擎
  • 凌晨2点的CPU报警:一条慢SQL引发的血案
  • Go 指针详解:定义、初始化、nil 语义与用例(含 swap 示例与原理分析)
  • 算法练习4--数组:长度最小的子数组
  • Oracle Health Senior Software Engineer 面试全流程复盘(成功拿下 Offer)
  • 深度学习理论推导--多分类逻辑回归
  • Java EE 应用与 Spring MVC简介
  • 如何使用 VSCode 编写 C# 代码?
  • 【图像处理】基于matlab粒子群算法PSO优化匹配追踪图像稀疏分解【含Matlab源码 14687期】
  • “AI写的论文,参考文献靠谱吗?”-虎贲等考AI:所有参考文献都来自知网/维普可查
  • 别让孩子视力提早“透支” ,这份护眼指南请收好
  • Python 正则表达式
  • Day37 模型可视化与推理
  • Qt 多线程编程: moveToThread 模式讲解
  • 网站域名:关键的战略资产
  • 不是护眼灯不好,而是眼调节训练灯更懂孩子近视的防控需求
  • n8n第十节 把Markdown格式的会议纪要发到企微
  • Pandas DataFrame:数据处理的强大工具
  • jQuery 捕获详解
  • Foundation CSS 可见性
  • 【图像加密】基于matlab超混沌序列和DNA序列图像加密【含Matlab源码 14689期】
  • SOAP 语法
  • QOwnNotes 开源 Markdown 笔记本 v25.12.5
  • 三种方式打 Java 可执行 JAR 包,你用对了吗?
  • 【题解】Luogu P10502 Matrix Power Series