C语言-入门-精华版-带你走进编程(一)

C语言-入门-精华版-带你走进编程

文章目录

  • C语言-入门-精华版-带你走进编程
    • 流行情况
    • 什么是计算机
    • 计算机的发明者是谁 ?
    • 计算机特点是什么 ?
    • 什么是计算机程序 ?
    • 什么是计算机语言 ?
    • 常见的计算机语言类型有哪些 ?
    • 什么是c语言
    • C语言标准
    • 工欲善其事必先利其器,编写C语言程序用什么工具 ?
    • CLion安装
    • C环境
    • 第一个C程序
    • C语言程序组成
    • 编译 & 执行 C 程序
    • 初学者如何避免程序出现BUG
    • 如何快速解决BUG

流行情况

榜单查看
2021年7月编程语言排行榜
C语言-入门-精华版-带你走进编程(一)_第1张图片
2020 年度编程语言排行
C语言-入门-精华版-带你走进编程(一)_第2张图片
2021年7月语言排行
C语言-入门-精华版-带你走进编程(一)_第3张图片

2022年6月语言排行
C语言-入门-精华版-带你走进编程(一)_第4张图片

C语言-入门-精华版-带你走进编程(一)_第5张图片

基本上C一直保持在前3的行业,所以对于互联网编程行业,这门语言的重要程度不言而喻了

而且,别看现在py这么火,但是这门语言本质啥也不是,虽然语法简单让人容易上手,但是只是基础部分让人觉得好学,啥语言在学到一定的程度后都是非常复杂的, 虽然我也会py(自我觉得勿喷),他火的原因就是库(别人写好的代码)特别多,而且有些大神写出来一些非常牛逼的,人工智能库,和一些图形,爬虫,数据分析等库,改变了这个语言处境,这些库大部分都是c/c++写的 ,而Py就是黏胶可以调用多个语言的代码,在加上Py基础代码比较简单,让新手入门比较简单,还有因为很多数学家和科学家突发灵感了,想快速将想法用语言表达出来,那么py就是最好的方式,因为灵感这个东西可能下一秒就没了,所以需要随时能写和编译,并且语法简单,让人不用怎么考虑语法直接就将想法写出来,这个在语言界Py无人能比,虽然后期可能会将内容转换为性能高的C/C++语言,在说一点就是,开发成本和时间效率的问题,其他语言完成一个功能可能费劲的很,但是py就几行代码的事情,前提有这个功能对应的库没有的话不同语言开发一个功能都差不多 ,而且性能是py最大问题,所以我说py垃圾就是这个原因,如果没有库啥也不是, 在开发过程中不可能啥需求都有对应的库,还是很多需要自己写的,世界在前进,代码也在更新,需求也在变更

为什么Python会 比其他语言慢2到10倍?为什么我们无法将它变得更快?

以下是最主要的原因:

  • “它是GIL(Global Interpreter Lock全局解释器锁)”

  • “它是解释型语言而非编译语言”

  • “它是动态类型语言”

一般来说非人工智能的场景(毕竟py人工智能的那些库,还是没法被代替的),公司选择py的场景都是时间成本大于性能成本的时候才会选择使用py,就算后期用户多了支撑不住了,或者需要高性能了,我们也可以将性能瓶颈代码,替换成c、c++,代码然后在使用py进行调用 ,所以学会c是非常重要的

当然C不止是在Py中有这么大的地位,在其他语言中,只要牵扯到性能的,基本上都有C的影子

什么是计算机

计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。
由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。可分为超级计算机、工业控制计算机、网络计算机、个人计算机、嵌入式计算机五类,较先进的计算机有生物计算机、光子计算机、量子计算机等。
计算机发明者约翰·冯·诺依曼。计算机是20世纪最先进的科学技术发明之一,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革,计算机已遍及一般学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。
计算机的应用在中国越来越普遍,改革开放以后,中国计算机用户的数量不断攀升,应用水平不断提高,特别是互联网、通信、多媒体等领域的应用取得了不错的成绩。1996年至2009 年,计算机用户数量从原来的630万增长至6710 万台,联网计算机台数由原来的2.9万台上升至5940万台。互联网用户已经达到3.16 亿,无线互联网有6.7 亿移动用户,其中手机上网用户达1.17 亿,为全球第一位。

计算机的发明者是谁 ?

计算机发明者是约翰・冯・诺依曼,现代人称其为计算机之父,是他奠定了现代计算机发展的基础,第一代电子计算机诞生于20世纪,是20世纪最先进科学技术发明之一,但发明的计算机性能较低,且体积庞大、功耗较高、运算速度极慢、价格高达487000美元。 于1946年推出了现代计算机

