C语言零基础精通变量与常量

 更新时间:2022年04月23日 09:02:43   作者:马桶上看算法  
这篇文章主要为大家详细介绍了C语言的变量和常量,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

1.变量和常量的概念

生活中的一些数据有些数据不能变:血型、性别、圆周率。有些数据一定可变:工资、年龄、体重。我们用C语言怎么描述:常量-不能改变的量 变量-能被改变的量

2.变量的类型

  • 创建整形变量用到的数据类型是int
  • 创建字符型变量用到的数据类型是char
  • 创建浮点型变量用到的数据类型是float或者是double
  • 创建哪种变量就要用到哪种数据类型
  • 数据类型是创建变量用的

3.变量的分类

变量分为局部变量和全局变量

举个例子:

#include<stdio.h>
int a = 100;
int main()
{       
     int a = 10;  
     printf("%d\n," a);  
     return 0;
}   
  • 整型变量用**%d**打印
  • 字符型变量用**%c**打印
  • 浮点型数据float类型的变量用**%f**打印
  • 浮点型数据double类型的变量用**%lf**打印int是类型,a是变量的名字,=叫赋值,=后面的叫数值
  • int (类型)
  • a (变量的名字)
  • = (赋值)
  • 10 (数值)
  • 大括号内部的变量叫局部变量,上面局部变量是a
  • 大括号外部的变量叫全局变量,上面全局变量a

代码的输出结果是10

我们可以看到全局变量和局部变量的名称相同,而发生这种情况的时候,我们局部变量优先,所以,代码会输出10。

虽然我们可以这样定义两个名称相同的变量,但是不建议这样写。

4.变量的使用

写一个代码求2个整数的和:

#include<stdio.h>
int main()
{          
     int a = 0;    
     int b = 0;    
     int sum = 0;    
     scanf("%d  %d", &a, &b);            
     sum = a + b;           
     printf("sum = %d\n", sum);          
     return 0;
}

scanf是输入函数

%d代表输入1个整型

两个%d代表输入2个整型

&a &b代表输入的数据

&a放到第一个%d里,&b放到第二个%d里

sum代表a与b的和

scanf函数前面指的是格式,后面指的是我要把数据存放到哪里去

5.变量的作用域和生命周期

⑴作用域:这个变量可以在哪里使用,哪里就是它的作用域。

#include<stdio.h>
int main()
{       
     printf("hehe\n");        
     int a=10;             
     printf("a = %d", a);//代码作用域      
     return 0;
}

#include<stdio.h>
int main()
{     
     printf("hehe\n");    
     printf("a=%d", a);       
     {               
          int a = 10;       
     }        
     return 0;
}

在大括号里面定义的变量a的作用域是它的自己所在的大括号。

大括号里的变量只能在大括号里使用,上面代码的输出函数在大括号外,此代码无法运行。

③正确代码如下

#include<stdio.h>
int main()
{       
     printf("hehe\n");   
     {           
          int a=10;  //代码的作用域        
          printf("a=%d", a);       
     }        
     return 0;
}

局部变量的作用域就是变量所在的局部范围

全局变量的作用域是整个工程

执行性的代码必须放在大括号里面

变量的创建可以放在大括号外面

⑵变量的生命周期:

变量的创建和销毁之间的时间段

局部变量的生命周期:进入局部范围生命开始,出局部范围生命结束

全局变量的生命周期:程序的生命周期

6.常量的分类

C语言中的常量:

  • 字面常量
  • const 修饰的常量 -
  • #define定义的标识符常量 -
  • 枚举常量

⑴字面常量

#include<stdio.h>
int main()
{      
     3.14;      //字面常量    
     10;        //字面常量    
     'a';       //是字面常量,也是字符常量    
     'abcdefg'; //字面常量,也是字符串常量    
     return 0;
}

用单引号括起来的是字符常量,用双引号括起来的是字符串常量

⑵const 修饰的常量

#include<stdio.h>
int main()
{     
     const int num = 10;//变量       
     num = 20;       
     printf("num = %d\n",num);      //输出为20        
     int arr[10] = {0};//10个元素       
     const int n = 10;       
     int arr[n] = {0};  //错误    
     retuen 0;
}

当不想改变〃num〃变量的值的时候加上const。这个时候代码会报错,说明有了const的修饰我们无法改变num的值了。

正确代码应将这一行代码删除。这个时候num叫做常变量,具有常属性(不能被改变的属性)。代码报错,经过const修饰过的n是常变量但本质上是一个变量。

因为代码中的方块里要是一个常量所以代码会报错。正确代码是变为一个常量,例如10,20,‘a’。

⑶#define定义的标识符常量

#define MAX 10000
int main()
{        
    MAX = 20000;  //错误    
    int n = MAX;     
    printf("n = %f\n",n);//输出10000        
    return 0;
}

MAX就是define定义的标识符常量,因为不能改变MAX的值,所以叫常量。#在大括号里面定义的也行

错误示范:代码报错,因为MAX是不能改的正确写法是将20000改为10000

⑷枚举常量:一般用于可以一一列举的常量

#include<stdio.h>
int main()
{      
     enum Sex s = MALE;       
     return 0;
}
``````c
    //性别enum Sex//枚举类型
{    //这种枚举类型的变量的未来可能取值          //枚举常量        
       MALE,        
       FEMALE,      
       SECRET
}

上面三个值就是enum Sex这种类型的枚举变量的未来的可能取值

到此这篇关于C语言零基础精通变量与常量的文章就介绍到这了,更多相关C语言变量与常量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

最新评论