C语言中的基本数据类型

5 篇文章 0 订阅
订阅专栏

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略

C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。

C语言的数据类型大致可以分为下图中的几类:

回到顶部

一、变量

跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。为什么一定要先定义呢?因为变量的类型决定了变量占用的存储空间,所以定义变量类型,就是为了给该变量分配适当的存储空间,以便存放数据。比如你是char类型,我就只给你分配1个字节就够了,没必要分配2个字节、3个字节乃至更多的存储空间。

下面的表格描述了在16位编译器环境下,基本数据类型所占用的存储空间,了解这些细节,对以后学习指针和数组时是很有帮助的

需要注意的是:

1.局部变量的使用跟Java稍微有点不一样

1> 在Java中,你声明了一个局部变量后,如果没有经过初始化赋值就使用该变量,编译器直接报错

第9行报错了,因为变量a没有初始化

 

2> 在C语言中,你声明看一个局部变量后,没有经过初始化赋值是可以使用的

复制代码
1 #include <stdio.h>
2 
3 int main()
4 {
5     int b;           
6     printf("%d", b);
7     return 0;
8 }
复制代码

但这是很危险的,不建议这样做。大多数人应该觉得变量b打印出来应该是0,其实不是。因为系统会随意给变量b赋值,得到的是垃圾数据。

上述代码的打印结果是:因此,局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。

* 如果全局的int类型变量,系统会默认赋值为0

 

2.char的取值范围是:ASCII码字符 或者 -128~127的整数

于是,使用char存储大写字母A有2种赋值方式:

// 方式1
char c = 'A';

// 方式2
char c = 65;

上面两种方式是等效的,因为大写字母A的ASCII码值刚好为65。 点击查看ASCII码表的所有值。

 

3.char只能存储一个字符

汉字或者字符串需要用字符数组来存储,因为一个汉字占了2个字符,一个字符串是由一个或者多个字符组成的。

因此,下面的写法都是错误的:

char c1 = '';
char c2 = '123';
char c3 = "123";

 

回到顶部

二、类型修饰符

我们还可以在基本数据类型的前面加一些修饰符,也有人称之为限定符,一样的意思。

有以下4种类型修饰符:

  • short  短型
  • long  长型
  • signed  有符号型
  • unsigned  无符号

1.用法演示

这些修饰符最常是用来修饰int类(可以省略int)

复制代码
 1 // 下面两种写法是等价的
 2 short int s1 = 1;
 3 short s2 = 1;
 4 
 5 // 下面两种写法是等价的
 6 long int l1 = 2;
 7 long l2 = 2;
 8 
 9 // 可以连续使用2个long
10 long long ll = 10;
11 
12 // 下面两种写法是等价的
13 signed int si1 = 3;
14 signed si2 = 3;
15 
16 // 下面两种写法是等价的
17 unsigned int us1 = 4;
18 unsigned us2 = 4;
19 
20 // 也可以同时使用2种修饰符
21 signed short int ss = 5;
22 unsigned long int ul = 5;
复制代码

 

2.short和long

1> short和long可以提供不同长度的整型数,也就是可以改变整型数的取值范围,比如short的取值范围是-32768~32767,long的取值范围就是-2147483648~2147483647

2> 当然,数据的存储长度也会跟着变化。比如,在64位编译器环境下,short占2个字节(16位),int占4个字节(32位),long占8个字节(64位)。世界上的编译器林林总总,不同编译器环境下,取值范围和占用的长度是不一样的,不过幸运的是,ANSI \ ISO制定了以下规则:

* short跟int至少为16位(2字节)

* long至少为32位(4字节)

* short的长度不能大于int,int的长度不能大于long

* char一定为为8位(1字节),毕竟char是我们编程能用的最小数据类型

 

3.signed和unsigned

1> signed代表有符号,包括正数、负数和0;unsigned代表无符号,只包括正数和0。比如,signed的取值范围是-32768~32767,那么unsigned的取值范围是0~65535,当然,不同的编译器有不同的取值范围

2> 其实,signed和unsigned的区别就是它们的最高位是否要当做符号位,并不会像short和long那样改变数据的长度,即所占的字节数,

 

4.signed、unsigned也可以修饰char,long还可以修饰double

unsigned char c1 = 10;
signed char c2 = -10;

long double d1 = 12.0;

 

回到顶部

三、不同编译器环境下基本数据类型的存储长度

红色的代表常用的数据类型