约翰·冯·诺依曼”是谁
约翰·冯·诺依曼是美国国籍的匈牙利数学家、计算机科学家、物理学家,且还是罗兰大学的数学博士,同时也是现代计算机、博弈论、核武器、生化武器领域内的科学全才,现代人称其为“计算机之父”,是他奠定了现代计算机发展的基础。

计算机特点是什么 ?

计算机是一种电器, 所以计算机只能识别两种状态, 一种是通电一种是断电,正是因为如此, 最初ENIAC的程序是由很多开关和连接电线来完成的。但是这样导致改动一次程序要花很长时间(需要人工重新设置很多开关的状态和连接线)

C语言-入门-精华版-带你走进编程(一)_第6张图片
为了提高效率,工程师们想能不能把程序和数据都放在存储器中, 数学家冯·诺依曼将这个思想以数学语言系统阐述,提出了存储程序计算机模型(这是所谓的冯·诺依曼机)那利用数学语言如何表示计算机能够识别的通电和断电两种状态呢?非常简单用0和1表示即可,所以计算机能识别的所有指令都是由0和1组成的,所以计算机中存储和操作的数据也都是由0和1组成的

0和1更准确的是应该是高电平和低电平, 但是这个不用了解, 只需要知道计算机只能识别0和1以及存储的数据都是由0和1组成的即可。

什么是计算机程序 ?

计算机程序是为了告诉计算机"做某件事或解决某个问题"而用计算机语言编写的命令集合(语句)只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作,计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成

现实生活中你如何告诉别人如何做某件事或者解决某个问题?

通过人能听懂的语言: 张三你去楼下帮我买一包烟, 然后顺便到快递箱把我的快递也带上来
其实我们通过人能听懂的语言告诉别人做某件事就是在发送一条条的指令,计算机中也一样, 我们可以通过计算机语言告诉计算机我们想做什么, 每做一件事情就是一条指令, 一条或多条指令的集合我们就称之为一个计算机程序

什么是计算机语言 ?

在日常生活、工作中, 语言是人们交流的工具

  • 中国人和中国人交流,使用中文语言
  • 美国人和美国人交流,使用英文语言
  • 人想要和计算机交流,使用计算机语言

可以看出在日常生活、工作中,人们使用的语言种类很多,如果一个很牛人可能同时掌握了中文语言和英文语言, 那么想要和这个人交流既可以使用中文语言,也可以使用英文语言

计算机其实就是一个很牛的人, 计算机同时掌握了几十门甚至上百门语言, 所以我们只要使用任何一种计算机已经掌握的语言就可以和计算机交流

常见的计算机语言类型有哪些 ?

机器语言
所有的代码里面只有0和1, 0表示不加电,1表示加电(纸带存储时 1有孔,0没孔)
优点:直接对硬件产生作用,程序的执行效率非常非常高
缺点:指令又多又难记、可读性差、无可移植性

汇编语言
符号化的机器语言,用一个符号(英文单词、数字)来代表一条机器指令
优点:直接对硬件产生作用,程序的执行效率非常高、可读性稍好
缺点:符号非常多和难记、无可移植性

高级语言
非常接近自然语言的高级语言,语法和结构类似于普通英文
优点:简单、易用、易于理解、远离对硬件的直接操作、有可移植性
缺点:有些高级语言写出的程序执行效率并不高
对比(利用3种类型语言编写1+1)

表述方式

机器语言
10111000 00000001 00000000 00000101 00000001 00000000
汇编语言
MOV AX, 1 ADD AX, 1
高级语言
1 + 1

