.
一、简单输入输出
- puts:只能单纯地输出一行文字(一句话),等价于:printf+换行
- printf:printf有更多的功能,可以把动态数据(内存变量或常量)混合输出
- scanf:scanf是提供给用户输入数据到内存变量(scanf_s安全版本)
int main()
{
int a = 88, b = 99,c=0;//正负21.亿
puts("这是一个测试模块:");
printf("a=%d,b=%d\n",a,b);
c = a + b;
printf("第三个变量=%d\n", c);
printf("请给a和b输入2个数字:(用空格间隔)");
scanf_s("%d %d", &a, &b);//取地址,就如同网购必须填写自家地址,如果地址错误就送到沟里去了。
c = a + b;
printf("a=%d,b=%d\n", a, b);
printf("第三个变量=%d\n", c);
//等价于:printf+换行
//printf("这是一个测试模块:"); //new line
}
int main()
{
float a = 88.88f, b = 99.0f, c = 0.6f;//正负21.亿
puts("这是一个测试模块:");
printf("a=%g,b=%g\n", a, b);
c = a + b;
printf("第三个变量=%g\n", c);
printf("请给a和b输入2个数字:(用空格间隔)");
scanf_s("%g %g", &a, &b);//取地址,就如同网购必须填写自家地址,如果地址错误就送到沟里去了。
c = a + b;
printf("a=%g,b=%g\n", a, b);
printf("第三个变量=%g\n", c);
return 0;
}
二、二进制
1、二进制的原理
- 每一位二进制就如晶体管中的一个晶体,是一个非常微小的开关,用“开”来表示1,“关”来表示0。
- 每增加一个晶体,表达的数字个数乘2,相加时每逢2进1;
2、二进制转十进制
- 每一位数字乘以对应的倍数:10011 => 1+2+0+0+16=19
3、十进制转二进制
- a)肉眼快速识别:拿一些2的常见倍数的数字来试探,比如:35 32 +2 +1 = 100011;
- b)科学的计算方法:让个位对2取余数得出是1还是0 ,对其他位除以对应的2的倍数;
- c)2的n次方:二进制是一个1后面到n个0,就是2的n次方。例如:100 是4 1000是8;
- d)2的n次方减1:由n个1组成。例如:111是7(2的3次方减1) 1111是15(2的4次方减1)。
int main()
{
int x = 1835;
printf("x=%d\n", x);
printf("x的每个位是:");
printf("%d ", x / 10 / 10 / 10 % 10);
printf("%d ", x / 10 / 10 % 10);
printf("%d ", x / 10 % 10);
printf("%d ", x % 10);
return 0;
}