c/c++学习(一)

1.常量:就是在程序中不可变化的量,常量在定义的时候必须给一个初值
define MAX 10 //定义一个宏变量,值为10
const int a = 20;//定义了一个const常量,值为20
常量的值不能修改
2.变量:
int i;//定义一个变量,名字为i,值可变
i = 100;
3.字符串常量
define STRING “hello world\n” //定义了一个字符串常量,对于define类型的常量,c语言的习惯是常量名称为大写
const char *str = “hello.c”;
4.二进制数,位,字节与字
一个位只能表示0或者1两种状态,简称bit
一个字为8个二进制,称为8位,简称Byte
一个字为2个字节,简称word
两个字为双字,简称dword
4.1 八进制
八进制为以8为基数的数制系统,c语言中0表示八进制
十进制转化8进制用十进制数作为除数,取商数和余数,直到商数为0的时候,将余数倒过来就是转化后的结果。
5. 原码
将最高位作为符号位,其余各位代表数值本身的绝对值
6. 反码
一个数如果是整数,那么反码和原码相同
一个数如果是负数,那么符号位为1,其余各位与原码相反
7. 补码
正数:原码,反码补码都相同
负数:最高位为1,其余各位原码取反,最后对整个数加1,反码加1
8. sizeof 关键字
求指定数据类型在内存中的大小,单位:字节
9. int 类型
int就是32位的一个二进制整数,在内存中占据4个字节空间
%u表示输出一个无符号的十进制整数。
%x表示输出16进制数,%X 用大写字母方式输出16进制数
10 short
在32位系统下是2个字节
long
意思是长整数,在32位的系统下long都是4个字节的,64位系统下还是4个字节,unix下成了8个字节
long long是64位,也就是8个字节的整数
unsigned int
11 整数溢出
计算一个整数的时候超出整数能够容纳的最大单位后,整数会溢出,后高位舍弃。
12 大端对齐和小端对齐
对于arm,intel这种x86架构的复杂指令CPU,整数在内存中是倒着存放的,低地址放低位,小端对齐。
13 char类型
%c意思是输出一个字符,而不是一个整数
char的本质就是一个字节大小的整数。
14 volatile
代表变量是一个可能被cpu指令之外的地方改变的,编译器就不会针对这个变量去优化目标代码
15 register
变量在cpu寄存器里面,而不是在内存中,但register是建议性语言,而不是命令行的指令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值