C语言基本数据类型
轻描时光
11-20 4535
C 数据类型 在 C 语言数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 C 类型可分为以下几种: 序号 类型与描述 1 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型。 2 ...
在c语言基本数据类型主要有哪三种,C语言第三讲,基本数据类型
weixin_36383252的博客
05-21 2166
C语言第三讲,基本数据类型一丶基本数据类型讲解在C语言,有四种基本数据类型 分别是:整形浮点型指针聚合类型(数组和结构)整型家族包括:字符短整型整形长整型** 都分为有符号和无符号的区别 **** PS: 听上去长整形比短整型表示的值一样大,但是不一定.**规则: 长整型至少和整形一样长.而整形则至少应该和短整型一样长.取值范围:类型最小范围Char0~127Signed char-127 ~...
【C语言】06-基本数据类型
weixin_33893473的博客
03-13 176
说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 C语言有丰富的数据类型,因此它很适合用来编写数据库,如DB2、Oracle都是C语言写的。 C语言数据类型大致可以分为下图的几类: 一、变量 跟其他语言一样,C语言用变量来存储计算过程使用的值,任何变量都必须先定...
C语言基础学习基本数据类型-Char类型
iteye_5032的博客
09-01 278
char类型   char类型用于储存字母和标点之类的字符。但是在技术实现上char却是整数类型。为了处理字符,计算机使用一种数字编码,用特定的整数表示特定的字符。字符变量输入输出用%c符号。定义语法如下: char 变量名 = '一个字符值'; char类型占一个字节,所以一个char变量不能存放一个文汉字(一个汉字占2个字节)。这里单个字符必...
C语言基本数据类型
咸鱼菌
08-03 5687
C语言基本数据类型基本类型构造类型指针类型类型 数据类型是C语言编程最为基本的组成部分。在C语言,有4类不同的数据类型基本类型,构造类型,指针类型及空类型基本类型 1、整型 int:基本整数型,用于存储整数,占4个字节;默认值为0,数据范围是-2147483648~2147483647 short:短整型,占2个字节,存储方式与基本整形int相同,数据范围是-32768-32767 long:长整型,占4个字节,数据范围是-263~263-1 long long:双长整型,占
C语言允许的数据类型包括,c语言允许的基本数据类型包括哪些?
weixin_32285411的博客
05-22 2559
c语言允许的基本数据类型包括:整型(short、int、long)、实型(单精度型float、双精度型double)、字符型(char)。推荐:《C视频教程》c语言有3种基本数据类型:整型,表示一个整数,通常包括“short”、“int”、“long”等。实型,“实型”即为浮点型数据,包括“float”、“double”等。“实型”通常用来表示实数,还可以用来表示整型不能表示的小数。字符型,“字...
C语言基本数据类型-char介绍
热门推荐
weixin_47686757的博客
04-15 4万+
char是c语言基本数据类型之一,叫字符型,在内存占用一个字节的空间,可以用于存放单个字符,也可以用于存放整数,char可以分为有符号和无符号两种类型,下面对着两种类型分别进行介绍: 有符号字符型变量使用char来定义,比如char b,b作为有符号字符型变量,当它用于定义一个整数时,它的取值范围为:-128-127。 无符号字符型变量使用unsigned char来定义,比如unsigned char c,c作为有符号字符型变量,当它用于定义一个整数时,它的取值范围为0-255. char可
C语言基本数据类型.ppt
11-13
C语言基本数据类型.ppt
C语言-基本数据类型简介
11-21
适用于初学C语言的同学哦!!! 包含基本数据类型及修饰基本数据类型的修饰符以及数据类型的大小及数据类型的范围。
C语言基本数据类型ppt课件.ppt
11-13
C语言基本数据类型ppt课件.ppt
C语言基本数据类型.jpg
04-11
#数据类型的描述,其有void,_bool(布尔类型),int , char,double ,long double 等
C语言基本数据类型和运算
05-16
C语言基本数据类型,适合初学者阅读学习,也适用于国家二级计算机考试复习备考
ADSP-BF533的例程源码29:FIR信号处理源码
06-04
ADSP-BF533的例程源码29:FIR信号处理源码
风险管理模板.png
06-04
风险管理模板.png
长玻纤增强聚丙烯市场:规模增长、竞争格局与未来机遇.pdf
06-04
QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。 邮箱:market@qyresearch.com
2024-“她经济”洞察报告-QuestMobile-41页
06-04
2024-“她经济”洞察报告-QuestMobile-41页
执法记录仪与采集站对接文档
06-04
公安部对执法记录仪的采集制定了标准接口,方便各开发方案商开发的执法记录仪可以在采集站上使用
tensorflow-gpu-2.9.0-cp37-cp37m-win-amd64.whl
最新发布
06-04
python
c语言基本数据类型包括
07-25
在C语言基本数据类型包括以下几种: 1. 整数类型: - `int`:整数类型,通常为32位。 - `short`:短整数类型,通常为16位。 - `long`:长整数类型,通常为32位或64位。 - `long long`:长长整数类型,通常...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 智能家居简单实现---使用ESP8266简单实现和APP通讯 31040
  • Flutter的环境搭建和配置 13069
  • Intent使用意图(一)添加Category 12684
  • Gradle报错:KotlinReflectionNotSupportedError: Kotlin reflection implementation is not found at runtime 11891
  • 股票MACD指标算法公式 11435

