您当前的位置: 首页 > 资讯 >

C语言中的基本数据类型

2023-04-26 18:17:43 来源:Linux兵工厂

C语言是非常重要的一门程序设计语言,学好C语言再去学习其他编程语言将变得很轻松,因为大部分语言的都有相同的共性存在。 本节我们来讲解一下C语言中的基本数据类型,掌握如何使用变量以及变量在编程中的作用及重要性,学会区分变量的存储类型,学会如何声明并初始化变量,了解字符和数值之间的不同。


(相关资料图)

1. 内存

在学习变量之前,我们先来了解一下计算机内存的一些基本知识,了解计算机内存能很好地帮助理解C编程

RAM随机存储器,通常位于计算机内部,具有易失特性,RAM只能在计算机运行时保存信息,计算机掉电后丢失。每台计算机都需要一定容量的RAM硬件支持。 在计算机系统中,用字节(Byte)表示RAM的大小1GB=1024MB,1MB=1024KB,1KB=1024B字节是计算机数据存储的基本单位,在计算机中RAM是按顺序逐字节排列的,每个字节都有唯一的地址(即我们常说的内存地址)。 地址按顺序付给内存地址,一直增长到内存的最大值。了解了内存地址有助于C编程中理解变量的存储及所占用的内存空间大小。 在编程中出现问题时方便我们知道如何去查找问题,而不是一头雾水。

2. C代码规范

说到变量就不得不说变量的命名,说到变量命名就不得不说编程中代码的规范问题。 虽然在C编程中变量命名是有一定自由的,但是为了我们编写的代码具有可读性、友好性、可维护性,在开始进行编程时,就要养成良好的编程习惯,按照程序的规范去编写代码。 具有良好的编码规范和习惯能很好的减少编程中出现不必要的错误。 下面我们说一下基本的编码规范。

变量命名

在C编程中使用变量,我们首先就是要知道如何创建和命名变量。 C语言中的变量必须遵循以下规则

变量名由字母(a-z,A-Z)、数字(0-9)、下划线组成(_)变量名的第一个字符必须为字母和下划线C语言区分大小写,Test和test是两个不同的变量C语言中的关键不能用作变量,因为关键字是C语言的一部分一般C编译器不允许变量的命名字符无限长,一般不超过31个
#include int main(int argc, char const *argv[]){    /* 变量定义 */    int iTest;     // 合法    int itest;     // 合法    int iTest1;    // 合法    int iTest_1;   // 合法    int _iTest;    // 合法    int 1iTest;    // 非法    return 0;}

函数命名

定义函数时一般用单词表示函数的作用,并且每个单词首字母大写。 这是作者习惯性用法,不是必须的。

例如:

int TestAddTwoNumber(int iA, int iB)    {        return (iA + iB);    }

注释

程序中代码的注释是为了做说明,方便理解代码的功能。 良好的代码注释能给人更好的阅读感,并且方便其他人进行代码的维护。 C编程中代码的注释有//和/**/两种

// 木荣君本人习惯做单行注释/**/ 木荣君本人习惯做多行注释

3. 数值类型

C语言中有多种不同的数值变量,不同类型的数值变量需要不同的内存空间,而且占用的内存空间也不尽相同。 选用合适的变量类型,可以使程序的运行效率提高。

C语言中的数值变量基本上分两大类:

整型变量,存储没有小数部分的数值,分为有符号和无符号变量。 有符号变量可以存储正负值,无符号变量只能存储正值和零。浮点型变量:存储带有小数部分的值

下面看一下C语言的数值数据类型

