第一个C语言程序
我们先把如下代码写入编译器中(我采用的是VS2013,编译器和我不一样也没事)。
#include <stdio.h> int main() { printf("hello world\n"); return 0; }
简单介绍一下,main函数是程序的入口,一个工程中只有一个且必须有一个main函数。因为如果没有mian函数程序就没了入口,无法正常运行。如果有两个main函数,程序就不知道哪个是入口,会出现故障。
#include <stdio.h>是头文件,就是我们需要使用哪个函数时候必须引用的文件。此时我们要使用printf这个函数,而这个函数位于stdio.h这个头文件下。
return 0;表示函数已经结束
printf()(链接中有关于printf的简单使用)中没有打"",或者是打成了中文的“”。注意,我们写程序的时候,输入法一定一定要切换成英文状态!!!
注意,新手易犯错误
1,main写成mian。报错如下,注意,出现报错的时候,从第一个看起,后面的很多报错可能只是因为前面的一两个错误导致。现在我们就只是把main写成mian,就出现两个报错。
2,不打“;”。分号“;”表示一条语句结束
数据类型
计算机最小单位bit
首先我们需要知道计算机的最小单位——bit。我们都知道计算机是二进制的,全部由0和1组合而成。而一个bit表是一个0或者1。而4个bit就表示1个BYTE(字节)。1024BYTE(字节)=1KB; 1024KB=1MB; 1024MB=1GB; 1024GB=1TB; 1024TB=1PB; 1024PB=1EB; 1024EB=1ZB; 1024ZB=1YB。
数据类型大小
现在我们已经知道了bit,字节的概念之后,抛出一下概念。
char //字符数据类型 short //短整型 int //整形 long //长整型 long long //更长的整形 float //单精度浮点数 double //双精度浮点数
一个char表示一个字节的数据,short占两个字节。int四个,long四个,long long八个,float四个,double四个。
但是我们需要注意,这里的是在32位的系统下才正确。如果是8位或者64位的系统下部分类型所占字节不同。比如8位的系统下int只有两个字节。
这个时候有人就会有疑惑,int,long,float都是四个字节。有什么区别呢?C语言标准是这样规定的:int最少16位(2字节),long不能比int短,short不能比int长。早期的操作系统是16位系统,int用2字节表示,long用4字节表示。而float和int与long不同,float是浮点型数据(就是有小数点的数据,比如3.14,5.46这种),int和long则是整形数据(只能是整数,比如3,5,6这种)。
如何判断不同呢系统下数据类型大小
这个时候我们可以用一个库函数sizeof()了。你在sizeof()中写入数据类型,然后利用printf打印出来即可。如下
#include <stdio.h> int main() { printf("%d\n", sizeof(char)); printf("%d\n", sizeof(short)); printf("%d\n", sizeof(int)); printf("%d\n", sizeof(long)); printf("%d\n", sizeof(long long)); printf("%d\n", sizeof(float)); printf("%d\n", sizeof(double)); printf("%d\n", sizeof(long double)); return 0; }
结果
为什么需要这些数据类型
我们需要知道,我们的所有数据其实是存放在一个特定的区域的。而计算机一开始不知道这个数据需要多大的区域。像一个十进制数字8转换成二进制就算1000,需要一个字节存储。而十进制128转换成二进制就算1000 0000 需要两个字节。如果这个变量从8变成128,这个时候我们就需要预留给计算机足够的内存存放这个变量了。
如果不能理解,打个比方。你是一个老板,工厂里面有一批货需要放在一个100平方米的地方存放。但是因为销售的产品不可能一时间都卖出去,有可能会造成积压,这个时候就需要200平方米的仓库了。可是你建房子也不是说建好就建好的,这个时候,老板就需要考虑,我建这个仓库一开始就需要大约多大的空间呢?空间太小,物品积压,难道都丢了?空间太大,增加成本没必要。所以在仓库建立之初就需要规划好。而这个数据类型可以理解为规划仓库大小。