C语言编程4:复合赋值,递增递减运算符,局部变量与全局变量,本地变量,转义字符

news2024/10/2 14:32:23

一篇文章带你玩转C语言基础语法4:复合赋值,递增递减运算符,局部变量与全局变量,本地变量,转义字符

一、复合赋值🌿

1.1💠定义

  • 赋值就是给任意一个变量或者常量赋一个值,这个值可以是一个变量,常量或者数字。

  • 复合赋值就是:把算术运算符(5个算术运算符,加 减 乘 除 取余)与赋值运算符(=)结合起来,就是复合赋值

1.2💠用法

比如像这样的: “+=” “-=” “=” “/=” “%=” ,这样的就是复合赋值

  • 这样的意思是:total+=5 ;

  • 相当于: total=total+5;

  •  total*=7;
    
  • 相当于: total=total * 7;

  • total+=(sum+100)/2;

  • 相当于: total=total+(sum+100)/2;

  • total /=12+6;

  • 相当于:total=total /(12+6)

  • 像这样的运算就是复合赋值

二、递增递减运算符🌿

2.1💠"++" “–”

“++”"–"是两个很特殊的运算符,它们是单目运算符,这个算子还必须是变量。这两个运算符分别叫做递增递减运算符,他们的作用就是给这个变量+1或者-1

2.2💠用法

  • count++;

  • count+=1;

  • count=count+1;

count++ 用法代码示例:

int count=1,a;                    //初始化

a=count++;                       //表达式的值是count原来的值

printf("a=%d\n",a);               //输出表达式的值
printf("count=%d\n",count);       //输出count++之后count的值

运行结果:

a=1
count=2

–count 用法代码示例:

int count=3,b;                //初始化

b=--count;                    //该表达式的值是count-1之后的值

printf("b=%d\n",b);          //输出--count这个表达上的值
printf("count=%d",count);    //输出--count运算之后count的值

运行结果:

b=2
count=2

三、局部变量与全局变量🌿

3.1💠局部变量

局部变量定义:局部变量就是定义在代码块( {} )内部变量

3.2💠全局变量

全局变量定义:全局变量就是定义在代码块( {} )之外变量

举个栗子:

#include <stdio.h>

int num1=30;  //全局变量-定义在({})代码块之外的变量

int main()
{
    int num2=10;  //局部变量-定义在({})代码块之内的变量

    return 0;
}

注🚨:局部变量和全局变量的名字建议不要相同——容易误会,产生bug

当局部变量和全局变量的名字相同时,局部变量优先

四、🔷本地变量

4.1 🌺本地变量

  1. 函数的每次运行,就会产生一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量

  2. 定义在函数内部的变量就是本地变量

  3. 参数也是本地变量

4.2 🌺变量的作用域

作用域:在(代码的)什么范围内可以访问这个变量(这个变量可以起作用)

  • 局部变量作用域就是变量所在的局部范围
  • 全局变量作用域是整个工程

4.3 🌺变量的生命周期

变量的生命周期:指的是变量的创建到变量销毁之间的一个时间段。也可以这么说:什么时候这个变量开始出现了,到什么时候它消亡了的一个时间段

  • 局部变量生命周期进入作用域生命周期开始出作用域声明周期结束
  • 全局变量生命周期整个程序的生命周期。

注:本地变量的作用域和生命周期都在大括号({})内

4.4🌺 本地变量的规则

  1. 本地变量是定义在块内的

    
    1. 它可以是定义在函数的块内
    2. 也可以定义在语句的块内
    3. 甚至可以随便拉一对大括号来定义变量
    
  2. 程序运行进入这个块之前,其中的变量不存在,离开这个块,其中的变量就消失了

  3. 块外面定义的变量在里面仍然有效

  4. 块面定义了和外面同名的变量则覆盖了外面的变量(块内的变量优先度更高)

  5. 不能在一个块内定义同名的变量

  6. 本地变量不会被默认初始化

  7. 参数在进入函数的时候被初始化了

五、🔷转义字符

5.1 🌺常用的转义字符

转移字符释义
\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。如:\130X

🌺C语言语法小提示:

  1. void f(void)与void f();

