C语言在学习编程的作用并简单了解一下C语言

🌟接下来就让小奔来带着大家简单的了解一下C语言,不过看起来挺多的,哈哈哈,写了大概八十个小时吧,不过小奔是在20几天前才开始学的哦,这里只是简单带着大家对C语言有一个轮廓的认识,小奔会持续更新的
在这里插入图片描述

目录

🎩0. 看前须知

🌟对于我们这些才步入编程界的小生来说,有一个方向尤为重要,但是无论选择哪个方向,有一门计算机语言是我们都要去学习的,这门计算机语言就是C语言

🌟为什么说C语言是我们都要学习的呢?

🌟我问过鹏哥,如果你想入手编程的话,而且也是一门比较经典的语言,以这门语言作为编程入门的语言是比较合适的

🌟C语言在编程领域的用途的话,一个C++开发工程师他必然要懂C语言对吧,因为C语言和C++本质上是不分家的,在学完C之后,再延伸往后学习C++,这个时候就可以做C++开发工程师对吧,如果你学了C之后,要走Linux方向,那这个时候呢可以做Linux C的一个开发,甚至可以做底层的驱动开发,都是没有任何问题的,或者做一些嵌入式开发,驱动开发,包括系统开发都是需要C ,Linux这一套的

🌟接下来,学完C语言之后,对于其他编程语言的学习也更加容易一些,因为C语言简单对吧,容易上手,而且它是一门偏底层的计算机语言,它让你更加了解内存底层的一些原理之类的,学完之后,你再学习其他计算机语言都会变得非常容易,得心应手


💗1. 学C语言前期的准备

💗1.1 建议

跳转到目录末尾

1.喜欢分享
要习惯去分享,可以向我一样写博客,就是要去把自己的观点分享出来,不能闭门造车,善于分享的人对以后的工作有非常的优势。(找工作的时候,哎,把自己的博客链接一贴,面试官看了就能知道你是一个喜欢分享的人,会有很好的印象。)

2.要去实践,去刷题
学习编程必须去实践,去刷题,我推荐一些网站,可能还有不知道的其他很不错的刷题网站,我了解后会补充在这里。
链接:
牛客网

3.建立一个自己的仓库
学编程要建立一个自己的仓库,我听过程序猿敲过的代码,它能运行就行,你稍微一改,可能就改了一个数,就运行不了,但是你可能就会忘记改的哪里,或者电脑死机,你写的代码就在里面,取不出来,这时候如果有一个仓库储存着这些代码,需要的时候重新把这个代码从仓库里拿出来,就不会怕上面这种情况。
我使用的是gitee,这个跟博客有一个相同的作用,就是面试的好工具,大公司都喜欢这个,里面还有一个贡献度,请添加图片描述
你每上传一次代码,上面都会有记录,你这天上传的次数越多,绿点就会越深,而且也可以点击这个绿点来查看这一天所上传的代码,在面试的时候非常有帮助。所需要的软件都存在百度网盘的,就在最下面链接中

💗1.2 安装相关的软件

跳转到目录末尾

1.如何安装编译器呢?
快看鹏哥的视频
(吹爆他,太强了)

2.如何使用gitee呢?
还是看鹏哥的视频
(鹏哥是真的强)


🎻2. 什么是C语言

跳转到目录末尾

c语言是一门计算机语言(比如c++/java/python…),常用于底层开发,跟人类交流的语言类似,它是人与计算机交流的语言。

计算机语言的发展:低级–>高级

二进制的指令
汇编指令
B语言
C语言

发展到C语言时,已经是高级语言了

语言形式 例:

        二进制的指令     1001010  
       
        汇编语言         ADD

C语言的国际标准:ANSI C(常用的是C89,C90还包括C99,C11…)

编译C语言的编译器主要有MSVC(作者目前使用),GCC,Clang,WIN-TC,Turbo C等

C/C++是编译型的语言,要把源代码(test.c), 编译为程序(test.exe), 需要4个过程(下面四个过程)

初步了解编译器运行过程:

预处理
编译
汇编
链接

