C语言的数据类型(整型、字符型,浮点型等详细介绍、ASCLL表以及常量、变量的详细介绍)

这篇具有很好参考价值的文章主要介绍了C语言的数据类型(整型、字符型,浮点型等详细介绍、ASCLL表以及常量、变量的详细介绍)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言的数据类型基本介绍

        在C语言中,数据类型可以分为:基本数据类型(整型、浮点型/实型、字符型)、构造数据类型(数组、指针、结构体、共用体、枚举)以及空类型(万能类型void)。常用的有:整形(int)、字符型(char)、短整型(short)、长整型(long)、单精度浮点型(float)、双精度浮点型(double)。
        1. 整型
        1)整型数据类型概述
        整型数据是指不包含小数部分的数值型数据(例如:123、-123、567),整型数据类型使用关键字“int”来表示。C语言规定了一个“int”整型数据至少占用2个字节的空间大小,通常占用4个字节的空间(8位、16位单片机中int占2个字节,32位单片机和PC电脑int占4个字节)。以下所讲的int类型都是以32位单片机为基础的。    
        2)整型数据类型分类
        整型数据根据是否支持符号(正负号)形式分为:有符号类型(signed)和无符号类型(unsigned),缺省(默认)表示为有符号类型(int 等价于 signed int)。 
        a)有符号类型     4byte  = 32bit   1个符号位 + 31个数据位
        int / signed int有符号类型的整型数据使用最高位来表示符号位(0:正  1:负),其余31位用来表示数据。数据的取值范围是:-2^31~+2^31-1。(之所以是31次方是因为一共有32位但是有一位做符号位去了,所以只剩31位。  因为有0,所以 -1 )
        b)无符号类型  unsigned int--unsigned不允许省略
        无符号类型的整型数据只能表示正整数,所有32位都用来表示数据。数据的取值范围是:0~2^32-1。   

        注:如果数值超出了取值范围,像unsigned int(无符号整型)的最大值为4294967295,如果存入的数值为4294967296,则输出结果为0;会出现循环的情况。像signed int(有符号整型,一般signed省略不写,直接用int来表示)的取值范围为- 2147483648  ~ 2147483647如果存入的数值为2147483648则输出结果为- 2147483648但是如果需要的是无符号的整型,则必须写unsigned int ,这个unsigned不能省略。并且计算机的溢出属于归位溢出,一旦出现溢出情况,那么计算机就会从最大值或者最小值重新开始计算,超出多少,就从最值开始数几个位,应该避免溢出的情况,前期影响不大,后期会出现bug。
 

2. 字符型-----主要是用来存储字符
1)字符型数据类型概述 
        字符型数据使用关键字“char”来表示。字符型数据是在存储空间中通过存储一个特定的整数来表示一个特定的字符(ASCII)。  字符的表示方法为:单引号引起来单独的一个字符,单引号引起来的叫字符。常用的有   '0'  'a'  'A'  '\0' '\n'  ' ' 。最后一个是空格

这几个需要牢记,并且可以通过这几个将后面的推出来,知道字符‘0’就能推出字符‘1’~‘9’,知道‘a’~就能推出‘b’~‘z’,大写一样,严格区分大小写)。

常用字符ASCLL码:
'0'----48        'a'----97        'A'----65        '\0'---0        '\n'---10'        ' '---32

ASCLL表

长整型和浮点型,一起学C语言,c语言

2)字符型数据意义  ----char的功能 
        a)存放整数  -128 ~ 127          0-255
                C语言中规定“char”占1个字节空间大小,字符型同样分“有符号(char/signed char,数据的取值范围是:-2^7~+2^7-1)”和“无符号(unsigned char,数据的取值范围是:0~2^8-1)”。
        b)存放字符  ‘ ’ 
                C语言中字符分为两类,一类为打印字符(可见字符,普通字符),使用单引号(’’)括起来,例如:'a'、'1'、' ';另一类为控制字符(不可见字符,转义字符),使用反斜杠(\)+字符来表示。例如:\n(换行)、\r(空格)、\b(退格)、\t:Tab。(常用的就这几个,需要牢记。其他可以不用记忆)
注:字符型属于两种表示方法,可以表示一个整数,也可以表示一个字符,字符使用的原则是:只要在程序中,凡是看到字符,其实就是一个整数,当整数来使用。


3. 短整型   2byte-16bit
        短整型数据类型使用关键字“short(short int)”来表示,C语言中规定了短整型占2个字节大小的空间,同样短整型也分为“有符号短整型(short/signed short,数据的取值范围是:-2^15~+2^15-1)”和“无符号短整型(unsigned short,数据的取值范围是:0~2^16-1)”。 最大值是65535,要牢记这个数,在考试或面试中有很大机率出现

