C语言入门基础_c语言介绍篇
C语言介绍
c语言的一门面向过程的编程语言
c语言功能强大的专业化编程语言
具有:
可移植性强 程序紧凑——程序更小 强大的控制结构 快速
这几个优点
学编程第一门编程语言大多数都是c语言,学会c语言后学别的编程语言学别的编程语言也会快上许多,比如python、java,c++
c语言在硬件上也广泛运用,也就是嵌入式开发,比如说单片机(89C51、stm32)
另外c语言可以操作内存,这一个特点
C语言编译器:
小熊猫C++:
这款编译器一般是作为上课用的教学软件,安装即用,不用配置文件,也内置了大量的库,比如说EGE这个图形库,但是性能上个人觉得还是差了点意思。用于新手入门还是不错的。新手入门。大学课堂上会使用。
Dev C++:
这款编译器个人在这款软件吃过一个小亏的,我英语不好,哈哈哈,也是和小熊猫一样
还有别的编译器比如说vs、vc、vscode,这里说简称,其实实际上都是用gcc运行的
这里推荐使用vscode或者vs,但是对于新手来说不是那么友好。

C程序
以下程序也一般是c语言的第一条程序也是编程大佬口中的“梦的开始”
#include <stdio.h>
int main(){
printf("Hello world!\n");
return 0;
}
这是运行后的效果
Hello world!
// 单行注释,编译器会屏蔽 // 往后的内容
/*
多行注释,这里的内容会被编译器屏蔽
*/
其实这个注释有些人会这样子看的
比如说
小红:大佬大佬
大佬:嗯
小红:想问你//是什么意思?
大佬:问什么?
小红:就是//是什么意思?
大佬:就是什么?
好了好了,打住不闹,
#include<stdio.h>
/*#预处理的意思,#include 引入头文件
stdio 文件名 .h 扩展名
<>系统根目录下找这个文件
""如果在系统跟目录下没有这个文件,就在工程目录下找
*/
/*int 是整形,也就是返回类型为整形
main是主函数,每个程序都有以个主函数也有一个
*/
int main(){
printf("Hello world!\n"); //printf 格式化输出 printf的意思就是输出 ""中的内容是输出内容
return 0; //return 返回值
}
注释不影响运行,运行后跟上面的一样
但是实际上一个c语言上也不是必须要有这一大堆东西
printf是stdio.h里面的东西,我们不用printf也就是可以不加入#include<stdio.h>
也就是
int main(){
return 0;
}
在一些编译器上可能也可以
void main(){
}
这个 void 是空的意思也就是返回类型是空,没有的意思,就是不返回参数
不管是怎么样的函数都看见有这个main(),为什么必须有这个东西?不写行不行?理论上来说还真不能不写你写的c语言就不能不写。因为 main() 函数(方法)是gcc编译器的入口函数。c语言编译是用的gcc编译器的,gcc里面写的就是用的。

这个 main() 就相当于一个门一样。可以想一下,有个大房间,这个main(),就是门。
当然有的编译器上,main()函数的()里面会写有点东西,比如说
main(int argc, char** argv)
其实实际上也没什么的,可以忽略直接用。
解释了 main() 函数,可以说这个花括号{}了。
其实很简单,被{}括住的东西就是属于这个函数的内容。这里给个建议,就是要写花括号的时候一次写一对,或者说凡是括号都是一对一对的写,可以少找个报错。
再这里说一下,这个函数和数学上的函数不是一个意思,这里的函数的可以理解为一个方法,做某件事的方法,避免混淆。
接下来解释
return 0;
这句话代码的意思是返回,也就是回去,在函数里面也表示结束函数返回一个值,上面代码返回的就是一个0,这个值可以最为一个参数,同时也会不管后面还有啥任务了,遇到return就会结束任务返回参数。
最后说
printf("Hello world!\n");
这个就是一个printf函数,也叫为格式化输出函数。其中printf()是函数本身,双引号内的内容是输出的内容也就是Hello world\n。其中里面的'\n'是不会直接输出'\n',这个是换行符号,使用后光标移到下一行。具体后续解释。
这里说一下,c语言运行代码的过程,实际上是 c语言 编译成汇编语言然后再编译成机械语言(二进制),机械语言一般人是看不懂的,让机械看的,也同时也因为这样子的特性使得c语言速度快,除了汇编最快的编程语言,当然相比起汇编,c语言会简单不少。当然在c语言中也可以参杂部分汇编代码,也是可以编译的,但是不建议
在这里说一句,计算机的全部东西都是人类所创造的,现在使用的每个函数都是人所创造,他可以弄出来我为什么不可以呢?我不比人家少什么,现在学不懂,不代表以后我也学不到,我们有的是时间,一点点弄懂他。
更多推荐



所有评论(0)