欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

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

时间:2022-06-06 09:33:27|栏目: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这种类型的枚举变量的未来的可能取值

上一篇:AVX2指令集优化浮点数组求和算法

栏    目:C代码

下一篇:c++中的volatile和variant关键字详解

本文标题:C语言零基础精通变量与常量

本文地址:http://www.codeinn.net/misctech/203972.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有