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 垂直制表符
\ddd ddd表示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的值都是错误的

相关推荐

  1. C++局部变量全局变量

    2024-07-10 07:12:05       33 阅读
  2. [开发语言][C++]:递增递减运算符

    2024-07-10 07:12:05       35 阅读
  3. Python实战:全局变量局部变量

    2024-07-10 07:12:05       29 阅读
  4. C语言——局部变量全局变量

    2024-07-10 07:12:05       5 阅读
  5. 055、Python 关于全局变量局部变量

    2024-07-10 07:12:05       12 阅读

最近更新

  1. 分享一款开源免费的ftp服务工具——Pyftpsync

    2024-07-10 07:12:05       0 阅读
  2. 线程局部变量共享

    2024-07-10 07:12:05       0 阅读
  3. SQL Server报告服务的艺术:在SSRS中打造专业报告

    2024-07-10 07:12:05       0 阅读
  4. 探索Sklearn的分层抽样:数据科学中的精确艺术

    2024-07-10 07:12:05       0 阅读
  5. SQL Server分布式查询:跨数据库的无缝数据探索

    2024-07-10 07:12:05       0 阅读
  6. Vue的渲染函数:深入探索与应用实践

    2024-07-10 07:12:05       0 阅读
  7. mac os 去除压缩包下的__MACOSX

    2024-07-10 07:12:05       0 阅读

热门阅读

  1. 探索Hash Router:构建单页应用的基石

    2024-07-10 07:12:05       6 阅读
  2. Django学习收尾

    2024-07-10 07:12:05       6 阅读
  3. Linux Vim全面教程

    2024-07-10 07:12:05       7 阅读
  4. 【Linux命令基础】vim的简介

    2024-07-10 07:12:05       8 阅读
  5. linux vim编辑文件界面的所有命令

    2024-07-10 07:12:05       5 阅读
  6. [linux] 如何优雅的用vim阅读jsonl文件

    2024-07-10 07:12:05       5 阅读
  7. AMBA总线协议与PCIe总线协议的区别

    2024-07-10 07:12:05       7 阅读
  8. YModem在Android上的实现

    2024-07-10 07:12:05       5 阅读
  9. Selenium 切换窗口

    2024-07-10 07:12:05       6 阅读