在传统C中,它表示f函数的参数表示未知,并不表示没有参数

  1. 逗号运算符

调用函数时的逗号跟逗号运算符字母区分

如下 => 调用函数时的圆括号内的逗号是标点符号,不是运算符

逗号:f(a,b) 逗号运算符:f((a,b))

  1. 关于 main
1. int main()也是一个函数
2. 要不要写成int main(void)? void加不加都一样,但如果上面参数都不打算加,不妨把void写下去
3. return0有人看吗? 是可以看的起作用的,返回0表示正常的运行结束了,返回任何非0的值都是错误的

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

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

相关文章

在亚马逊云科技AWS上利用SageMaker机器学习模型平台搭建生成式AI应用(附Llama大模型部署和测试代码)

项目简介&#xff1a; 接下来&#xff0c;小李哥将会每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon …

Jmeter在信息头中设置Bearer与 token 的拼接值

思路&#xff1a;先获取token&#xff0c;将token设置成全局变量&#xff0c;再与Bearer拼接。 第一步&#xff1a;使用提取器将token值提取出来&#xff0c;使用setProperty函数将提取的token值设置成全局变量&#xff0c;在登录请求后面添加BeanShell取样器 或者 BeanShell后…

嘉立创EDA学习笔记

嘉立创EDA学习笔记 PCB引线一、设计规则间距安全间距其他间距 物理导线网络长度差分对过孔尺寸 平面铺铜 PCB布线 作为一个嵌入式开发潜力工程师&#xff0c;咱们必须得学会如何绘制开发板以满足顾客各种功能的需求&#xff0c;因此小编去学习了一下嘉立创&#xff0c;写这篇文…

配网行波故障预警与定位装置:配电线路安全性与可靠性的保障

配网行波故障预警与定位装置&#xff1a;配电线路安全性与可靠性的保障 一、传统配网故障排查的困境 1. 巡检效率低下&#xff1a;在二十世纪80年代及以前&#xff0c;电力线路故障的排查主要依赖于人工巡检&#xff0c;这种方式效率低下&#xff0c;特别是在故障区间较大的情…

Seata解决分布式事务

我举的例子是&#xff1a;在网上购物时&#xff0c;我们支付后&#xff0c;订单微服务会更新订单状态&#xff0c;同时会远程调用购物车微服务清空购物车&#xff0c;和调用商品微服务完成商品库存减一。 我们曾经说的事务是只能在本微服务完成回滚&#xff0c;意思就是如果过…

PHP全域旅游景区导览系统源码小程序

&#x1f30d;【探索无界&#xff0c;畅游无忧】全域旅游景区导览系统小程序全攻略 &#x1f4f1;【一键启动&#xff0c;智能导览在手】 告别纸质地图的繁琐&#xff0c;迎接全域旅游景区导览系统小程序的便捷时代&#xff01;只需轻轻一点&#xff0c;手机瞬间变身私人导游…

如何快速将Excel定义的表结构转换为MySQL的建表语句

目录 引言 方法一&#xff1a;使用Python编程 步骤一&#xff1a;安装必要的库 步骤二&#xff1a;读取Excel文件 步骤三&#xff1a;编写函数生成建表语句 注意事项 方法二&#xff1a;使用Excel VBA 步骤一&#xff1a;启用VBA编辑器 步骤二&#xff1a;编写VBA代码…

通过git将文件push到github 远程仓库

1.先git clone 代码地址 git clone htttp://github.com/用户名/test.git 2. 添加文件 例如&#xff1a;touch 1.txt 3.将文件添加到暂存区 git add 1.txt 4.提交 git commit -m "commit 1.txt" 5.与远程仓库建立关联 git remote add 远程仓库名 远程仓库…

文件操作和IO流(Java版)

前言 我们无时无刻不在操作文件。可以说&#xff0c;我们在电脑上能看到的图片、视频、音频、文档都是一个又一个的文件&#xff0c;我们需要从文件中读取我们需要的数据&#xff0c;将数据运算后也需要将结果写入文件中长期保存。可见文件的重要性&#xff0c;今天我们就来简…

泛微E-Cology getFileViewUrl SSRF漏洞复现

