C语言篇 -(1)初识C语言 - (4)变量和常量-1

C语言篇 -(1)初识C语言 - (4)变量和常量-1,第1张

C语言篇 -(1)初识C语言 - (4)变量和常量-1
    • 简介:
    • 纠正:
    • 变量和常量
    • 变量
      • 4.1定义变量
      • 4.2变量的分类
      • 4.3变量的使用
        • *** 作:
        • 打开everything
        • 查找newc++file.cpp
        • 用记事本打开
        • 把#define _CRT_SECURE_NO_WARNINGS复制在里面
      • 4.4变量的作用域和生命周期
        • 作用域
        • 生命周期
    • 下载链接

简介:

我是一名初学者,我会以我的角度来展现学习编程的一个过程,每个阶段的对知识点的理解都将写在上面,如果后续对知识点的理解有所偏差,我将会在最上面备注所要纠正的地方,并在新发布的博客上面,提醒之前哪个博客的知识点需要纠正,每个阶段全部发完之后将会总结在一个博客上面。


(如果大佬看到我的知识点有错并评论,我将会关注大佬并纠正错误的知识点,欢迎各位批评指正)

纠正: 变量和常量

生活中有一些是可变的量(比如你的年龄,身高,体重,对象)
还有一些不变的量(比如圆周率,性别,身份z号码)[哎,这里你说性别可变啊,我们只能笑一下,哈哈]

变量 4.1定义变量
#include

int main()
{
    int a=10;
    printf("a=%d",a);
    return 0;
}

运行的结果:
a=10【a就是一个变量(int定义一个变量a,向内存申请一个空间给a,并赋予a一个值),因为a是可变的,所以可以赋予a任意一个值】

下面再来多写几个变量来加深一下了解

#include

int main()
{
short age=20;//年龄
int high=180;//身高
float weight=88.5;//体重
return 0;
}

运行的结果:
(因为没有printf来输出,所以什么也没有)

可以看出来我们定义的变量age,high,weight分别都有自己的含义,这可以让我们在写代码时具有很好的可读性,当然变量是可以随便命名的,比如也可以把age改为a,无所谓,只是为了可读性。


4.2变量的分类

变量分为局部变量和全局变量,下面我们来用代码来演示一下

#include

int global=2022;//全局变量

int main()
{
    int local=2018;//局部变量
    //下面的global和上面的global会不会冲突呢?
    int global=2021;//局部变量
    printf("global=%d",global);
    return 0;
}

运行的结果:
global=2021(运行的结果为下面的global,所以当局部变量全局变量同名时,局部变量优先使用,所以不会冲突)

在int main()
{
}外的global就是全局变量,整个项目都可以使用的变量,在{}里面的变量就是局部变量,只能在{}范围内使用,假如{}中还有一个{}可以类推全局变量和局部变量的关系,都是一样的

4.3变量的使用
#include 

int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个 *** 作数:>");
   
    //输入两个数
    scanf("%d %d", &num1, &num2);
    
    //求和
    sum = num1 + num2;
    
    //输出sum的值
    printf("sum = %d\n", sum);
    return 0;
}
//这里介绍一下输入语句
//scanf可以输入数值赋予后面&所带的的变量num1和num2

在你运行的时候会出现下面的情况:

不要害怕,出现的错误在错误列表上会显示出来(但不要太依赖这个,仅供参考,很多时候出错的莫名奇妙):

错误 C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

我们来慢慢解析一下,它说,这个scanf它不安全,让你使用它的替代品scanf_s,如果你执意要使用scanf,需要在前面加一个_CRT_SECURE_NO_WARNINGS
我们这里来说一下scanf_s,它是vs编译器自带的只能在这个编译器里使用,只有这个编译器认识它,所以我们应该使用的通用的scanf,但是使用scanf它会报错啊,来,我们往前面加一个#define _CRT_SECURE_NO_WARNINGS试一试

#define _CRT_SECURE_NO_WARNINGS

#include 

int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个 *** 作数:>");
    
    //输入两个数
    scanf("%d %d", &num1, &num2);
    
    //求和
    sum = num1 + num2;
    
    //输出sum的值
    printf("sum = %d\n", sum);
    return 0;
}

运行结果:

输入两个数,中间用空格隔开

按enter即可输出两数之和

可以看出来,这串代码可以运行了,那么我们每次使用scanf就要每次都加一个#define _CRT_SECURE_NO_WARNINGS是不是太麻烦了,告诉你们一个办法:

在vs的安装路径下有一个文件newc++file.cpp,
在vs工程中创建新的.c或.cpp文件的时候,都是拷贝上面这个文件的,所以我们只需要把这个文件的开头加上#define _CRT_SECURE_NO_WARNINGS,之后所创建的.c或.cpp都会带有#define _CRT_SECURE_NO_WARNINGS

*** 作:

下载everything(下载链接在下面的百度云)

打开everything

查找newc++file.cpp

用记事本打开

把#define _CRT_SECURE_NO_WARNINGS复制在里面


保存即可,之后我们创建的新项目里面都会包含这条代码,也就不需要一直输入#define _CRT_SECURE_NO_WARNINGS

4.4变量的作用域和生命周期 作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的
而限定这个名字的可用性的代码范围就是这个名字的作用域。


  1. 局部变量的作用域是变量所在的局部范围(就是局部变量所在的{})
  2. 全局变量的作用域是整个工程。



    我们举一个全局变量作用于整个工程的例子:
    文件test4.5(2),里面的int a=100就是一个全局变量

    另一个项目test4.5里面


运行的时候出现了错误,原因是没有申明这个变量a是来自其他项目里面的

所以我们加了一个

extern int a;//去申明一下它来自外面


这时去运行一下,结果:
a=100,没有问题

生命周期

生命周期就类似于作用域,类比过来就行,生命周期≈作用域
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

  1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。


  2. 全局变量的生命周期是:整个程序的生命周期。


下载链接

下载everything
链接:提取码为1111

今天就先讲变量了,明天再讲常量,喜欢的多多点赞,关注加收藏哦

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/564625.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-06
下一篇 2022-04-06

发表评论

登录后才能评论

评论列表(0条)

保存