c语言用16进制颜色刷屏,c语言的基础

1.我们首先学习进制,因为计算机跟人的思想不一样,它只能识别0跟1.那么什么是进制呢?

我们用阿拉伯数字0,1,2.....9当到9了,下一个数字就是9+1满1变成了10。以此类推,这样的形式叫进制,我们现在用的数字用专业术语叫十进制

计算机识别的是二进制。还有其它的八进制,十六进制,那我们用的十进制怎么转换为二进制呢。现在我讲个公式。十进制如果转化为二进制,让十进制除以2倒取

余。这样就可以转化为二进制,十进制转化为八进制转化为十六进制,都是这样的形式。

计算机中常⻅见的进制:⼆二进制、⼋八进制、⼗十六进制和⼗十进制为了区别不同进制的数,⼋八进制以0开头、⼗十六进制以0x开头

如,我们拿个十进制数。十进制100我们给他转化为十制看看是多

少:100除10商10余0,10除10商1余0,1除以10商0余1,从前往后余数是这样排列:001,根据我说的公式倒取余,把余数倒取一下排列

为:100.这就是进制之间的转化。十制转化为二进制也是这样,从十进制转化为几进制就叫十进制数去除以几。这样记一下。我们在拿个100转化为二进制例

子:100除2商50余0,50除2商25余0,25除以2商12余1,12除2商6余0,6除以2商3余0,3除2商1余1,1除以2商0余1,余数正序排列下来是0010011,按公式倒取余1100100,我们拿进制转换器看一下,验证一下:​

a4c26d1e5885305701be709a3d33442f.png输入100转换为二进制

上面图片是我输入一个十进制,转换为二进制的结果。

那有人说了,十进制转化二进制,怎么将二进制转化为十进制呢。有一个公式就是按权求和。

基数:也叫底数,基数为n,代表n进制。

位权:从个位开始,向左⼀一次编号为0,1...x,分别代表n进制的x次⽅方。

比如100转成二进制为1100100,看一下这个二进制位数。从左往右进行以0开始编号。​​最右面编号是6,最左面编号是0,那我们就可以写成1*10^6

+ 1*10^5 +0*10^4 +0*10^3 +1*10^2 +0*10^1 +0 *

10^0,从二进制转到十进就以当前数字乘以10的编号次方。这样得出的结果就是十进制的结果。

2.​数据类型

1)基本类型:a.字符型 char 1字节,b.整型 int 4 c.实型分为单精度float 4字节,双精度

8字节,d.无值型void

2)构造型:a.枚举类弄 enum b数组 c 结构体struct d共用体

3)指针类型

这些类型我们经常跟常量变量一起去用。

那什么是变量呢?变量可以发生变化的量

比如int a = 1;

a=2;a值第一次是1第二次就变成2了这就说明a是变量。我们举的例子就是变量的声明与赋值

变量定义的三要素:类型修饰符 变量名 =

初始值;

注意:在使⽤用变量之前必须对变量进⾏行定义

我们知道怎么定义变量了,那么我们却不知道定义变量名的规则:1.只能由数字、字⺟母、下划线组成,并且数字不能开

头。2.不可以与系统保留字同名。3.不能使用系统保留字

a4c26d1e5885305701be709a3d33442f.png

这样的格式都是错误的。我这样定义都报了错。

3.算术运算符

+ - * /  %  ++

--

++ --运算符在前,先执行;运算符在

后,后执行。这个特别要注意:int b = a++;int c=++a;考试一般爱出这些题,如题:int num=1,a = 0; a

= num++  +  ++num; a = num-- +

++num;问这些运算完之后值分别是多少。仔细考虑一下这些问题。++在前返回新结果,++在后返回旧结果。这种话相对于表达式而言。但是本身值都会变的。大家可能看文字意思理解不了,那我来给你解析一下:

int num = 1,a = 0;

首先看a = num ++ +

++num;,num++这整个相当于表达式。++在后整个表达式的值是1。就是num = num

+1;这个表达式为1,而num本身的值却变为2了。

这点明白吧。然后我们看++num。前面的num已经成为2了,++num的++在前,整个表达式的值为3.这样a的值为4.而现在的num也已经为3,看程序运行截图:

a4c26d1e5885305701be709a3d33442f.png

下那行a = num-- +

++num​;类似。这就遵循了++在前返回新结果++在后返回旧结果的原理。

复合运算+= -= *= /= %=​

5.格式化输入prinf(格式串,表达式1,表达式2.。。。);

格式串有%c char,%d int,%ld

long,%sd​  short,%f

float类型。

char a = 'a';

int    b =

10;

float c =

10.456;

1).printf("c\n" ,

a);

2).printf("d\n" ,

b);

3).printf("%-5.2f"  , c);

我们来解释一下,第一个c这个代表输入的字符占10位第二个也类似,而第三个%-5.2f这个是输入浮点类型的。-代表左对齐,5代表占5位。.2代表保留小数2位

6.格式化输入scanf(格式字串,表达式1,表达式2);

举例:int a = 0;

scanf("%d" , &a);输入的时候以这种格式输入。

好了分享到这,有错误的地方请指点。。。。​

​​​

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值