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

一篇文章带你玩转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.mzph.cn/pingmian/44006.shtml

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

相关文章

javaweb零碎知识3

// 假设您已经导入了 axios import axios from axios;// 获取表单元素 const form document.getElementById(myForm);// 为表单添加 submit 事件监听器 form.addEventListener(submit, function(e) {// 阻止表单的默认提交行为e.preventDefault();// 创建 FormData 对象并从表…

JAVA预编译简单理解

目录 一、JSP预编译 二、JDBC预编译 一、JSP预编译 JSP&#xff08;JavaServer Pages&#xff09;是一种动态网页技术标准&#xff0c;它允许将Java代码嵌入到HTML页面中。当第一次请求一个JSP页面时&#xff0c;Web服务器&#xff08;如Tomcat&#xff09;会将JSP页面转换成一…

福建 | 南安帝兴混凝土电子签收的困难和突破

01 发展从来都是从困难开始 混凝土发货单实现无纸化签收&#xff0c;众多业内人士认为这个概念很好&#xff0c;但能否落地却大多抱有怀疑态度&#xff0c;理由多种多样&#xff1a; “行业太传统&#xff0c;接受不了新鲜事物。” “驾驶员年龄偏大&#xff0c;玩不来智能手…

【分布式系统管理框架】Zookeeper集群

1、Zookeeper &#xff08;1&#xff09;Zookeeper定义 Zookeeper是一个开源的&#xff0c;为分布式框架提供协调服务的Apache项目。 &#xff08;2&#xff09;Zookeeper工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架…

怎么制作gif动图,视频制作GIF动画更简单

在社交媒体和网络交流中&#xff0c;GIF动画以其生动活泼的表现形式成为了表达情感、幽默和创意的热门媒介。无论是分享日常趣事&#xff0c;还是制作专业演示&#xff0c;一个恰到好处的GIF动图总能吸引目光&#xff0c;传递信息。 但你知道吗&#xff1f;即使没有专业的设计背…

工业一体机为数字化工厂带来高效作业指导

随着工业4.0的浪潮席卷全球&#xff0c;数字化工厂的概念深入人心。在这一背景下&#xff0c;工业一体机作为数字化转型的重要一环&#xff0c;凭借其强大的功能和灵活的应用&#xff0c;为工厂实现高效作业指导提供了强大的助力。 一、工业一体机的优势&#xff1a;赋能数字化…

如何避免在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题

在 Docker 容器中遇到 MAC 地址冲突和 IP 地址冲突的问题时&#xff0c;通常是由于 Docker 在分配网络资源时出现了一些问题。虽然这种情况并不常见&#xff0c;但仍有可能发生。以下是一些原因和可能的解决方案&#xff1a; 原因分析 Docker 版本问题&#xff1a;某些 Docke…

2024年全国青少年信息素养大赛图形化编程小高组复赛真题

2024年全国青少年信息素养大赛图形化编程小高组复赛真题 题目总数&#xff1a;6 总分数&#xff1a;100 编程题 第 1 题 问答题 请对变身鱼进行编程&#xff0c;变身鱼的初始状态已经设置&#xff0c;不需要进行修改&#xff0c; 1.当变身鱼大小大于300时&#xff0…

数据高效交互丨DolphinDB Redis 插件使用指南

DolphinDB 是一个高性能的分布式数据库。通过 Redis 插件&#xff0c;DolphinDB 用户可以轻松地与 Redis 数据库进行交互。用户不仅可以从 DolphinDB 向 Redis 发送数据&#xff0c;实现高速的数据写入操作&#xff1b;还可以从 Redis 读取数据&#xff0c;将实时数据流集成到 …

Python开发——CSV 文件的使用与应用

CSV&#xff08;Comma Separated Values&#xff09;文件是一种常见的数据存储格式&#xff0c;广泛应用于数据导出和导入。Python 提供了内置的 csv 模块&#xff0c;用于读取和写入 CSV 文件。下面是关于如何在 Python 中更全面地使用 CSV 文件的示例和应用。 1. 基本读取 使…