不同的数值变量类型所占内存大小不同,依不同的计算机平台而有差异。 下面我们看一下在64位的ubuntu上数值变量类型的大小。
#include int main(int argc, char const *argv[]){    printf("sizeof(char) = %lu\\n", sizeof(char));    printf("sizeof(short) = %lu\\n", sizeof(short));    printf("sizeof(int) = %lu\\n", sizeof(int));    printf("sizeof(long) = %lu\\n", sizeof(long));    printf("sizeof(long long) = %lu\\n", sizeof(long long));        printf("sizeof(unsigned char) = %lu\\n", sizeof(unsigned char));    printf("sizeof(unsigned short) = %lu\\n", sizeof(unsigned short));    printf("sizeof(unsigned int) = %lu\\n", sizeof(unsigned int));    printf("sizeof(unsigned long) = %lu\\n", sizeof(unsigned long));    printf("sizeof(unsigned long long) = %lu\\n", sizeof(unsigned long long));    printf("sizeof(float) = %lu\\n", sizeof(float));    printf("sizeof(double) = %lu\\n", sizeof(double));    return 0;}

变量声明

在C程序中,要想使用变量,前提是必须先声明。 变量声明就是告诉编译器变量的类型和名称,建议在声明变量时进行指定初始值。 这样做是有好处的,因为变量不指定初始值,会默认赋值随机值。

变量的声明格式如下:typename varnametypename:指定变量的类型 varname:指定变量名

例如:

int iVar1,iVar2;    int iVar2;    int iVar4;    float fVar5;    double dVar6;

变量初始化

上面提到了声明变量时如果不进行指定初始值,系统会随机赋一个随机值。 所以在声明变量时进行赋值初始值。

int iVar1 = 0, iVar2 = 1;    int iVar2 = 1;    int iVar4 = -1;    float fVar5 = 0.1;    double dVar6 = 1.2;
注意,赋值变量初始值时不能超过变量的表示范围。 如果超过范围编译可以通过,但是程序运行时可能发生意想不到的问题。

4. 常量

常量与变量类似,但是与变量不同的是存储在常量中的值在程序运行中是不可改变的。 C语言中有两种类型的常量字面常量和符号常量。

字面常量

int cnt = 20;    float rate = 0.51
20和0.51都是字面常量,上面的声明是将这两个字面常量分别存储在cnt和rate中。 其中,20不带小数点的字面常量是整型常量,0.51是带小数点的字面常量是浮点型常量。 C编译器将没有小数点的常量认为整型常量,带有小数点的常量为浮点型常量。

符号常量

程序中,用常量名来表示符号常量。 与字面常量一样,程序运行时也不能改变符号常量。 符号常量的好处是为编码和阅读带来便利性。

#include #define PI3.14  // 定义符号常量int main(){    double dRes = 2.PI;    printf("%lf\\n", dRes);    return 0;}

5. 变量的存储类型

C编程中可以选择变量的不同存储形式,分为静态存储和动态存储。 可以通过存储类型修饰符来告诉编译器是什么类型的变量。

静态存储和动态存储

静态存储是指程序运行分配的固定存储方式,而动态存储则是在程序运行期间动态分配存储空间。

auto变量 修饰一个局部变量为自动的,就是每次执行到该变量时,就会产生一个新的变量。 如果不加auto关键,默认也是自动变量。static变量 修饰为静态变量,static变量在语句执行期间始终保持它的值,并且初始化只在第一次执行时起作用,在随后的执行中保持上一次执行时的值。register变量 称为寄存器变量。 把某个局部变量存放在计算机的硬件寄存器而不是内存中,这样可以提高程序的运行效率。 实际编程中用处不大。extern变量 为外部存储变量,extern声明程序中用到的在其他地方定义的变量。
/* 文件1 */#include int main(){    extern int a;    printf("a = %d\\n", a);    return 0;}/* 文件2 */#include int a = 100;

那么上述结果打印输出a = 100;

总结

本节阐述了有关变量和常量的基本内容,以及如何在程序中使用变量。 最后介绍了变量的存储类型,掌握这些基本的知识是C编程所应该具备的能力。 希望通过本节对你有所帮助。 最重要的是我们要学会从编写代码中去理解这些知识,不要纸上谈兵,要学会操练起来。

上一篇:

炒黄金哪个平台好_丝瓜炒蛋怎么炒好吃_世界球精选

下一篇:

最后一页

x
精彩推送