news 2026/7/30 5:58:42

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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; }

代码结果如图所示:

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 23:25:51

算法练习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…

作者头像 李华
网站建设 2026/7/28 5:23:38

git和github的区别

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

作者头像 李华
网站建设 2026/7/27 16:36:24

小白从零开始勇闯人工智能Linux初级篇(MySQL库)

引言在上一篇文章中我们已经完成了使用Mysql库前的所有准备了&#xff0c;并且也初步了解了Mysql库&#xff0c;接下来就让我们一起正式的开启Mysql的学习吧。一、MySQL基础操作实战1、创建数据库与表在Navicat Premium中&#xff0c;创建数据库和表有两种常用方法&#xff1a;…

作者头像 李华
网站建设 2026/7/29 23:38:16

Bootstrap 模态框详解

Bootstrap 模态框详解 Bootstrap 模态框是 Bootstrap 框架中一个非常重要的组件,它允许用户在不离开当前页面的情况下,通过一个模态框(Modal)与用户进行交互。本文将详细介绍 Bootstrap 模态框的用法、特性以及注意事项。 一、模态框的基本用法 1.1 创建模态框 要创建一…

作者头像 李华
网站建设 2026/7/23 6:30:40

MinerU终极安全离线部署指南:完全断网环境解决方案

MinerU终极安全离线部署指南&#xff1a;完全断网环境解决方案 【免费下载链接】MinerU A high-quality tool for convert PDF to Markdown and JSON.一站式开源高质量数据提取工具&#xff0c;将PDF转换成Markdown和JSON格式。 项目地址: https://gitcode.com/GitHub_Trendi…

作者头像 李华