现在课本和教程中,已经很详细的将C语言的学习课程分成了几大类:数据类型,逻辑语句,指针、内存管理等部分,我们的学习计划大致和这些一样,不过有的部分可能会简单的讲一下。
初入:
#include
int main()
{
/* code */
printf ("%s", "helloword");
puts("helloword");
return 0;
}
先简单了解下我们上期的那串代码的结构:
1、第一行的#include
2、int main(){} 这是我们后面要说到的函数,而且这个函数比较特殊,我们一般喊得入口函数,具体的意思就这是一个程序的大门,当你从这个门里走进来,程序才能运行下去,从其他门里进,我们就会将你踢掉(error)。
3、然后就是/* xxx */,这个特殊结构就是我们常说的注释了,我们在写代码的时候,可能会遇到一些逻辑比较复杂的情况,写完之后,如果不加注释,过一段时间再来看这些,似乎就看不懂了。所以编程中,养一个好的编程习惯是很重要的。
4、printf()和puts(),这就是前面说的佐料了(实际上是已经写好的函数),这些佐料都放在stdio.h的文件,当经过预处理后,我们就是一盘菜里了,所以我们就可以调用这些函数了。
5、这就是返回值了,我们入后函数使用int来定义返回值,所以return一个0。实际上这个这是在告诉电脑,我不和你玩了,我要停下来。
上面就是一段小代码的解释。我们在没有接触到函数之前,知道这些就可以了。
基本数据类型:
什么是数据类型,在上学的时候,我们只是单纯的数字进行分类,比如整数,小数等,但是当你进入编码的世界里,就是会发现,不只有数字才有类型,英文字母等都有数据类型 。它的具体作用是什么呢“当我们去外国的时候,大多数人可能会认为我们其他国家的人。怎么办呢,我就需要在手里拿点标志性的物品。数据类型也是这样,当时声明一个变量的时候,如果不声明数据类型,那么计算机就不会认识这是什么,没法进行后面的计算。所以数据类型很重要,更重要的一点告诉初学的小伙伴们,这些简单数据类型最好死记硬背下来,因为在后面的编程里,大多数语言的基本数据类型都是这些。
网上的教程有很多,所以我们不需要详细的去说明这些类型都有哪些,我们只说说这些类型需要注意的一些点即可。
1、如何理解数据类型的储存大小和取值范围:
我们以int类型为例,假设一个int类型的量占据四个字节大小的内存,就是说我们用int声明的量它可以储存四个字节的数据,但是具体值最大最小是多少呢,这就是我们常说的取值范围,也就是-2147483648 到 2147483647,
2、如何获取我们这些基本类型占用字节的大小和取值范围:
C语言很贴心的为我们准备sizeof()函数,当我们在不同电脑上编码的时候,担心内存出现问题时,我们可以用sizeof()来获取其字节大小和取值大小。
#include
int main()
{
printf("int size = : %d ", sizeof(int));
printf("int min: %E", FLT_MIN );
printf("int max: %E", FLT_MAX );
return 0;
}
FLT_MIN等,这是float.h中内置宏,宏简单的理解就就是处理数据时,虽然数值不一样,但是其处理过程一样,所以将这些过程进行封装后可以直接批量使用,不用多次重复去定义。
3、float类型和double类型所谓的单精度和双精度是什么意思:
float类型的小数点后有效数字是6位,而double类型的小数点后有效数字是15位,所以这就是单精度和双精度的意思。
4、上面提到的数值并不是一成不变的,随着电脑系统的不同,处理器的不同,编译器的不同,这些基本数据类型的储存大小可能随时会发生变化,如果遇到在一个电脑上跑的好好的,然后到了另一个系统出现内存溢出的现象,就需要注意研究了。
当然,并不是说数据类型只有基本数据类型,还有很多类型我们在后面遇到的时候可以再说。
命名规则及";":
知道了基本数据类型,那么我们就想着要去亲自声明一个常量或变量了,但是写程序这事着急不来,我们只讲了类型,还没有说命名规则:
因为不论文件和还是数据,总是需要一个名字,所以我们在取名字的时候就有要求,首先不能用中文命名,我们识别,电脑不识别。然后不能名字中不能出现标点符号。最后,名字是区分大小写的,所以当你用大写字母声明的,然后用小谢字母去取,这就不要奇怪自己取不出来。C语言中,有保留字和关键字,所以它们不用做常量名和变量名,及部分标识符。
“;”在C语言中有着非常重要的地位,那就是告诉编译器,这段代码我写完了,否则,编译器无法识别代码的头和尾巴,就会出现错误了。
结语:今天,我们说了些C语言中的基本数据类型和一些规则,为我们后面打基础,虽然代码没多少,但是都是比较重要的基础知识,尤其是一些基本类型的名称和作用,虽然我们没有一个一个拿出来说,但是这些东西还是能够死记硬背一下比较好。我不是大神,只是一个在码路上匍匐前进的码农,所以 其他相关重点可能有很多没有说到,或者说的有些问题,希望能够提出来。最后,感谢阅读,我们明天说常变量,可能需要说到内存的分配。