0x01 产品简介 泛微协同管理应用平台e-cology是一套兼具企业信息门户、知识文档管理、工作流程管理、人力资源管理、客户关系管理、项目管理、财务管理、资产管理、供应链管理、数据中心功能的企业大型协同管理平台。 0x02 漏洞概述 泛微E-Cology getFileViewUrl 接口处存在…

[安洵杯 2019]easy_serialize_php

源码&#xff1a; <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); }if($_SESSION){unset($_SESSION); }$_SESSION["user"] guest; …

0010基于免疫遗传算法的配送中心选址

免疫优化算法&#xff08;Immune Optimization Algorithm, IOA&#xff09;在物流配送中心选址中的应用是通过模拟免疫系统的进化过程来解决选址优化问题。物流配送中心选址问题涉及到如何在给定区域内选择最优的位置&#xff0c;以最大化服务覆盖并最小化运输成本。 免疫优化…

神经网络设计过程

1.可根据Iris特征直接判断 2.神经网络方法&#xff0c;采集大量的Iris特征&#xff0c;分类对应标签&#xff0c;构成数据集。 将数据集喂入搭好的神经网络结构&#xff0c;网络通过反向传播优化参数得到模型。 有新的网络送入到模型里&#xff0c;模型会给出识别结果。 3.…

PHP7.4安装使用rabbitMQ教程(windows)

&#xff08;1&#xff09;&#xff0c;安装rabbitMQ客户端erlang语言 一&#xff0c;erlang语言安装 下载地址1—— 下载地址2——https://www.erlang.org/patches/otp-27.0 二&#xff0c;rabbitMQ客户端安装 https://www.rabbitmq.com/docs/install-windows &#xff08…

【JavaEE】 简单认识CPU

&#x1f435;本篇文章将对cpu的相关知识进行讲解 一、认识CPU 下图是简略的冯诺依曼体系结构图 上图中&#xff0c;存储器用来存储数据&#xff0c;注意在存储器中都是以二进制的形式存储数据的&#xff0c;CPU就是中央处理器&#xff0c;其功能主要是进行各种算术运算和各种…

【保姆级教程】CenterNet的目标检测、3D检测、关键点检测使用教程

一、代码下载 仓库地址:https://github.com/xingyizhou/CenterNet?tab=readme-ov-file 二、目标检测 2.1 下载预训练权重 下载预训练权重ctdet_coco_dla_2x.pth放到models文件夹下 下载链接:https://drive.google.com/file/d/18Q3fzzAsha_3Qid6mn4jcIFPeOGUaj1d/edit …

基于 sftp 的 NAS (局域网文件存储服务器)

局域网 NAS (文件存储服务器) 的基本功能有: 能够存储文件, 同时能够通过多个设备访问 (上传/下载) 文件. 这些功能通过 sftp 可以实现. sftp 是基于 SSH 的文件传输协议, SSH 全程加密传输, 使用 公钥 认证 (不使用密码/口令), 能够提供很高的安全性. 上文说到, 在 LVM 和 bt…

存储产品选型策略 OSS生命周期管理与运维

最近在看阿里云的 云存储通关实践认证训练营这个课程还是不错的。 存储产品选型策略、对象存储OSS入门、基于对象存储OSS快速搭建网盘、 如何做好权限控制、如何做好数据安全、如何做好数据管理、涉及对象存储OSS的权限控制、使用OSS完成静态网站托管、对OSS中存储的数据进行分…

《植物大战僵尸杂交版》2.2版本:全新内容与下载指南

《植物大战僵尸杂交版》2.2版本已经火热更新&#xff0c;带来了一系列令人兴奋的新玩法和调整&#xff0c;为这款经典的塔防游戏注入了新的活力。如果你是《植物大战僵尸》系列的忠实粉丝&#xff0c;那么这个版本绝对值得你一探究竟。 2.2版本更新亮点 新增看星星玩法 这个新…

QT学习日记一

创建QT文件步骤 这是创建之后widget.cpp和widget.h文件的具体代码解释&#xff0c;也是主要操作的文件&#xff0c;其中main.cpp不用操作&#xff0c;ui则是图形化操作界面&#xff0c;综合使用时&#xff0c;添加一个元件要注意重编名和编译一下&#xff0c;才能在widget这类…