前言:温故而知新。我们就以思维导图的形式进行复习如下:
在要驯服print这个小怪为我们所用之前,我们需要刷一些“小兵”获得经验值提升成功率。
第一类小兵:计算机中的内存大小,换算单位
第二类小兵:数据类型
char | 字符数据类型 | 占用:1 个 byte |
short | 短整形 | 占用:2 个 byte |
int | 整形 | 占用:4 个 byte |
long | 长整形 | 占用:4 个 byte(32位) 8 个 byte(64位) |
long long | 更长的整形 | 占用:8 个 byte |
float | 单精度浮点型 | 占用:4 个 byte |
double | 双精度浮点型 | 占用:8 个 byte |
注:32位指的是编译器中的编写方式
第三类小兵:转义字符——一般在执行时不显示字符而是执行对应的命令
\n | 换行 |
\a | 响铃 |
\r | 回车 |
\f | 换页 |
\b | 回退 |
\t | 横向制表 |
\v | 竖向制表 |
\‘’ | 双引号 |
\\ | 反斜杠 |
注:在学习C语言初级阶段我们先熟练记住前两个即可,剩下的先作为了解。
第四类:初始化
我们先给出如下两种代码,结果一样但性质不一样。
int main ()
{
int a;
a = 0;
return 0;
}
int main ()
{
int a = 0;
return 0:
}
先看第一个图片:a为整形但它是什么并不确定,就像开盲盒一样不可预料,后面将盲盒里的东西拿出来,把 0 赋给 a,所以a的值为0。
再看第二个图片:意思就简单了,直接将0赋给a,就像把盲盒里的东西用已知的东西代替一样。
注:这里的=为赋值的意思若要单独表示加号则需用==,然后再引出一个%——模(一个数除以一个数的余数) 比如5%2的值为1。
还有一些其他的字符我们用到再说。
经验值差不多够打boss了,让我们开始吧!
BOSS:printf——C语言中标准的函数,用之前需包含头文件(stdio.h),原形为
int printf (const char*format,……);
目前作为了解即可。
1.先用平a
#include<stdio.h>
int main()
{
int a = 10 ;
int b = 20 ;
printf("a+b=%d\n",a+b);
return 0;
}
注:这里的d是decima——十进制,还有八进制—— octonary缩写为 o ,十六进制——hexadecimal——在C语言中缩写为o
结果:a+b=30
这里的绿色代码为prinf的实参称为格式化字符串里面的%d指定了具体的十进制形式和数据类型int(这里说明一下,计算机中有2,8,10,16进制,如果不说明则编译器会看不懂你写的的),%d具体指的是a+b的结果。其他的常量与原来的原封不动输出。其它的乘——*,除——/(在整形中只保留整数),减—— -,也与此类似。
2用一技能
#include<stdio.h>
int main()
{
int a = 10 ;
int b = 20 ;
printf("a+b=%f",(float)(a+b));
return 0;
}
输出结果为:30.000000
这里的%f为浮点数形式也就是小数点形式默认为小数点后6位,可以在f前面加个 .7 表示保留小数点后七位,这里的a+b为int类型类型不符需强制类型转换成浮点数形式——(float)再将结果传入即可得到值。
注意:这里涉及计算机计算的法则——进行不同类型的运算时需将“较小的数据类型”转化为“较大的数据类型”这里的大不一定是内存大小也可能是范围。
为了更进一步理解我们再举一个相似的例子
#include<stdio.h>
int main()
{
int a = 10 ;
float b = 20f ;
printf("a+b=%f\n",(float)a+b);
return 0;
}
这里涉及不同类型会将整形a转化为浮点数再进行运算,这里的(float)其实可以不写是系统自动转化的,写是为了大家方便理解。
到这里这个小怪差不多就血量到底了。但这个小怪蕴含的可不止这一点,需要我们不断学习才能完全掌握。希望在以后能进一步了解它。
本篇结束!若有错误,请及时的批评指正,我会及时更改。你们的评论与点赞将会成为我源源不断的动力。