C语言学习第二章

二进制:二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。【计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0】;二进制数据的表示法二进制没有2只有0和1,逢2进1,其权的大小顺序为2²
摘要由CSDN通过智能技术生成

二进制:

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。

它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本上是二进制系统。

【计算机中的二进制则是一个非常微小的开关,用“开”来表示1,“关”来表示0】

二进制数据的表示法

二进制没有2只有0和1,逢2进1,其权的大小顺序为2²、2¹、2º。例如:
二进制数据0001代表十进制的1,二进制数据0010代表十进制的2,
二进制数据0011代表十进制的3,二进制数据0100代表十进制的4,
二进制数据0101代表十进制的5,二进制数据0110代表十进制的6,
二进制数据1000代表十进制的8,二进制数据1001代表十进制的9,
二进制数据1010代表十进制的10,二进制数据1011代表十进制的11,
二进制数据1101代表十进制的13,二进制数据1111代表十进制的15

二进制数据的一些特点

在一个二进制数字的尾部每次多加一个0代表这个数字乘以2,就如同十进制的尾部每次多加一个0代表乘以10。例如:
二进制数据0001代表十进制的1,二进制数据0010代表十进制的2,
二进制数据0100代表十进制的4,二进制数据1000代表十进制的8


十六进制:

英文名称:hexadecimal ,是计算机中数据的一种表示方法。同我们日常中的十进制表示法不一样。它由0-9,A-F组成,字母不区分大小写。

与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-F。

二进制只有0和1没有2,十进制只有0-9的数字没有10,十六进制只有0-F,也就是0到15的数字没有16。

在一个十六进制数字的尾部每次多加一个0代表这个数字乘以16,就如同十进制的尾部每次多加一个0代表乘以10。例如:十进制的32表示成十六进制就是:20
十六进制的20代表十进制的:2×16¹+0×16º=32
十六进制的A5代表十进制的:10×16¹+5=165
十六进制的100代表十进制的:16×16=256
十六进制的23F代表十进制的:2×16×16+3×16+15=575
……

C语言常量:

C语言的常量包括:整数常量、浮点数常量、字符常量和字符串常量。

一)整数常量的表达方法有以下几种:

a)十进制表达式,和普通数字的表达方法一致。例如:13,28,-52,-1000等等。
b)十六进制表达式,以0x开头。例如:0xA1,0xC8,-0x20,-0x500等等。

c)八进制表达式,以0开头。0开头的常量看上去好像是十进制,其实不是了,已经是八进制了,八进制中只有0-7之间的数字,8和9都错误代码。

注意:C语言并没有提供二进制常量表达式。

二)浮点数常量,通俗地说就是带小数点的数字,表达式的中必须含有小数点,即使小数部分是0也要缺省带小数点。
主要有两种表达式:

a)单精度浮点数:尾部带f的浮点数代表是单精度浮点数。例如:0.5f,88.2f,-55.0f等等。

b)双精度浮点数:尾部不带f的浮点数代表是双精度浮点数。例如:0.88,99.5,-111.356等等。
一般认为双精度浮点数比单精度浮点数表达的范围要大很多,包括整数部分和小数部分,双精度表达的数字长度要大很多。

三)字符常量:字符常量是用单引号将一个字符括起来的构成,每种被括起来不同的字符代表一个不同的数字(就如同每个学生有不同的名字,而且还有个不同的学号一样)。
所有字符与数值的对照表就是ASCII编码表,作为字符常量使用的ASCII编码主要是使用0-127范围内的数字。其中0~31及127(共33个)是控制字符或通信专用字符,其余为可显示字符。

例如:char c = ‘A’;‘A’代表的是一个数字65,因为在ASCII编码表中A的数值是65,依此类推:
‘ B’代表66,‘a’代表97,
‘X’代表88,‘5’代表53,
‘=’代表61,‘|’代表124,’ ’空格代表32等等

因此,字符常量实际上也是一种整数常量,只不过字符常量所表达的范围比较小而已。

所有的ASCII码都可以用“\”加数字(2位的16进制数字或3位的8进制数字)来表示。

在C语言中常用些字母前加“\”,来表示常见的那些不能显示的ASCII字符,这样的字符就叫做转义字符。例如:char c = ‘\n’;

其中‘\n’代表10,被打印输出时代表换行“new line”。
依此类推:‘t’代表9,被打印输出时代表间隔一个TAB距离“Table”。

‘\0’代表0,打印输出时代表字符串结尾。
‘\\’代表92,打印输出时是一条反斜杠。
注意在C语言中要打印一条反斜杠,在字符常量中必须使用‘\\’来表示。
‘\”’代表34,打印输出时代表是一个双引号。
char c=‘\x25’; 代表37打印输出的是% ,
Char c=‘\053’; 代表43打印输出的是+。

四)字符串常量:字符串常量是一对双引号括起来的字符集合。
例如,下面的是合法的字符串常量:
"how do you do.", "CHINA","a", "$123.45",

存储:字符串中的字符依次存储在内存中一块连续的区域内,并且把空字符‘ \0’自动附加到字符串的尾部作为字符串的结束标志。故字符个数为n的字符串在内存中应占(n+1)个字节。
使用printf可以输出字符串,例如:printf("how do you do.");

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值