前言
本篇只对C语言做基础的介绍。对C语言基础有个大概的了解
一、什么是c语言?
C语言是门语言,就像人与人之间交流用汉语、英语、法语等等,而C语言是实现人机交流的一门语言。
C语言是一门面向过程的、抽象化的通用程序设计语言,不同于面向对象的Java,C++,Python等等是面向对象的语言,相对而言是最基础的语言。一般用于底层开发,比如Java的底层就是C/C++写的。在近50年来,C语言作为计算机各个编程语言中学习人数一直稳居前三,足以证明它的重要。
二、第一个C语言代码(下面简称C语言为C)
# include<stdio.h> int main() { printf("Hellow world"); return 0; }
这是一个标准函数代码,其中main函数,也叫主函数,它是所有C程序的入口,也就是说无论一个C程序员要写什么,写多少,都必须要有这么一条语句。main后面的()中写的是参数列表,这里没有任何参数,也叫无参列表。另外每个编译器的环境不同,main()括号里的参数不同。
int是main函数的返回类型。{}这是我们C的函数体,所有main函数体的代码都写在里面。return 0 是main函数的结束标志,它表示程序的退出。“;”分号表示每一段语句的结束。
每个程序仅仅只能存在一个main函数。而printf 是指格式化输出函数,主要功能是向标准按规定输出设备定格式输出信息。printf 是C语言标准库函数,定义于头文件 <stdio.h>。所以我们需要用#include去引用。
三、通用类型
数据类型符号 |
数据类型名称 |
数据类型单位 |
char |
字符型 |
1个字节 |
short |
短整型 |
2个字节 |
int |
整形 |
4个字节 |
long |
长整型 |
4个字节 |
longlong |
更长的整形 |
8个字节 |
float |
单精度浮点型 |
4个字节 |
double |
双精度浮点型 |
8个字节 |
解释
计算机在对数据进行保存时会将数据转换为二进制存储。
存储的一个二进制所需要的数据单位为1个bit(比特位),Byte(字节)。8bit=1Byte 1024Byte=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB
当然还有更大的存储单位以此类推。
看上述的通用类型,仔细看会产生一个疑问,既然long是长整型,那为什么和int所占单位是一样的呢?
sizeof关键字
sizeof适用于计算数据类型的大小,单位是字节。
sizeof(int)= 4 Byte
而根据相关规定sizeof(long)只需要满足 sizeof(long)>=sizeof(int)就可以了。
四、变量与常量
虽然上文介绍了一部分关于main的相关知识,相信很多爱思考的小伙伴还会有很多问题。比如为什么return要返回0,什么是头文件等等。这里并不多介绍。
介绍完最基础的代码以后,得了解什么叫变量什么叫常量
变量:
顾名思义可变的量,比如你的身高,体重等等。
常量:
不可变的量,比如你的出生年月日,你的身份证号码。
如何定义变量与常量
变量的定义
int count=2;//前面是数据类型 count是你自定义的变量,需要让计算机识别它 count=3;//我们可以在后续代码中进行人为改变
常量的命名规范
1) 变量名的开头必须是字母或下划线,不能是数字,且变量名中不能有空格。
2) 变量名中的字母是区分大小写的。
3) 变量名绝对不可以是C语言关键字,这一点一定要记住!
变量的分类
由两类组成分别是局部变量和全局变量。
#include <stdio.h> //局部变量:{}内部所定义的 //全局变量:{}外部所定义的 int m=0;//全局变量 int main() { int salary=5000;//全局变量 return 0; }
如果一不小心把局部变量和全局变量名称写一样了怎么办?
#include <stdio.h> int salary=8000; int main() { int salary=5000; printf("%d",salary);//就近原则,可以理解为这里的salary把前面的给覆盖了 return 0; } 结果输出为5000;
一般在写代码时不建议局部变量和全局变量写重名,我们写的每一行代码都需要有意义。
作用域和生命周期
作用域:简单来说就是,哪里定义哪里使用,一旦离开其作用域,程序便不能再访问该标识符。
(1):局部变量的作用域就是其所在的{}内部其作用。
(2):全局变量的作用域整个项目。
生命周期:简单来说就是,从哪里创建到出了该范围就销毁,这其中的时间段就是它的生命周期。
(1):局部变量的生命周期就是所定义的哪个{}内部。
(2) :全局变量的生命周期是随项目的创建而创建,随项目的销毁而销毁。
总结
具体的代码实现还可以自己去写一写,这样会看的更加清楚,更加了解和消化。