吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1899|回复: 7

[C/C++] C语言入门教程 第四课 C语言的数据类型

[复制链接]
闪耀 发表于 2015-1-6 20:30 | 显示全部楼层 |阅读模式

先给大家介绍一下各种数据类型


2.1整型

  整形包括短整型、整形和长整形。


2.1.1短整形
  short a=1;


2.1.2整形
  一般占4个字节(32位):
  定义:用int关键字,举例如下:
  int a=6;


2.1.3长整形
  long a=10;


2.2浮点型
  浮点型包括单精度型和双精度型。


2.2.1单精度型


  浮点型,又称实型,也称单精度。一般占4个字节(32位),
  float a=4.5;


2.2.2双精度型
  一般占8个字节(64位)
  double a=4.5;


2.3字符类型
  在各种不同系统中,字符类型都占一个字节(8位)。定义如下:
  char c='a';
  也可以用字符对应的ASCII码赋值,如下:
  char c=97;


3.数据类型与“模子”
  short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。


  怎么去理解它们呢? 举个例子:见过藕煤球的那个东西吧?(没见过?煤球总见过吧)。那个东西叫藕煤器,拿着它在和好的煤堆里这么一咔,一个煤球出来了。半径12cm,12 个孔。不同型号的藕煤器咔出来的煤球大小不一样,孔数也不一样。这个藕煤器其实就是个模子。


  现在我们联想一下,short、int、long、char、float、double 这六个东东是不是很像不同类型的藕煤器啊?拿着它们在内存上咔咔咔,不同大小的内存就分配好了,当然别忘了给它们取个好听的名字。


在32 位的系统上short 咔出来的内存大小是2 个byte;
int 咔出来的内存大小是4 个byte;
long 咔出来的内存大小是4 个byte;
float 咔出来的内存大小是4 个byte;
double 咔出来的内存大小是8 个byte;
char 咔出来的内存大小是1 个byte。
(注意这里指一般情况,可能不同的平台还会有所不同,具体平台可以用sizeof 关键字测试一下,关于sizeof我们后面会讲到)


很简单吧?咔咔咔很爽吧?是很简单,也确实很爽,但问题就是你咔出来这么多内存块,你总不能给他取名字叫做x1,x2,x3,x4,x5…或者长江1 号,长江2 号…吧。它们长得这么像(不是你家的老大,老二,老三…),过一阵子你就会忘了到底哪个名字和哪个内存块匹配了(到底谁嫁给谁了啊?^_^)。所以呢,给他们取一个好的名字绝对重要。下面我们就来研究研究取什么样的名字好。


4.变量的命名规则
1)命名应当直观且可以拼读,可望文知意,便于记忆和阅读。
标识符最好采用英文单词或其组合,不允许使用拼音。程序中的英文单词一般不要太复杂,用词应当准确。


2)命名的长度应当符合“min-length && max-information”原则。
C 是一种简洁的语言, 命名也应该是简洁的。例如变量名MaxVal 就比MaxValueUntilOverflow 好用。标识符的长度一般不要过长,较长的单词可通过去掉“元音”形成缩写。


另外,英文词尽量不缩写,特别是非常用专业名词,如果有缩写,在同一系统中对同一单词必须使用相同的表示法,并且注明其意思。


3)当标识符由多个词组成时,每个词的第一个字母大写,其余全部小写。比如:
   int CurrentVal;
这样的名字看起来比较清晰,远比一长串字符好得多。


4)尽量避免名字中出现数字编号,如Value1,Value2 等,除非逻辑上的确需要编号。比如驱动开发时为管脚命名,非编号名字反而不好。
初学者总是喜欢用带编号的变量名或函数名,这样子看上去很简单方便,但其实是一颗颗定时炸弹。这个习惯初学者一定要改过来。




5. 数据类型转换。
  在C语言中,数据类型之间是可以相互转换的。通过上面的学习,我知道不同数据类型定义的变量的范围是有大小之分的。在C语言中,较小的数据类型向较大的数据类型转换时,是可以自动转换的。这种转换就像把一个较小的箱子放到比他大的箱子里,是不会出错的。但是,如果将一个较大的箱子放到比他小的箱子时,在现实中,是放不进去的,但是在C语言中,这种转换是允许的。如果你将一个超过int范围的数转换成int型时,系统就会将部分值删除,造成数据的丢失。所以,一般情况下,都不要进行逆向的数据转换。

评分

参与人数 12HB +19 THX +8 收起 理由
消逝的过去 + 2
飞刀梦想 + 1
agan8888 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
ding520 + 1 <span class="text2Link">[吾爱汇编论坛<a target="_blank">52HB.COM</a>]-吃水不忘打井人,给个评分懂感恩!</span>.
圈瞳 + 1 + 1 分享精神,是最值得尊敬的!
Cyan + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
520Kelly + 1 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
y123y45 + 1 + 1 教程非常易懂,对新人帮助极大!楼主大爱!
起凡第一华佗 + 3 + 1 恒大大 小的错了 原谅俺把 再也不发那个恶心的AV女友图片了
Desire + 2 + 1 ★★★★★ 热心人,佛祖保佑你事事顺利 ,财源滚滚!!!
Scar-疤痕 + 4 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Scar-疤痕 发表于 2015-1-6 20:35 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
冷冷的叶子 发表于 2015-1-7 01:16 | 显示全部楼层

加油,学习了很多新姿势。谢谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
520Kelly 发表于 2015-1-7 14:20 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
SaKuLa 发表于 2016-3-18 16:49 | 显示全部楼层

我的天啊 哥你这样发到这里看不明白啊  还是要视屏让我们新手实践
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
圈瞳 发表于 2016-3-24 15:50 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tyhjrwx2015 发表于 2016-5-23 21:15 | 显示全部楼层

C语言入门,建议整理成一个集合贴吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
weiran324 发表于 2022-4-3 20:58 | 显示全部楼层

学习学习,,,
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表