1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C语言数据类型 变量 常量 作用域和生命周期的概念解释和案例

C语言数据类型 变量 常量 作用域和生命周期的概念解释和案例

时间:2020-04-06 01:31:45

相关推荐

C语言数据类型 变量 常量 作用域和生命周期的概念解释和案例

目录

一、数据类型

二、变量

变量的命名:

变量的分类:

变量的使用:

三、常量

常量的定义和分类

四、变量作用域和生命周期

作用域:

生命周期:

一、数据类型

当我们去超市购物的时候,看到商品的标价都是xx.xx元,以及我们的身高体重年龄等,那么我们怎么把这些数据告诉给计算机呢?首先是要告诉它我给它的数据是什么类型吧。

数据类型存在于计算机中是为解决实际问题的需要。

在C语言中都有什么数据类型?

#define use_CRT_SECURE_NO_WARNINGS 1#include <stdio.h>int main(){char a = 'W';int b = 10;short int c = 10;long int d = 1000;long long int e = 100000;float f = 0.0f;double g = 10.025;printf("%d\n",sizeof(char));//字符数据类型printf("%d\n", sizeof(int));//短整型printf("%d\n", sizeof(short));//整型printf("%d\n", sizeof(long));//长整型printf("%d\n", sizeof(long long));//更长的整型printf("%d\n", sizeof(float));//单精度浮点类型printf("%d\n", sizeof(double));//双精度浮点类型return 0;}

一般来说,short int 简写成short,long int 简写成long, long long int 简写成 long long ,这些在C语言中都是可以的。

而每一种数据类型在都有它的大小,单位是字节(byte)可写成B

char 1B

int 4B

short 2B

long 4B

long long 8B

float 4B

double 8B

二、变量

生活中有些值是不变的(比如:圆周率、性别、身份证号码、血型等等)

有些值是可以变的(比如:年龄、薪水、体重等)

会变化的值在C语言中称为变量( 内存中开辟了一个变量的存储空间)

变量的命名:

只能由字母(大小写)、数字和下划线组成不能以数字开头长度不能超过63个字符,注意单位是字符变量区分大小写变量名不能使用关键字(但是可以包含)

有计算机基础的同学可能会把windows文件的命名和这里的C语言变量命名搞混淆,他们之间不太有什么关联,记住就可以了。

变量的分类:

局部变量全局变量

int a = ;//全局变量#include <stdio.h>int main(){int b = ;//局部变量printf("a=%d,b=%d\n", a, b);return 0;}

全局变量写在main函数外部,局部变量写在main函数内部。

当局部变量的变量名和全局变量的变量名相同时,优先局部变量。

int a = ;//全局变量#include <stdio.h>int main(){int a = ;//局部变量printf("a=%d\n",a);return 0;}

变量的使用:

#include <stdio.h>int main(){int num1 = 0;int num2 = 0;int sum = 0;scanf_s("%d %d", &num1, &num2);sum = num1 + num2;printf("sum=%d", sum);return 0;}

三、常量

C语言中,常量是不变的量。

常量的定义和分类

C语言中的常量可以分为以下几种:

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

字面常量:

#include <stdio.h>int main(){3.14159;//字面常量10000;//字面常量return 0;}

字面常量的特点是看起来孤零零的,在程序中直接用,例如:

int main(){int x = 10;int sum = 0;sum = x + (100 * 1000);//100和1000就是常量,直接使用printf("sum=%d", sum);return 0;}

const修饰的常变量:

#include <stdio.h>int main(){const int pai = 3.1415;pai = ;//pai是常变量不可被修改!!!return 0;}

int pai=3.1415;这是在定义一个变量pai,而前面加了const则给这个变量pai赋予了常属性,意思就是pai可以当作常量去使用但是严格意义上pai还是一个变量。既然当作了常量,那么就不能再对pai赋值,否则破坏了语法规则,程序报错。

#define 定义的标识符常量:

由#define定义的标识符常量可以直接当作常量使用,那为什么C语言中会有这种常量的定义方式呢?设想一个班原本有60个同学(#define NUM 60),突然转来10个新同学,假设我已经算好了以60为整体的学生的成绩之类的计算,但是现在班上一共有70个同学了,那我是不是要把之前的成绩计算之类的再重新计算?这样是不是过于的麻烦?所以我们直接#define NUM 70就行了,只需要在之前的基础上改变数值,这样就达到了高效、快速易修改的效果。

int main(){#define MAX 100int x = 10;int arr1[x];//程序执行到这一句会报错int arr2[MAX];//正确printf("%d", MAX);return 0;}

在定义数组大小时[ ]里面只能是常量或者能够计算出确切值的表达式

枚举常量:

#include <stdio.h>enum color { red,green,bule};int main(){enum color a = red;enum color b = green;enum color c = bule;printf("%d\n", a);printf("%d\n", b);printf("%d\n", c);return 0;}

只需要记住枚举变量的关键字是enum,每一个元素都是从0开始依次递增+1

四、变量作用域和生命周期

作用域:

首先给定一个数学上的名词——定义域,通常定义域是F (X)是自变量x的取值范围,其实作用域也可以看作 C语言中变量的作用范围。通常来说,一段程序代码中所用到的所有的名字并不总是有效,而限定这个名字的可用性的代码范围就是这个名字的作用域。

局部变量的作用域是变量所在的局部范围。全局变量的作用域是整个工程。

红框为变量y的作用域,它的活动范围仅仅只在红框中的{}内,如果在红框以外的地方引用变量y则程序报错。

红框内都是变量x的作用域,他的作用域在main函数内。

生命周期:

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。

局部变量的生命周期: 进入作用域生命周期开始,出了作用域生命周期结束。全局变量的生命周期:整个程序的生命周期。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。