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

举报
光之梦 发表于 2023/10/13 09:56:50 2023/10/13
【摘要】 本文用通俗易懂的口语介绍了C语言的基础语法:复合赋值,递增递减运算符,局部变量与全局变量,本地变量,转义字符 我的目标是:用通俗易懂的口语来为大家带来我自己对C语言基础语法的理解,想让零基础小白也能看懂学会并且能够掌握C语言的基础语法

我的个人主页光之梦的博客_云社区-华为云 (huaweicloud.com)

欢迎各位 👍点赞 ⭐收藏 📝评论,如有错误请留言指正,我会第一时间改正。非常感谢!

初学者推荐用的刷题网站蓝桥杯ACM训练系统 - C语言网 (dotcpp.com)

特别标注本博主将会长期更新c语言的语法知识,初学c语言的朋友们,可以收藏订阅一下我的<C语言基础语法>专栏。关注博主,学习不迷路哦

一、复合赋值

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函数的参数表示未知并不表示没有参数

2.逗号运算符

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

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

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

3.关于main

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


各位学习C语言的初学者,如果有问题随时都可以来问我,我会随时为您解答!欢迎大家与我一起学习,互相进步。

 👍 +⭐ +📝(一键三连) 是对博主最大的鼓励与支持哦。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。