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,我们拿进制转换器看一下,验证一下:
输入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.不能使用系统保留字
这样的格式都是错误的。我这样定义都报了错。
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,看程序运行截图:
下那行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);输入的时候以这种格式输入。
好了分享到这,有错误的地方请指点。。。。