C语言入门之浅谈数据类型和变量常量
目录
- 1.变量的作用域:
- 2.变量的生命周期:
- 1.字面常量,如:100,‘v’;
- 2.define宏定义的标识符常量
- 3.const修饰的常变量
- 4.枚举常量
- 总结
首先我们来罗列一下C语言的基本数据类型(未提及的后续将在关键字专题讲解):
类型名称 | 所占字节 |
char(字符型) %c | 2 |
short(短整形) %d | 2 |
int(整形) %d | 4 |
long int(长整形) %ld |
4 |
long long int(长整形) %lld | 8 |
float(单精度浮点型) %f | 4 |
double(双精度浮点型) %lf | 8 |
字符型:用来储存字符,如:'s','@';
整型:用来储存整数(无符号有符号均可),如:899,-56;
浮点型:用来储存小数,如10.0,89.5;
为什么要创造出这么多种数据类型呢?因为计算机的内存是有限的,所以要将内存尽可能的合理分配,避免不必要的空间浪费。
在这里介绍一下sizeof 函数,可以测量一个数据类型所占有的字节大小,具体使用案例如下。因为字节大小是一个很小的的整数,所以我选择了用短整型来输出。感兴趣可以自己敲一下,编程学习是离不开实践的
简单介绍完C语言的数据类型后,我们来讲解一下常量和变量。变量理解起来非常简单,可以被改变的量就是变量,我们来着讲解一下变量的作用域和生命周期。
1.变量的作用域:
指的是这个变量可以起作用的范围,根据变量的作用域不同,可以把变量分为全局变量和局部变量
#include<stdio.h> int a=5; //在main函数外创建了一个全局变量并初始化 int main() { int b=6;//声明了一个局部变量并初始化 return 0; }
这里面变量a的作用域是整个程序,而变量b的作用域只在main函数内部,如果你再写一个其他的函数,想在里面引用b就会报错,因为超出了b的作用域,而你却可以随意引用a,只要方式得当。
2.变量的生命周期:
是指一个变量从被创建到被销毁的周期,在变量的生命周期内,变量可以被使用。
全局变量的生命周期是整个程序,而局部变量的生命周期只是其作用的函数内,这与变量在内存中被储存的位置有关。全局变量被储存在静态区,而局部变量则被储存在栈区。
在C语言中常量有四种:
1.字面常量,如:100,‘v’;
这种常量通常用来给其他操作数赋值,如:int a=99999; char name='p';
2.define宏定义的标识符常量
如:#define PI 3.1415926;
属于整个程序前面的头文件部分,如果用户define了一个常量PI,在后续整个程序中PI的值都为3.1415926,是无法被修改的,强行修改编译器会报错
3.const修饰的常变量
如:const int a=100;
值得一提的是这里的a虽然是变量,但却被const赋予了常量属性,无法被修改。
4.枚举常量
enum,也是C语言的关键字之一,定义方式如下
enum sex { male, famale };
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!
相关推荐
-
详解C语言的基本数据类型
目录 1.C语言基本数据类型 2.计算机中的单位 3.各数据类型的大小及字取值大小 总结 1.C语言基本数据类型 2.计算机中的单位 3.各数据类型的大小及字取值大小 对于short int .int .long int.long long int,虽然都为整形数据类型,但是在存储像年龄.特定的尺寸及尺寸等数值比较小的整型数据时,没必要用long long int 甚至是int去存储该类数据,因为这样会浪费计算及的存储的内存,但是当需要存储相当大的数据时,就需要用到long longint这样的
-
C语言中的浮点数据类型
目录 1. 处理带小数的数值 2. 浮点类型 3. 浮点类型的sizeof 1. 处理带小数的数值 我们来讨论一下类似于1.234567,0.00001,这类非整数的数据.我们先试试看,int能不能装这些数据呢? #include <stdio.h> int main() { int a = 1.234567; int b = 0.00001; int c = 365.12345; printf("%d\n", a); printf("%d\n", b)
-
C语言 数据类型详细介绍
C 数据类型 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统.变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式. C 中的类型可分为以下几种: 序号 类型与描述 1 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型. 2 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量. 3 void 类型: 类型说明符 void 表明没有可用的值. 4 派生类型: 它们包括:指针类型.数组类型.结构类型.共用体类型和函数类型.
-
C语言菜鸟基础教程之常量和变量
先动手编写程序: #include <stdio.h> int main() { int a = 1; printf("a = %d\n", a); a = 2; printf("a = %d\n", a); return 0; } 运行结果: a = 1 a = 2 程序分析: int a = 1; 定义了一个整型变量a,把1赋值给a.注意,C语言中的等号表示赋值,作用是把一个常量赋值给一个变量,这样变量就获得了一个临时的固定值. 为什么说是临时的呢?
-
C语言 常量,变量及数据详细介绍
一.数据 图片文字等都是数据,在计算机中以0和1存储. (一)分类 数据分为静态数据和动态数据. ①. 静态数据:一些永久性的的数据,一般存储在硬盘中,只要硬盘没坏数据都是存在的.一般以文件的形式存储在硬盘上,电脑关机重启后依然存在. ②. 动态数据:程序运行过程中,动态产生的的临时数据,一般存储在内存中,内存的存储空间一般较小,计算机关闭后这些数据就会被清除.软件或者电脑关闭则这些临时数据会被清除. ③. 静态数据和动态数据可以转换. ④. 注意:为什么不把动态数据存放到硬盘?因为直接访问内存
-
详解C语言中的符号常量、变量与算术表达式
C语言中的符号常量 在结束讨论温度转换程序前,我们再来看一下符号常量.在程序中使用 300.20 等类似的"幻数"并不是一个好习惯,它们几乎无法向以后阅读该程序的人提供什么信息,而且使程序的修改变得更加困难.处理这种幻数的一种方法是赋予它们有意义的名字.#define 指令可以把符号名(或称为符号常量)定义为一个特定的字符串: #define 名字 替换文本 在该定义之后,程序中出现的所有在 #define 中定义的名字(既没有用引号引起来,也不是其它名字的一部分)都将用相应的替换文本
-
C语言入门之浅谈数据类型和变量常量
目录 1.变量的作用域: 2.变量的生命周期: 1.字面常量,如:100,‘v’: 2.define宏定义的标识符常量 3.const修饰的常变量 4.枚举常量 总结 首先我们来罗列一下C语言的基本数据类型(未提及的后续将在关键字专题讲解): 类型名称 所占字节 char(字符型) %c 2 short(短整形) %d 2 int(整形) %d 4 long int(长整形) %ld 4 long long int(长整形) %lld 8 float(单精度浮点型) %f 4 double(双精
-
Python入门_浅谈逻辑判断与运算符
这是关于Python的第6篇文章,主要介绍下逻辑判断与运算符. (一) 逻辑判断: 如果要实现一个复杂的功能程序,逻辑判断必不可少.逻辑判断的最基本标准:布尔类型. 布尔类型只有两个值:True和False,在Python语言中对应的是1和0. 在Pycharm中输入如下代码,运行后将会得到True或False的反馈. print(1 > 2) print('m' in 'member') print(7 >= 7) print(3 != 3) 在这里,我们将能返回布尔值的表达式称为布尔表达式
-
零基础易语言入门教程(四)之数据类型
我们一起了解下易语言的数据类型,跟我们现实生活是一样的,分为文本型和数值型,即是我们所说的文科生和理科生的区别. 参考文章:详解易语言中的数据类型 方法和步骤如下所示: 1.数值型(到数值命令): 使用该命令可将文本型等一类数据更改为数值型:我们来输入一行代码看看其作用: 2.到文本()命令: 我们先输入一行代码试试,见下图 3.小结: 每一行代码前后的数据类型必须转换为同一种,方可进行相连,相加,"+"在数据为文本型时是连接作用,数值型的跟数学里的符号一样. 以上所述是小编给大家介绍
-
Python入门_浅谈for循环、while循环
Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的基本结构如下: 具体看这个案例: 设计一个函数,在桌面创建10个文本,用数字从1-10依次给它们命名. def text_create(): path = '/Users/duwangdan/Desktop/' for text_name in range(1,11): # 1-10的范围需要用到r
-
浅谈php中变量的数据类型判断函数
在php中我们可以通过 var_dump()打印出变量的类型和值.同时我们可以通过一些函数判断变量的类型.如果只是想得到一个变量的数据类型,可以使用gettype()函数,gettype($t) 返回$t的数据类型的字符串,要是$t不属于php中8种基本变量类型,返回"unknow type".我们还可以通过is_type系类函数直接判断是否为type类型函数,是的话返回true ,不是返回false. 如: is_bool() 是否为布尔型 is_int()
-
Python入门_浅谈数据结构的4种基本类型
数据结构:通俗点说,就是储存大量数据的容器.这里主要介绍Python的4种基本数据结构:列表.字典.元组.集合. 格式如下: 列表:list = [val1,val2,val3,val4],用中括号: 字典:dict = {key1:val1,key2:val2},大括号,且每个元素是带有冒号的key与val的对应关系组: 元组:tuple = (val1,val2,val3,val4),小括号: 集合:set = {val1,val2,val3,val4},大括号. 1. 列表: list =
-
Python入门_浅谈字符串的分片与索引、字符串的方法
这篇文章主要介绍了字符串的分片与索引.字符串的方法. 字符串的分片与索引: 字符串可以用过string[X]来分片与索引.分片,简言之,就是从字符串总拿出一部分,储存在另一个地方. 看下面这个例子,string[0]代表第一个字符,string[-1]为最后一个字符,空格也算一个字符:如果想截取某一段字符时,可以用string[X:X]来表示,其中冒号切记需为英文状态下的,如果从头或是从结尾开始截取,可以直接省略掉开头和结尾的表示. string = 'I am a Product Manage
-
GO语言入门学习之基本数据类型字符串
目录 字符串 字符串转义符 byte和rune类型 修改字符串 类型转换 总结 字符串 Go语言中的字符串以原生数据类型出现. Go 语言里的字符串的内部实现使用UTF-8编码. 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符 GO语言中字符串是用双引号包裹的 GO语言中单引号包裹的是字符 // 字符串 s := "Hello 中国" // 单独的字母.汉字.符合表示一个字符 c1 := 'h' c2 := '1' c3 := '中' //
-
浅谈使用Python变量时要避免的3个错误
Python编程中经常遇到一些莫名其妙的错误, 其实这不是语言本身的问题, 而是我们忽略了语言本身的一些特性导致的,今天就来看下使用Python变量时导致的3个不可思议的错误, 以后在编程中要多多注意. 关于Python编程运行时新手易犯错误,这里暂不作介绍,详情参见:Python运行的17个时新手常见错误小结 1. 可变数据类型作为函数定义中的默认参数 这似乎是对的?你写了一个小函数,比如,搜索当前页面上的链接,并可选将其附加到另一个提供的列表中. def search_for_links(p
-
浅谈对Python变量的一些认识理解
一.Python变量 在大多数语言中,为一个值起一个名字时,把这种行为称为"给变量赋值"或"把值存储在变量中".不过,Python与许多其它计算机语言的有所不同,它并不是把值存储在变量中,而像是把名字"贴"在值的上边(专业一点说法是将名字绑定了对象).所以,有些Python程序员会说Python没有变量,只有名字,通过名字找到它代表的值. Python中的变量,与其它开发语言(如C语言)的不同: 在C语言中,变量类似于一个"容器&quo
随机推荐
- SQL判断字段列是否存在的方法
- MySql报错Table mysql.plugin doesn’t exist的解决方法
- 解析PHP跳出循环的方法以及continue、break、exit的区别介绍
- javascript 操作cookies及正确使用cookies的属性
- C#字符串内存分配与驻留池学习分享
- 纯js实现图片匀速淡入淡出效果
- IT 的六大成功要素
- Msxml2.XMLHTTP Msxml2.ServerXMLHTTP与缓存
- 教你轻松恢复/修复SQL Server的MDF文件
- jQuery 1.3 和 Validation 验证插件1.5.1
- 表格单元格交错着色实现思路及代码
- javascript中的括号()用法小结
- C语言实现的排列组合问题的通用算法、解决方法
- Java网络通信基础编程(必看篇)
- 400多行Python代码实现了一个FTP服务器
- ASP.NET 5升级后如何删除旧版本的DNX
- ASP.NET Core 2.0中Razor页面禁用防伪令牌验证
- Python tornado队列示例-一个并发web爬虫代码分享
- PyTorch搭建一维线性回归模型(二)
- Scala中的mkString的具体方法