C语言基础学习—数据类型与运算符

本文详细介绍了C语言的基础知识,包括数据类型(如int、char、浮点类型等)、常量定义(宏常量与const常量)、进制转换、原码、反码和补码的概念及计算,以及运算符(如算术、位运算符)的使用。此外,还讨论了变量、类型限定符(如const和volatile)以及浮点数的存储和输出。通过实例解析了类型转换和运算符优先级,最后提到了字符串格式化输入输出以及基本的内存管理和编译器警告解决方法。
摘要由CSDN通过智能技术生成

涉及到的知识点有:编码风格、c语言的数据类型、常量、计算机里面的进制、原码反码补码、int类型、整数的溢出、大端对齐与小端对齐、char类型(字符类型)、

浮点类型float \ double \ long double、类型限定、字符串格式化输出与输入、基本运算符、运算符的优先级、类型转换等。

=============================================================================

gcc -o a1.s -S a1.cgcc把c语言代码转换为汇编代码

-----------------------------------------------------------------------------

关于编码风格的说明:

int dog_name;  linux编码风格

int dog_age;

int iDogName;  微软编码风格

int iDogAge;

编码一定要工整,这是初学者容易忽略的。

=============================================================================

“我是一名从事了10年开发的老程序员,最近我花了一些时间整理关于C语言、C++,自己有做的材料的整合,一个完整的学习C语言、C++的路线,学习材料和工具。全球最大的C/C++爱好者就在我这里,进企鹅裙(<C语言C++编程学习14>)学习免费送给大家。这里是编程爱好者的聚集地,欢迎初学和进阶中的小伙伴。希望你也能凭自己的努力,成为下一个优秀的程序员。

C语言的数据类型:

1、常量:在此程序运行中不可变化的量(注意常量也是有类型的哦!)

第一种定义常量的方法:

#define MAX 100这种定义常量的方法一般叫宏常量,所以有时也叫定义了一个宏,宏常量的常量名一般是大写字母。

第二种定义常量的方法:

const int max = 0;const常量,

一般区别:c语言里面用宏常量比较多,c++用const比较多。

-----------------------------------------------------------------------------

"你好"  字符串常量

500       500本身是整数常量

比如:

int a = 500;

500 = 0;//这句是错误的

=============================================================================

计算机里面的进制:

十进制  二进制  八进制  十六进制

0    0          0            0

1    1           1       1

2    10              2                  2

3    11              3                  3

4    100            4                  4

5    101            5                  5

6    110            6                  6

7          111            7                  7

8          1000         10                 8

9          1001         11                 9

10         1010         12                 a

11        1011          13                 b

12        1100          14                 c

13         1101          15                 d

14         1110          16                 e

15        1111           17                 f

16        10000         20               10

17        10001         21               11

-----------------------------------------------------------------------------

一个二进制的位就是一个bit(比特)

8个bit是一个BYTE(字节)

2个BYTE是一个WORD(字)

2个WORD是一个DWORD(双字)

1024个BYTE 是1KBYTE

1024K 是1M

1024M 是1G

1024G 是1T

1024T 是1P

1024P 是1E

1024E 是1Z

1024Z 是1Y

-----------------------------------------------------------------------------

512GB     硬盘(单位是字节)

12Mb     网络带宽(单位是比特)

200MB   文件的大小(单位是字节)

100Mb      网卡(单位是比特)

-----------------------------------------------------------------------------

进制之间的转换:

10101010111111010101011

把一个二进制数转化为10进制是很困难的,但是计算机使用的就是二进制。

从右到左起,每3个一组,不够的补零。

010 101 010 111 111 010 101 011转化为8进制

2      5    2      7     7    2     5    3

从右到左起,每4个一组,不够的补零。

0101 0101 0111 1110 1010 1011转化为16进制

5       5       7       e       a       b

二进制其实和8进制、16进制是一一对应的,在计算机语言中一般不直接用二进制,c语言更多的用8进制或者16进制

-----------------------------------------------------------------------------

把十进制的56转化为2进制

先把这个数转化为8进制,然后把8进制直接对应为2进制

用56除以8,分别取余数和商数

8     56

7  0

0  7

70      转化为8进制的结果

111 000   转化为2进制的结果

-----------------------------------------------------------------------------

16   100

6  4

0  6

64      转化为8进制的结果

0110 0100   转化为2进制的结果

-----------------------------------------------------------------------------

2 100

50   0

25   0

12     1

6     0

3           0

1           1

0           1

1100100     直接转化为2进制的结果

=============================================================================

这些数对于计算机来讲,他们是怎么放的呢??

1、原码

例如:7的二进制是多少?(即7的二进制原码如下)

111

0000 0111用一个BYTE(字节)表示

0000 0000 0000 0111用一个WORD(字)表示(即用2个字节来表示)

0000 0000 0000 0000 0000 0000 0000 0111用一个DWORD(双字)表示(即用4个字节来表示)

那么 -7 该如何表示呢?原则是:最高位为符号位,符号位0代表正数,1代表负数

-7的二进制是多少?(即 -7 的二进制原码如下)

1000 0111 用一个BYTE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值