惧留孙网

juliusun.com

在线教程 > C语言教程 > 基本数据类型及变量

基本数据类型及变量

第 5/50 节 冥河C语言教程


数据操作是C语言的一项基本功能。在C语言中,数据有类型之分,通常我们将基本数据类型分为 字符类型、整数类型、小数类型。字符、整数类型分有符号signed和无符号unsigned两种。字符型无符号不常用。有符号的数据类型可以表示负数、零和正数,无符号的类型只能表示零和正数,无法表示负数。小数类型又被称为浮点型。整型和浮点型只是总称,他们还要再进行分类。

我把上面的知点总结一下,并且再附加上一些信息,总结成有符号数据类型列表:

有符号数据类型列表

数据类型 关键字 描述 字节数 范围/小数点个数
短整型 short 2 -32768 ~ 32767/无
整数类型 整型 int 如 -1 、 0 、 99 4 -2147483648 ~ 2147483647/无
长整型 long 4 -2147483648 ~ 2147483647/无
小数类型 单精度浮点 float 如 -1.5、3.2 4 -2^128 ~ 2^128 / 6~7
双精度浮点 double 8 -2^1024 ~ 2^1024 / 15~16
字符类型 字符类型 char 单引号引起字符如 'a'、'9' 1 -128 ~ 127/无

需要注意的是,字符类型和数字类型写法,9是数字9,单引号引起来的'9'是字符9。

无符号数据类型表示时,只需要在原有的类型如int上加上unsigned并用空白字符分隔即可如unsigned int。浮点数类型一般不支持无符号。无符号数据类型只能表示正数和零,无法表示负数。

无符号数据类型列表

数据类型 表示方法描述字节数范围/精度(位有效数字)
短整型 unsigned short 2 0~65535/略
整数类型 整型 unsigned int 直接用数字表示,如0、99 4 0 ~ 4294967295 / 略
长整型 unsigned long 4 0 ~ 4294967295 / 略
小数类型 单精度浮点型 不支持 不支持 不支持 不支持
双精度浮点型 不支持 不支持 不支持
字符类型 字符类型 unsigned char 很少用 1 0~255/略

需要注意的是,C语言中有一种字符串类型,字符串是由多个字符类型数据组成 的,并不是一种新的基本类型。字符串用双引号表示,如字符串abc用"abc"来表示。注意,字符串不是一种新的数据类型。

字符char类型尤其注意一下,很多单个字符是可以直接用单引号引起来的,但是转义字符例外,转义字符是用单引号引起来的反斜线\加后面的一个名多个字符,常用转义字符列表如下:

转义字符说明
\\代表字符反斜线
\'代表单引号'
\"代表双引号"
\r将光标移动本行开头
\n换行
\t水表制表符,跳到下一个制表位置
\a响铃
\b退格
\v垂直制表符
\f换页
\xhh注意,hh代表最多两个16进制字符,代表字符对应的ASCII码
\ddd注意,ddd代表最多三个8进制字符,代表字符对应的ASCII码
\0空字符(NULL)

上述列表列出了常用转义字符,要查询所有转义字符,点击 要查询所有关键字,可点击 查询转义字符

我们可以发现规律,就是支持无符号的数据类型,表示的最大值是其对应有符号类型的最大值乘2加1,最小值为0。为什么呢?如果你没有学过二进制跳过本段即可,因为有符号类型,最高位的0和1当作符号位用,分别表示正负号。无符号类型把最高位同样当作正常数字位。所以有符号最大值是有符号的2倍是正常,为什么还要加1呢?因为在二进制里,正0是0,负0表示的是负的最大值,这就是为什么有符号数据类型,负数最小值绝对值比正的最大值数大1。当为符号时,这个数可以用来表示最大的数。所以是2倍加1。不懂的话,可以加群或作者QQ。页面下方有群号和QQ号。

C语言中,常量的值是不会改变的,比如数字9永远是9,不会变。

表示可变信息时,C语言中使用变量,变量存储内容可变的数据。C语言规定,变量使用前必须定义,每个变量都要有个变量名。C语言定义变量的方式是:"数据类型 逗号分隔的变量列表;"。注意,以分号结尾。定义变量属于语句,C语言语句必须以分号结尾。定义变量时,如果只定义一个变量,逗号分隔符省略。如:


  1. //定义一个int类型的变量,变量名为i
  2. int i;
  3. //定义两个int类型的变量,分别为x和y
  4. int x , y;

变量名的有什么命名规则?

C语言中,变量名、常量名、数组名、函数名、类型别名(typedef等关键字定义)、语句标号等命名的有效字符序列统称为标识符,标识符用来表示一个实体。变量命名规则当然遵循标识符命名规则。下面介绍标识符命名规则。

C语言中,标识符只能由大小写字母、数字、下划线3种字符组成,且第一个字符不能为数字,在有效范围内,标识符不能重复,不能与关键字冲突。C语言预定义类型属于关键字,要查询所有关键字,可点击 查询C语言关键字。标识符区分大小写a和A是两个不同的标识符。下面给出几个示例:


  1. long book_1,book_2,_BOOK3,a,A;  //正确
  2. int 9i; //错误,首字母不能为数字
  3. //错误,两个变量都为a,重复
  4. char a,b,a;
  5. //错误,char是表示字符类型的关键字
  6. int char;
  7. //错误,仅限字母数字下划线,'$'非法
  8. int ab$cd;

部分编译器中,所有局部变量都必须定义在语句块开头。使用这种编译器时,任意一个变量定义之前,不能有非变量定义语句执行。编译器报错时,注意排除这方面错误。

注意:C语言语句以分号结尾。定义变量、定义类型、函数返回return语句等都属于语句,都必须以分号结尾。一行可以写多个语句,例如int i;char c;在写一行是可以的,本节考虑到代码美观性,每行最多只有一条语句。

作者:冥河 QQ:3304576112
交流QQ群:554701039 C语言讲课群
本教程内容由本站保留版权,请勿复制传播
抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的