PaddleVideo:Squeeze Time算法移植

参考PaddleVideo/docs/zh-CN/contribute/add_new_algorithm.md at develop PaddlePaddle/PaddleVideo GitHubAwesome video understanding toolkits based on PaddlePaddle. It supports video data annotation tools, lightweight RGB and skeleton based action recognitio…

17集 如何用ESP-IDF编译ESP-DL深度学习工程-《MCU嵌入式AI开发笔记》

17集 如何用ESP-IDF编译ESP-DL深度学习工程-《MCU嵌入式AI开发笔记》 参考文档&#xff1a;ESP-DL 用户指南&#xff1a; https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/index.html 和https://docs.espressif.com/projects/esp-dl/zh_CN/latest/esp32/get-s…

机器学习深度学习用得到的数据集

以下是一些常见的机器学习数据集下载渠道&#xff1a; Google 数据集搜索引擎&#xff1a;可以通过文本搜索数据集&#xff0c;并能按日期、数据格式和使用权限等进行过滤。地址&#xff1a;https://datasetsearch.research.google.com/Kaggle&#xff1a;这是世界领先的数据科…

PHP禁止IP访问和IP段访问(代码实例)

PHP禁止IP和IP段访问 实现IP限制是Web开发中常见的需求之一&#xff0c;它可以用于限制特定IP地址的访问权限。在PHP中&#xff0c;我们可以通过一些方法来实现IP限制。 <?//禁止某个IP$banned_ip array ("127.0.0.1",//"119.6.20.66","192.168.…

C#中简单Socket编程

C#中简单Socket编程 Socket分为面向连接的套接字(TCP套接字)和面向消息的套接字(UDP 套接字)。我们平时的网络编程是对Socket进行操作。 接下来&#xff0c;我用C#语言来进行简单的TCP通信和UDP通信。 一、TCP通信 新建项目SocketTest&#xff0c;首先添加TCP通信的客户端代…

71.WEB渗透测试-信息收集- WAF、框架组件识别(11)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;70.WEB渗透测试-信息收集- WAF、框架组件识别&#xff08;10&#xff09;-CSDN博客 如果有…

[数仓]十、离线数仓(安全集群实战)

第1章 概述 Hadoop启用Kerberos安全认证之后,之前的非安全环境下的全流程调度脚本和即席查询引擎均会遇到认证问题,故需要对其进行改进。 第2章 数仓全流程 2.1 改动说明 此处统一将数仓的全部数据资源的所有者设为hive用户,全流程的每步操作均认证为hive用户。 2.2 改…

RT2-使用NLP的方式去训练机器人控制器

目标 研究在网络数据上训练的视觉语言模型也可以直接结合到端到端的机器人控制中&#xff0c;提升泛化性以及获得突出的语义推理&#xff1b;使得单个的端到端训练模型可以同时学习从机器人观测到动作的映射&#xff0c;这个过程可以受益于基于网络上的语言和视觉语言数据的预训…

【工具分享】FOFA——网络空间测绘搜索引擎

文章目录 FOFA介绍FOFA语法其他引擎 FOFA介绍 FOFA官网&#xff1a;https://fofa.info/ FOFA&#xff08;Fingerprinting Organizations with Advanced Tools&#xff09;是一款网络空间测绘的搜索引擎&#xff0c;它专注于帮助用户收集和分析互联网上的设备和服务信息。FOFA…

提高LabVIEW软件的健壮性

提高LabVIEW软件的健壮性&#xff0c;即增强其在各种操作条件下的可靠性和稳定性&#xff0c;是开发过程中非常重要的一环。健壮的软件能够在面对意外输入、极端环境和系统故障时依然表现出色&#xff0c;确保系统的连续性和可靠性。以下是详细的方法和策略&#xff0c;从多个角…