分类专栏

  • Android(3G开发) 33篇
  • Html5 1篇
  • Css3 5篇
  • java(基础) 18篇
  • spring+hibernate+struts(三大框架)
  • android的技术提升 29篇
  • Android、UI组件 7篇
  • (2014-5-4)Android(3G开发) 2篇
  • (2014-5-5)Android(3G开发) 1篇
  • 2014-5-6 1篇
  • (2014-5-17)android的技术提升 2篇
  • Android(3G开发)(2014-6-11) 1篇
  • Android(3G开发)(2014-8-13) 7篇
  • Android(3G开发)(2014-8-13) 1篇
  • Android(Intent)
  • Android(3G开发)(2014-8-1)
  • Android(3G开发)(2014-8-14) 2篇
  • Android(3G开发)() 2篇
  • Android(3G开发)(2014-9-2)、Java、算法 1篇
  • (2014-9-2) 1篇
  • Android、UI组件、radiobutton、text与图片 1篇
  • IOS就绪工作
  • C语言
  • (2014-10-7) 1篇
  • C语言(2014-10-7) 5篇
  • C语言(2014-10-9) 4篇
  • C语言(2014-10-10) 8篇
  • C语言(2014-10-13) 3篇
  • Object-c(2014-10-13) 1篇
  • Objective-c(2014-10-14) 8篇
  • IOS(2014-10-24) 1篇
  • IOS积累 5篇
  • 数据库 10篇
  • Androidstudio 开发小技巧 5篇
  • image图像算法
  • android 开发技巧 2篇
  • Java开发小技巧 1篇
  • 数据结构
  • 算法 1篇
  • Canvas、paint、matrix 1篇
  • android View(一) 3篇
  • Android 开发中错误记录 19篇
  • Android、UI组件、radiobutton、text与 1篇
  • Kotlin 1篇
  • 界面适配 1篇
  • flutter 5篇
  • React-native混合开发
  • react-native错误积累 3篇

最新评论

  • 智能家居简单实现---使用ESP8266简单实现和APP通讯

    weixin_44310112: 代码有用么 好像没用啊

  • 智能家居简单实现---使用ESP8266简单实现和APP通讯

    我是小白菜鸭: 请问可以同时实现APP发送信息到esp8266和esp8266发送信息到APP吗

  • Intent使用意图(一)添加Category

    是阿超: 感谢分享~

  • 智能家居简单实现---使用ESP8266简单实现和APP通讯

    Slihang: 你好,请问我连接到ESP8266,能发送数据,但是接收不到数据

  • 见过一个Java源码中带有两个public类吗

    喵小胡: 明白了 我说为啥老报错 一删public又可以。谢谢🙏

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'andr
  • reactnative 项目使用androidstudio打开出现的问题Gradle sync failed: Could not find com.android.tools:common:25.2
  • 错误: 找不到或无法加载主类 org.gradle.wrapper.GradleWrapperMain Could not install the app on the device,
2018年52篇
2017年11篇
2016年46篇
2015年10篇
2014年77篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司苏州模板网站建设推荐乐山seo优化哪家好西宁百度网站优化排名价格天水网站关键词优化公司沙井网站制作设计多少钱德州网络推广多少钱威海网站推广方案公司重庆SEO按天扣费哪家好达州网络营销报价林芝阿里店铺托管多少钱天水品牌网站设计多少钱喀什百姓网标王公司丽江SEO按天收费哪家好果洛优秀网站设计公司惠州设计网站报价潜江网站设计模板多少钱内江网络广告推广报价张掖百度网站优化公司海口建网站价格马鞍山品牌网站设计价格木棉湾网页制作南联百度竞价盐田企业网站建设推荐本溪模板制作哪家好衢州推广网站公司六安百度网站优化报价秦皇岛优秀网站设计公司甘孜外贸网站制作多少钱长沙如何制作网站价格日照模板制作公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化