什么是c语言

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

  • C语言程序的执行效率非常高
  • C语言是所有编程语言中的经典,很多著名的系统软件也是C语言编写的
  • 几乎所有的操作系统都是用C语言编写的
  • 几乎所有的计算机底层软件都是用C语言编写的
  • 几乎所有的编辑器都是C语言编写的
  • 很多高级语言都是从C语言中衍生出来的(C++、C#、Object-C、Java、Go等等)
  • 现在主流高性能的工具mysql,redis,mq,es等等最终核心的底层都是c/c++

最早的高级语言:FORTRAN–>ALGOL–>CPL–>BCPL–>C–>C++等,“初,世间无语言,仅电路与连线。及大牛出,天地开,始有 FORTRAN、 LISP、ALGOL 随之, 乃有万种语” 1972年至1973年间,贝尔实验室的 Dennis.Ritchie(丹尼斯·里奇) 在 B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言即保持 BCPL 语言和B语言的优点(精练、接近硬件),又克服了他们的缺点(过于简单,数据无类型等)

C语言-入门-精华版-带你走进编程(一)_第7张图片

C语言标准

  1. 1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作
  2. 1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C(C89)
  3. 1999年,国际标准化组织ISO又对C语言标准进行修订,在基本保留原C语言特征的基础上,针对应该的需要,增加了一些功能,命名为C99
  4. 2011年12月,ANSI采纳了ISO/IEC 9899:2011标准。这个标准通常即C11,它是C程序语言的现行标准

工欲善其事必先利其器,编写C语言程序用什么工具 ?

  1. 记事本(开发效率低)
  2. Vim(和记事本没啥区别)
  3. VSCode(期待中)
  4. eclipse(过时了)
  5. CLion(深爱, 但收费,总有办法)
  6. Xcode(逼格高, 但得有苹果电脑)
  7. Qt Creator(开源免费,跨平台安装和运行)
  8. VC++ 6.0 (太老了)
  9. Dev-C++ (太老了)
  10. Visual Studio (太庞大了,动不动就10G+)
  11. C-Free (太老了)

CLion安装

下载好clion2021.1.2安装包后,双击运行安装包
C语言-入门-精华版-带你走进编程(一)_第8张图片
设置好安装路径,这里是安装到D盘

C语言-入门-精华版-带你走进编程(一)_第9张图片

根据自己需求进行勾选,点击Next (建议全部勾选)
C语言-入门-精华版-带你走进编程(一)_第10张图片

点击 Install

C语言-入门-精华版-带你走进编程(一)_第11张图片
选择 Run CLion
C语言-入门-精华版-带你走进编程(一)_第12张图片
勾选Do not import settings

C语言-入门-精华版-带你走进编程(一)_第13张图片
选择 Evaluate for free --> Evaluate

C语言-入门-精华版-带你走进编程(一)_第14张图片
可以点击New Project新建一个项目进入主编辑页面

C环境

  1. MinGW 在windows下开发windows (编译快) 推荐
  2. Cygwin 在windows下开发linux程序 (编译非常慢)

使用CLion软件的安装MinGW 教程

第一个C程序

C语言-入门-精华版-带你走进编程(一)_第15张图片
这个世界上, 几乎所有程序员入门的第一段代码都是Hello World.原因是当年C语言的作者Dennis Ritchie(丹尼斯 里奇)在他的名著中第一次引入, 传为后世经典, 其它语言亦争相效仿, 以示敬意

如何创建C语言文件,打开CLion软件
C语言-入门-精华版-带你走进编程(一)_第16张图片
C语言-入门-精华版-带你走进编程(一)_第17张图片
C语言-入门-精华版-带你走进编程(一)_第18张图片
接下来我们讲解一下上面这段程序:

  1. 程序的第一行 ​#include ​ 是预处理器指令,告诉 C 编译器在实际编译之前要包含​ stdio.h​ 文件。
  2. int main()​ 是主函数,程序从这里开始执行。
  3. /*...*/​将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
  4. ​printf(...)​是 C 中另一个可用的函数,会在屏幕上显示消息 “​Hello, World!”。
  5. return 0;​ 终止 ​main()​ 函数,并返回值 ​0​。

C语言程序组成

手机有很多功能, “开机”,“关机”,“打电话”,“发短信”,“拍照"等等, 手机中的每一个功能就相当于C语言程序中的一个程序段(函数), 众多功能中总有一个会被先执行, 不可能多个功能一起执行,想使用手机必须先执行手机的开机功能,所以C语言程序也一样,由众多功能、众多程序段组成,众多C语言程序段中总有一个会被先执行, 这个先执行的程序段我们称之为"主函数”
C语言-入门-精华版-带你走进编程(一)_第19张图片
一个C语言程序由多个"函数"构成,每个函数有自己的功能,一个程序有且只有一个主函数Main,如果一个程序没有主函数,则这个程序不具备运行能力,程序运行时系统会自动调用主函数,而其它函数需要开发者手动调用 虽然其他函数是我们开发人员手动调用,但是都是写在主函数里,本质上还是主函数调用,所以流程就是程序调用主函数,主函数运行他内部所有,其他函数或代码,主函数有固定书写的格式和范写

C语言-入门-精华版-带你走进编程(一)_第20张图片

编译 & 执行 C 程序

接下来让我们看看如何把源代码,编译并运行它。下面是简单的步骤:

我们先设置好,软件的编码格式,为UTF-8
C语言-入门-精华版-带你走进编程(一)_第21张图片
如果你是windows环境你发现打印中文还会乱码,因为我们系统默认是ASCLL, 解决办法有两种:

第一种直接修改当前编译的文件编码为GBK ,但是不解决根本问题
C语言-入门-精华版-带你走进编程(一)_第22张图片
C语言-入门-精华版-带你走进编程(一)_第23张图片
第二种方式,修改windows默认编码格式为UTF-8
C语言-入门-精华版-带你走进编程(一)_第24张图片
C语言-入门-精华版-带你走进编程(一)_第25张图片
C语言-入门-精华版-带你走进编程(一)_第26张图片

C语言-入门-精华版-带你走进编程(一)_第27张图片
然后应用,之后会让你重启电脑, 这样就一劳永逸了

在Clion中运行C代码
C语言-入门-精华版-带你走进编程(一)_第28张图片
通过其他方式运行C代码

当我们双击demo1.exe,发现窗口闪退,这是因为程序已经执行完毕了,太快了我们看不到,有两种办法可以让我们看到执行的结果

第一种: 进入CMD中运行.exe
C语言-入门-精华版-带你走进编程(一)_第29张图片
第二种: 使用C提供的函数库中的暂停
C语言-入门-精华版-带你走进编程(一)_第30张图片
然后我们在双击demo1.exe
C语言-入门-精华版-带你走进编程(一)_第31张图片
C语言-入门-精华版-带你走进编程(一)_第32张图片

初学者如何避免程序出现BUG

                          _ooOoo_
                         o8888888o
                         88" . "88
                         (| -_- |)
                          O\ = /O
                      ____/`---'\____
                    .   ' \\| |// `.
                     / \\||| : |||// \
                   / _||||| -:- |||||- \
                     | | \\\ - /// | |
                   | \_| ''\---/'' | |
                    \ .-\__ `-` ___/-. /
                 ___`. .' /--.--\ `. . __
              ."" '< `.___\_<|>_/___.' >'"".
             | | : `- \`.;`\ _ /`;.`/ - ` : | |
               \ \ `-. \_ __\ /__ _/ .-` / /
       ======`-.____`-.___\_____/___.-`____.-'======
                          `=---='

       .............................................
              佛祖保佑     无BUG   无BUG   无BUG

自我经验: 代码写多了BUG就多了除非你不写(相信很多人都深有体会),解决了很多BUG自然就能避免以前遇到过的BUG,这个过程没有啥捷径,不然老程序员为啥比新程序员吃香,就是他们的路走多了而已,遇到过你们都没遇到过的坑,虽然技术没你厉害但是他们遇到过的BUG都能比上你吃饭的数量了 ,所以在很多时候老程序员写出来的程序BUG就会少很多, 这就是经验之谈, 和技术没啥关系

如何快速解决BUG

度娘 度娘 度娘 重要的事情说三遍, 基本上百分之90以上的问题在百度上都有答案,就看你怎么去搜索了, 关键词很重要 ,还有需要自己具备,自我分辨对错的能力,以及个人的阅读理解能力,这两个能力都不可缺,否则就如大海捞针

还有如果真搜索不到想要的内容了,那么就从已知的信息中去分析, 基本就能解决剩余的问题,至于真遇到实在解决不了的,那么这类问题就是创新问题,其实这类问题也不少的,基本都是靠自己研究的, 在学习期间是不可能会遇到这类问题,基本上都是干了3~5年以上的人才会遇到, 所以学一个语言,难的不是语句,而是人的懒惰,东西都在互联网上,就看你学不学了

提供几个解决问题常用的地址:

  1. 百度 或者 百度开发者搜索
  2. 必应 国内,和国际 (比较强大)
  3. CSDN 专业的IT社区
  4. 知乎
  5. 掘金
  6. 博客园 大不如以前了
  7. stackoverflow 全球最大的技术问答网站(需要英语水平) , 腾讯云-问答 (stackoverflow翻译)
  8. 思否
  9. 51cto
  10. 开源中国
  11. 知乎
  12. 微信的搜一搜
  13. GitHub 不指有项目,还有BUG解决方案
  14. Gitee 不指有项目,还有BUG解决方案

基本在前4个就能解决百分之95的问题了,剩余的看运气,如果实在搜索不到,那么自己想办法或者请教大神,在或者掏钱找人解决因为真的很高深的东西,网上很少有解决办法的 , 主要是内容涉及到的东西太多了和知识价钱的问题, 就好比你搜索怎么造原子弹你看看有没有,估计大概就能搜到描述,而实际的过程具体步骤是没有的,所以当知识的内容非常有价值的时候,那么基本都是不会在网上能知道具体的过程,但是能给你提供灵感,所以有些问题在搜索的时候不要抱有太大的希望

点赞 -收藏-关注-便于以后复习和收到最新内容
有其他问题在评论区讨论-或者私信我-收到会在第一时间回复
感谢,配合,希望我的努力对你有帮助^_^
免责声明:本文部分素材来源于网络,版权归原创者所有,如存在文章/图片/音视频等使用不当的情况,请随时私信联系我。

你可能感兴趣的:(C语言,c语言,开发语言)