4. 长整型    
        长整型数据类型使用关键字“long”来表示,C语言中规定了长整型占4个字节大小的空间,同样长整型也分为“有符号长整型(long/signed long,数据的取值范围是:-2^31~+2^31-1)”和“无符号长整型(unsigned long,数据的取值范围是:0~2^32-1)”。


5. 长长整型---C99
        长长整型数据类型使用关键字“longlong”来表示,C语言中规定了长长整型占8个字节大小的空间,同样长长整型也分为“有符号长长整型(longlong/signed longlong,数据的取值范围是:-2^63~+2^63-1)”和“无符号长长整型(unsigned longlong,数据的取值范围是:0~2^64-1)”。但需要注意,长长整型数据类型只有在C语言的C99标准中存在,在C89标准中是不存在的。

6. 浮点型/实型---小数类型
1)浮点型数据类型概述    
        浮点型数据类型也称为“实型数据类型”,来用存储带有小数点的数据(必须有小数点),例如:-12.0、23.456、25.。浮点型数据中不区分“有符号”和“无符号”,固定为“有符号”类型(数据的最高位为符号位)。
2)浮点型数据类型
        浮点型数据类型根据小数点的精确位数,分为“单精度浮点型”和“双精度浮点型”。
a)单精度浮点型
        单精度浮点型使用关键字“float”来表示,C语言中规定“float”占4个字节的大小空间,小数点至少精确到小数点后的6~7位。
b)双精度浮点型
        双精度浮点型使用关键字“double”来表示,C语言中规定“double”占8个字节的大小空间,小数点至少精确到小数点后的16~17位。
        注:无论是单精度还是双精度,不需要考虑整数部分是否能存的开,只需要考虑小数点后的精确度即可。

数据常量和数据变量
1. 数据常量
数据常量概述  
        数据常量是指在程序运行的过程中,其值是不可改变的数据。因为常量的数值不可改变,一般使用一个固定的数值去表示一个常量。例如:12、-78、12.89、's'。
        数据常量分类 
        数据常量分为“数值型常量”和“字符型常量”两种,通过数据的形式可以判断常量的类型,常量的数据类型使用默认类型。
        1)数值型常量  15456ul   15.6    15--int   15UL  15.2
        整型常量类型默认为“int(有符号整型)”,浮点型常量默认为“double(双精度浮点型)”。可以通过尾缀的形式改变数值常量的类型,如:12L表示为“long(长整型)”,12ul表示为“无符号长整型”。
        2)字符型常量  
        字符型常量分为“字符常量”和“字符串常量”。  
        a)字符常量:使用单引号(‘’)引起来的单个字符。如:'a'、'1',在存储器中占1个字节的空间。  
         “5”  ---字符串5,他所表示的字符为:”5” =‘5’+‘\0’
         ‘5’---只有一个字符,字符为5,ASCLL码就是53
        b)字符串常量:使用双引号(“”)引起来的单个或多个字符。如:“a”、“Hello”,在存储器中占的空间大小为字符串字符个数+1个字节。 
        注:在字符串结束的时候,编译器会在字符串的最后面加上一个字符串结束字符‘\0’。

2. 数据变量
2.1 数据变量概述   
        数据变量是指在程序运行的过程中,其值可以改变的数据。因为变量的数值是可以变化的,不是固定不变的,一般使用一个固定的名称(标识符)来表示一个变量。
2.2 数据变量组成
        数据变量由变量名(标识符)和变量值(常量数值、变量、表达式)两部分组成。
2.3 变量、数组、结构体、链表、函数、指针(标识符)的命名规则--只要在C语言中取名字都必须要遵守这三条
        1)、只能由字母(严格区分大小写)、数字、下划线以及美元符号($)组成
        2)、不能以数字开头
        3)、不能与关键字重复(重名)   

        注:在定义变量名的时候,遵循“望文生义”的原则,尽量使用突出“内容”、“功能”以及“含义”等词汇来对变量进行命名(可参考华为C语言规范.pdf文档,需要可以私信)。


3. 数据变量定义
        变量定义的格式:数据类型  变量名; int a,b,c;
        例如:int    age  = 0;   // 定义了一个整型变量age 
        1)数据类型:规定了变量能够保存什么样类型的数据。使用“基本类型”、“构造类型”以及“空类型”来作为变量的数据类型。
        2)变量名:数据变量的标识符,代表该变量的名称。
