什么是C语言?
C语言是一门计算机编程语言,广泛的应用于底层开发,是一种能够以简单的方式提供能够进行编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境便能够运行的编程语言。
在早期写程序的时候,计算机能够识别的是二进制,例如 1000000010101110 之类的形式,但是这不便于人们的书写,所以出现了助记符。将一些二进制以别的字母串代替,来表达相同的意思,而且便于书写。比如把二进制操作码中的 001 更改 001 - ADD - 表达加法;010 - SUB - 表达减法。 (这是计算机语言的更新过程)
二进制 - 汇编语言 - B语言 - C语言 - C++ -> JAVA
( 低级语言 ) ( 高级语言 )
在C语言的广泛使用之中,每个开发商对于C语言的使用也产生了不同,如C1 C2 C3。所以为了避免各种开发商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称ANSIC,作为C语言最初的标准,此后有不断的C语言版本出现,例如 C89、C90、 C99、C11。
对C语言而言,主要的编译器有:Clang(苹果)、GCC(Linux)、WIN-TC(编译器 配置编译器 然后编译C)、SUBLIME、MSVC(集成开发环境VS2019)、TurboC等。
应用软件(如:QQ/微信/各种游戏)【上层】 |
操作系统(Windows/MacOS/Linux(C语言))【下层/底层】 |
驱动(可以通过C语言编写)【下层/底层】 |
电脑硬件【下层/底层】 |
怎么样写一个C语言的代码呢?
(以VS为例) VS2019 - 集成开发环境 - IDE (编辑器,编译器,链接器,调试器)
1.创建一个项目
在书写代码之前首先要创建一个新项目
选择空项目(C语言也要在C++的项目中编写)
然后配置空项目:对项目进行命名,选择位置(可以对项目起一个有意义的名称,便于以后对于代码的寻找和观看;选择一个合适的位置,便于找到)
2.创建一个源文件
接着选择源文件 - 添加 - 新建项
选择C++文件,如果是要写C的程序,把后缀改成 .c ,如果C++的程序,后缀写 .cpp
3.写代码
#include<stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
按下键盘上的:Ctrl+F5 程序即可运行
main,叫主函数:主函数是程序的入口;
C语言代码中必须有主函数;
程序有且仅有一个main函数;
一个工程(项目)中可以有多个.c文件,但是只可以有一个main函数。
int :int - 整型 - 整数,用来打印整数。
printf:打印函数,C语言标准库中的一个函数。
数据类型
刚刚我们使用了int用于数据的存储,要存储当然就要占用一定的空间,而且不同的数据,所占用的空间也是不一样的,就有了数据类型。
#include<stdio.h>
int main() //sizeof是一个操作符,是计算变量的大小
{
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));
return 0;
}
由此也可以知道不同数据所占的空间大小,这里的单位是字节。
计算机的常见的单位:
bit - 比特 byte - 字节 KB MB TB PB
1byte=8bit 1KB = 1024byte 1MB = 1024KB 1TB = 1024MB 1PB = 1024TB
在printf函数的后面的 " " 之中需要填写数据打印的类型
%d - 打印十进制的整数 %c - 打印字符 %f - 打印浮点数 ......
变量、常量
变量的命名:只能由字母(包括大写和小写);
数字和下划线(_)组成;不能以数字开头;
长度不能超过63个字符;
变量名中区分大小写;
变量名不能使用关键字。
变量的分类: 局部变量 全局变量
#include<stdio.h>
int a = 10;//全局变量
int main()
{
int b = 20;//局部变量
return 0;
}
//此时的结果是20
局部变量和全局变量名字冲突的时候,局部优先。但是最好不要冲突,对于变量什么时候用就什么时候创建。
小tips:
scanf是C语言提供的 scanf_s是VS提供的
scanf strcpy strcat 这些函数,VS都会提示不安全,为了可以正常使用,我们在.c文件的第一行,加上:#define _CRT_SECURE_NO_WARNINGS 1 就可以了;也可以直接使用scanf_s,但在其他的编译器中就不可以使用了。
错误:
方案一:(会有警告但不影响程序的运行,推荐该方案)
方案二:
为了避免在以后多次的输入这行代码,我们可以在new++file.cpp 这个文件中加入:#define _CRT_SECURE_NO_WARNINGS 1,这样在以后新建的文件之中都会加上#define _CRT_SECURE_NO_WARNINGS 1。