我们都知道计算机使用的是二进制语言,我们生活在十进制的世界,
二进制就例如10010101,逢二进一;
八进制就例如157643235,逢八进一;
十进制就例如95124921,逢十进一;
十六进制就例如A5B46,逢十六进一。(A指10,B指11,依次类推)

 二进制          八进制          十进制          十六进制
 1                 1               1               1
 10                2               2               2
 111               7               7               7
 1000              10              8               8
 1001              11              9               9
 1010              12              10              A
 1101              15              15              E
 1110              16              16              10
 1011001011        1313            715             2CB

那么计算机为什么要使用二进制语言而不去使用八进制十进制,甚至十六进制的语言呢,这是物理方面的原因,只有二进制比较好实现,
灯亮
灯亮则是1
请添加图片描述
灯灭则是0
从物理方面好实现,其他的进制都不太好实现,这里就先简单了解一下


📓3. 第一个c语言程序

跳转到目录末尾

我们在敲出第一个C语言程序前先思考一下,为什么要写代码?
当然是为了解决生活中的问题(比如购物、点餐、看电影等)

📓1.打开VS
跳转到目录末尾

请添加图片描述

📓2.创建新建项目
跳转到目录末尾

请添加图片描述

📓3.选择空项目
跳转到目录末尾

请添加图片描述

📓4.输入项目名称并创建
跳转到目录末尾

我这里推荐把项目名称改为当天的日期,存放在一个统一的位置,方便自己查找,也方便自己把代码上传仓库
请添加图片描述

📓5.创建源文件
跳转到目录末尾

在解决方案资源管理器那里的源文件右击,就可以弹出来那些选项(如果一不小心把解决方案资源管理器关了,不要关掉整个软件,你可以点最上面的视图,再点击解决方案资源管理器就可以了)
请添加图片描述请添加图片描述请添加图片描述
注意:记得把名称的后缀.cpp改为.c
C的语法和C++的语法是有所差别的

 .cpp后缀     编译器会按照C++的语法来编译代码
 .c后缀       编译器会按照C的语法来编译代码

我们目前使用的是C语言,在后面的C++学习篇中再来使用.cpp后缀

📓6.写代码
跳转到目录末尾

//这个是写注释的,即把这一横行的代码无效化

vs2019环境如何运行代码:
运行按键 ctrl+f5fn+ctrl+f5

#include<stdio.h>

//c语言代码中一定要有main函数
//也就是主函数

//printf是一个库函数,是专门用于打印数据的

//标准的main(主)函数写法
int main()
{
   
printf("Hello world!");
return 0;
}
//古老的写法-不推荐
//void main()
//{
   
//
//}

运行的结果:
打印了一个
Hello world!
请添加图片描述

📓解释:
跳转到目录末尾

1. #include<stdio.h>
是在程序编译之前要处理的内容,称为编译预处理命令(还记得上一个博客里面编译器运行的四个过程吗,第一个过程就是预处理)
std—指标准(standard)
i—指输入(input)
o—指输出(output)

2. int main() { return 0; }
是C语言main函数(也叫主函数)的一种声明方式(我目前写的简单的代码都要套用这个模板,还不清楚的看之后发的博客所示代码就能明白),这里的int数据类型(下一个博客会讲)里面的整型(比如6,48,99等的整数),int对应后面的是return 0;
return 0即返回值为0,因为int是整型,所以要求返回值也符合int,这个0也可以是其他数,但我们俗称规定的就是0,就不要搞特殊写45什么其他的数字了。

3. printf(" ");
库函数,专门用来打印数据的,c语言提供这个库函数,是不是你的?当然不是,它是别人给你的,所以你要用的时候需要打个招呼,这个头文件#include<stdio.h>就是用来打招呼的,说我要用这个printf这个库函数


🔭4.数据类型

跳转到目录末尾

之前说过写代码是为了解决生活中的问题,比如购物。

假设我们要买一本书,它的价格是10.5,是个小数,也可以是一个整数10,它的书名是钢铁是怎样炼成的,是一组字符串,就像svli@gikvw这些,里面每个称为字符

我们要去用c语言来去存储这些信息呢,在c语言里面为了能够描述这些类型。
就把小数抽象出来一个数据类型,叫浮点型