4. 数据变量赋值
        1)初始化赋值:在定义变量的时候,使用“赋值运算符(=)”来直接给变量进行赋值,不用的变量一般初始化为0。  int a = 0;   int  A  = 102;
        2)不初始化赋值:在定义变量 的时候,没有给变量赋初始值,那么这个变量的初始值为随机值(在大括号内(函数内)的变量)  int a 文章来源地址https://www.toymoban.com/news/detail-724981.html

到了这里,关于C语言的数据类型(整型、字符型,浮点型等详细介绍、ASCLL表以及常量、变量的详细介绍)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 问题:以下选项中,( )是不正确的C语言字符型常量. #学习方法#媒体

    问题:以下选项中,( )是不正确的C语言字符型常量. A、\\\"a\\\" B、\\\'101\\\' C、\\\'x4l\\\' D、\\\'a\\\' 参考答案如图所示

    2024年02月20日
    浏览(40)
  • dplyr-as.numeric保留行名转换数据框(矩阵)的所有字符型列向量为数值型

    当需要对矩阵进行数学运算的时候,如果矩阵的数据类型为字符型,是无法应用 “mathematical” 类函数的(会抛出异常 E r r o r : n o n − n u m e r i c a r g u m e n t t o m a t h e m a t i c a l f u n c t i o n color{blue}{Error : non-numeric argument to mathematical function} E r r o r : n o n − n u m e r i

    2024年02月14日
    浏览(35)
  • Java字符串与字符型数组的转换

    通过本章可以了解到字符串与字符型数组之间相互转换的几种方法。 文章目录 一、字符串 —— 字符型数组  .toCharArray方法 .getChar方法 二、字符型数组 —— 字符串 .String方法 .copyValueOf方法         toCHarArray是将字符串中的一切字符均转换为字符数组。         用法为:字

    2024年02月15日
    浏览(45)
  • C++入门学习(十一)字符型

    C++中的字符型可以表示ASCII码中的所有字符,包括字母、数字、标点符号等。 ASCII码是一种用于编码字符的编码系统,它使用不同的数值来表示不同的字符。ASCII码使用7位或8位二进制数来表示每个字符,因此可以表示128或256个不同的字符。 在ASCII码中, 数字0-9的码值为30-39

    2024年01月22日
    浏览(43)
  • 【SQL注入】数字型注入 & 字符型注入

    目录 一、简介 概述 示例: 数据库中区别 二、数字型注入 简介: 判断: 三、字符型注入(需闭合) 简介: 判断: 一般会对数据的类型会有一个限制,不管怎么去区分,常用的数据类型有数值和字符型 通常SQL 注入漏洞分类: 按照数据类型:数值型、字符型、搜索型注入

    2024年02月01日
    浏览(52)
  • 基于SQLI的SQL字符型报错注入

    理解数字型报错SQL注入漏洞点的定位方法,掌握利用手工方式完成一次完整SQL注入的过程,熟悉常见SQL注入命令的操作。 渗透主机:KALI平台 用户名: college 密码: 360College 目标网站:SQLI平台的Less-1科目 用户名: xxx 密码: xxx 注意:将MySQL的版本调到5.5以上,因为这样数据库内才

    2024年02月12日
    浏览(49)
  • 字符型注入([SWPUCTF 2021 新生赛]easy_sql)

    拿到题目,查看源码,可知是要输入参数wllm。 输入参数/?wllm=1,得到会显 继续输入参数/?wllm=1\\\',报错,确定为字符型漏洞 1.查看字段列表,发现在字段4报错,确定为3列 2.查看回显 3.查询数据库名(test_db) 4.查看test_db库的表(users) 5.查询字段 6.出现flag字段,查看flag字段的内容

    2024年02月09日
    浏览(38)
  • 字符型液晶显示器LCD 1602的显示控制(Keil+Proteus)

    趁机把LCD 1602的实验完成了,那个电路图有几个地方没弄懂,但是去掉也没有报错,就没管了。 LCD1602_百度百科 (baidu.com) https://baike.baidu.com/item/LCD1602/6014393?fr=ge_ala LCD1602液晶显示屏通过电压来改变填充在两块平行板之间的液晶材料内部分子的排列状况,以达到遮光和透光的目

    2024年02月06日
    浏览(50)
  • 用selenium和xpath定位元素并获取属性值以及str字符型转json型

    页面html如图所示: 要使用xpath定位这个div元素,并且获取其属性data-config的内容值。  结果如图:  蓝色的为str类型,红色的为json类型。 那么先得到的是str类型,如何转换为json类型呢?使用如下代码即可。 import json json_attr=json.loads(str_attr) 读取json数据用json_attr[\\\'video\\\'][\\\'url\\\'

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包