下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

初探C语言变量和数据类型

作者:课课家教育     来源: http://www.kokojia.com点击数:707发布时间: 2019-03-01 09:50:14

标签: 编程语言C语言变量和数据类型

大神带你学编程,欢迎选课

  C语言作为高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元,了解其变量和数据类型是我们学习C语言的重要一步之一,下面课课家笔者就为大家详细介绍C语言的变量和数据类型。

  ◎变量(Variable)

初探C语言变量和数据类型_编程语言_C语言_变量和数据类型_课课家教育

  为了方便整理,在生活中我们常用储物柜来归纳和整理杂物。同样我们在使用计算机的时候,我们也需要先在内存中找一块区域规定用它来存放整数,并起一个好记的名字以方便以后查找,而这块区域就是计算机中的“储物柜”,通过“储物柜”我们可以把整数放进去。C语言中这样在内存中找一块区域:int a;int又是一个新单词,它是Integer的简写,其意思是整数。a是我们给这块区域起的名字。这个语句的意思是:在内存中找一块区域,命名为a,用它来存放整数。此时需要我们注意的是inta之间是有空格的,它们是两个词。另外我们也要注意最后的分号,由于int a表达了完整的意思是一个语句,我们最后要用分号来结束。不过int a;仅仅是在内存中找了一块可以保存整数的区域,那么如何将123、100、999这样的数字放进去呢?

  通常在C语言中我们是这样向内存中放整数的:

  a=123;

  =是一个新符号,它在数学中叫“等于号”,例如1+2=3,但在C语言中,这个过程叫做赋值(Assign)。赋值是指把数据放到内存的过程。

  接下来我们把上面的两个语句连起来:

  int a;

  a=123;

  简而言之就是把123放到了一块叫做a的内存区域。我们也可以写成一个语句:

  int a = 123;

  a中的整数不是一成不变的,只要我们需要,随时可以更改。更改的方式就是再次赋值,例如:

  int a = 123;

  a=1000;

  a=9999;

  此时第二次赋值会把第一次的数据覆盖(擦除)掉,也就是说a中最后的值是9999,123、1000已经被覆盖掉了。

  因为a的值可以改变,所以我们给它起了一个形象的名字,叫做变量(Variable)。

  int a;创造了一个变量a,我们把这个过程叫做变量定义。a=123;把123交给了变量a,我们把这个过程叫做给变量赋值;又因为是第一次赋值,也称变量的初始化,或者赋初值。

  我们可以先定义变量,再初始化,比如:

  int abc;

  abc=999;

  当然我们也可以在定义的同时进行初始化,例如:

  int abc = 999;

  这两种方式是等价的。

  ◎变量定义的位置

  通常情况下在VC或VS下,变量定义要放在函数的开头;也就是说在定义变量之前不能有其他代码。而在GCC、Xcode下,或者在使用了GCC编译器的C-Free、DevC++、Code::Blocks下,变量定义可以放在函数的任意位置。

  比如下面的代码在VC、VS、GCC、Xcode下都是正确的:

  #include <stdio.h>

  int main()

  {

  int a = 10;

  int b = 1000;

  printf("KoKojia");

  return 0;

  }

  如果我们对代码稍作修改,将printf语句放在变量a、b中间,具体如下所示:

  #include <stdio.h>

  int main()

  {

  int a=10;

  printf("KoKojia");

  int b = 1000;//在定义b变量之前有printf语句

  return 0;

  }

  修改后的代码在GCC、Xcode下是正确的,而在VC、VS下就是错误的。

  ◎数据类型(DataType)

  数据是放在内存中的,变量是给这块内存起的名字,有了变量就可以找到并使用这份数据。我们知道,诸如数字、文字、符号、图形、音频、视频等数据都是以二进制形式存储在内存中的,它们并没有本质上的区别,那么,00010000该理解为数字16呢,还是图像中某个像素的颜色呢,还是要发出某个声音呢?如果没有特别指明,我们并不知道。也就是说,内存中的数据有多种解释方式,使用之前必须要确定;上面的int a;就表明,这份数据是整数,不能理解为像素、声音等。int有一个专业的称呼,叫做数据类型(DataType)。顾名思义,数据类型用来说明数据的类型,确定了数据的解释方式,让计算机和程序员不会产生歧义。在C语言中,有多种数据类型,比如:

  字符型(char)、短整型( short)、 整型(int)、 长整型(long)、 单精度浮点型(float)、 双精度浮点型(double)和 无类型(void)。     

  以上这些是最基本的数据类型,都是C语言自带的。

  ◎连续定义多个变量

  为了让程序的书写更加简洁,C语言支持多个变量的连续定义,比如:

  int a,b,c;

  float m = 10.9,n = 20.56;

  char p,q = '@';

  连续定义的多个变量以逗号,分隔,并且要拥有相同的数据类型;变量可以初始化,也可以不初始化。

  ◎数据的长度(Length)

  所谓数据长度(Length),是指数据占用多少个字节。占用的字节越多,能存储的数据就越多,对于数字来说,值就会更大,反之能存储的数据就有限。多个数据在内存中是连续存储的,彼此之间没有明显的界限,如果不明确指明数据的长度,计算机就不知道何时存取结束。比如我们保存了一个整数1000,它占用4个字节的内存,而读取时却认为它占用3个字节或5个字节,这显然是不正确的。所以在定义变量时还要指明数据的长度,而这恰恰是数据类型的另外一个作用。数据类型除了指明数据的解释方式,还指明了数据的长度。因为在C语言中,每一种数据类型所占用的字节数都是固定的,知道了数据类型,也就知道了数据的长度。在32位环境中,各种数据类型的长度一般如下:

  字符型(char)长度为1 、短整型(short)长度为2、 整型(int)长度为4、 长整型(long)长度为4、 单精度浮点型(float)长度为4和 双精度浮点型(double)长度为8      

  总结:数据是放在内存中的,当我们在内存中存取数据要明确三件事情:数据存储在哪里、数据的长度以及数据的处理方式。变量名不仅仅是为数据起了一个容易记住的名字,它还告诉了我们数据存储在哪里,当使用数据时我们只要提供变量名就可以了,而数据类型则指明了数据的长度和处理方式。所以诸如intn;charc;floatmoney;这样的形式就确定了数据在内存中的所有要素。

  C语言提供的多种数据类型让程序更加灵活和高效,同时也增加了学习成本。而有些编程语言,例如phpJavascript等,在定义变量时不需要指明数据类型,编译器会根据赋值情况自动推演出数据类型,更加智能。除了C语言,java、C++、C#等在定义变量时也必须指明数据类型,这样的编程语言称为强类型语言。而PHP、Javascript等在定义变量时不必指明数据类型,编译系统会自动推演,这样的编程语言称为弱类型语言。强类型语言一旦确定了数据类型,就不能再赋给其他类型的数据,除非对数据类型进行转换。弱类型语言没有这种限制,一个变量,可以先赋给一个整数,然后再赋给一个字符串。数据类型只在定义变量时指明,而且必须指明;使用变量时无需再指明,因为此时的数据类型已经确定了。

  本次初探C语言变量和数据类型的教程到此暂告一段落,以后有补充的笔者会继续补充,希望这个教程对大家学习C语言起到一定的帮助。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程