把整数抽象出来一个数据类型,叫整型(就是上面的int

把字符抽象出来一个数据类型,就叫字符

 10.5 -  小数  -  浮点型
 10   -  整数  -  整型
 A    -  字符  -  字符

那么c语言里面抽象出来哪些数据类型呢?

char          //字符数据类型
short         //短整型
int           //整型
long          //长整型
long long     //更长的整型
float         //单精度浮点数
double        //双精度浮点数
//浮点型  10.5
//整型    10
//字符    A

看了上面的数据类型,很容易看出来下面的关系:

数据类型
浮点型
float单精度浮点数
double双精度浮点数
整型
short短整型
int整型
long长整型
long long更长的整型
字符
char字符数据类型

为什么叫浮点数?
就像66.66.66*10,小数点是可以浮动的,所以叫浮点数

那么,为什么会有上面这么多的类型呢?我们就需要先回答一下下面这个问题:
每一种类型的大小是多少?
我们等一下用代码问一下他们各自的大小

先了解一下新的东西

#include<stdio.h>

int main()
{
   
printf("%d\n",100)//
return 0;}

这个%d指的是打印(输出)的格式,即整型,后面的100返回值,即打印的是100\n的意思就像enter,空行的意思,如图:
运行结果:
100
请添加图片描述
现在来解释一下\n的作用,这里用两组代码来对比一下:
第一组

#include<stdio.h>

int main()
{
   
printf("%d\n",100)//
printf("%d\n",100)
printf("%d\n",100)
return 0;}

运行的结果:
100
100
100
请添加图片描述

第二组

#include<stdio.h>

int main()
{
   
printf("%d",100)//
printf("%d",100)
printf("%d",100)
return 0;}

运行的结果:
100100100
请添加图片描述
可以看出,\n的作用就是空一行,就是平时enter的作用

接下来就是

#include<stdio.h>

int main()
{
   
    printf("%d ", sizeof(char));
	printf("%d ", sizeof(short));
	printf("%d ", sizeof(int));
	printf("%d ", sizeof(long));
	printf("%d ", sizeof(long long));
	printf("%d ", sizeof(float));
	printf("%d ", sizeof(double));
    return 0;
}

运行结果:
1 2 4 4 8 4 8
那么这些数字的含义是什么它们又是怎么来看出所占内存的大小呢?我们等一会儿就来解释。)
请添加图片描述

这里的sizeof()的作用就是返回数据类型中的char在内存中所占的大小,通俗点就是用它来告诉你char这个数据类型占多少内存

不过这里用%d不太合适,在一些的编译器里面会报警告,我们用%zu最合适,sizeof的返回值要用%zu来打印。

int main()
{
   
	printf("%zu\n", sizeof(char));
	printf("%zu\n", sizeof(short));
	printf("%zu\n", sizeof(int));
	printf("%zu\n", sizeof(long));
	printf("%zu\n", sizeof(long long));
	printf("%zu\n", sizeof(float));
	printf("%zu\n", sizeof(double));
	return 0;
}

结果跟上面那个图是一样的,运行结果是:
1
2
4
4
8
4
8
(我里面加了\n,所以是一排一排的)

接着我们来讲上面那些数字的含义,
你只看到了它们这些数字,但没有单位,其实它们都是有单位的,这里我们就来了解一下计算机的单位
计算机的单位从大到小就是PB,TB,GB,MB,KB,byte。就像我们平时生活中用的流量,一般开通的套餐只到GB,所以GBMBKB这些我们都已经很熟悉了,下面就是各单位间的换算

 1Pb=1024Tb                   
 1Tb=1024Gb
 1Gb=1024Mb                  
 1Mb=1024kb
 1kb=1024byte(字节)  
 1byte=8bit(比特位)

看到这些,你可能对这些没有什么概念,我们再来进一步了解一下

我们都知道计算机使用的是二进制语言,而我们生活在十进制的世界,
来给一个空间| |,里面可以填10就是|1||0|,这就是一个bit,对应的就是灯亮和灯灭

  • 73
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 114
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 114
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奔同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值