初入编程吓破胆?那是你还不懂这些!(高能预警)_不懂编程的有没有被程序吓到的_灰小猿的博客-程序员宅基地

技术标签: 软件资讯&干货资源  安全  c语言  编程语言  人工智能  软件开发  

很多刚开始学习C语言的小伙伴,对于这样一个熟悉而又陌生的名词,都是显得闻风尚胆。甚至对于程序员这样一个职业的第一印象都是格子衫,谢顶头,大概是这样的…

在这里插入图片描述
但实际上真正的程序员是这样的…

在这里插入图片描述

哈哈,开个玩笑!

对于很多刚学习编程的小伙伴来说,C语言无非是最基础的入门一步,但在很多人看来,编程语言给大家的印象却总是难上加难。

每每听到C语言这样一个名词都会吓得“哇,C语言啊,听说好难好难,我学不会怎么办?是不是我学完C语言以后也会变成秃顶?成为一个名副其实的程序猿?”

在这里插入图片描述
甚至很多刚开始学习编程的小伙伴,对于这样一门语言,还是颇有些陌生、不了解,甚至更不知道这门语言在学习以后能够做什么?可以干什么?再加上最初对C语言所谓的诸如天书般的印象,导致很多人在刚学习C语言的时候都会产生很大的心理压力。

刚开始学习C语言的小伙伴,和大灰狼刚开始学编程时一样,无非就有这样几点困惑:

在这里插入图片描述
针对小伙伴们遇到的这些困难,大灰狼今天就来简单的和大家聊一聊C语言这门课程到底应该怎样如履平地般的学习呢?

01 这门语言是否真的很难?

首先对于第一个问题,C语言是不是真的很难?

其实在最开始我刚学习C语言的时候和大家一样,也会有这样的困惑。早在很早的时候就听说C语言很难很难,以至于刚开始在学习的时候也会产生和大家一样的心理压力,当时心里就想着一定一定要好好学习它。

那么C语言这门课程真的像众人口中说的那样很难吗?

其实不然,C语言作为众多编程语言注如C++,JAVA,Python这些编程语言的基础来讲,难易程度相对其他语言来说,其实只是基础。

在这里插入图片描述
就像我们在刚开始学习英语的时候,老师不可能一下子就教我们各种语法从句,而是从最开始的26个字母开始。C语言也是一样,既然作为所有编程语言的基础,那么它的入门一定不会让大家觉得那样困难。

相反,它也一定会从编程语言最基础的地方入手,让大家一步一步的慢慢深入。一口吃不成胖子,编程语言也不可能一下子灌输在我们的脑海中,这当然是需要我们长时间的积累和不断的学习,从最基础的汇编单词开始,一步步的慢慢深入到独立的程序当中。

02 这门语言到底能干嘛?

第二个问题就是很多人在学习C语言的时候会有一个疑惑,这门语言到底能干嘛?

甚至于很多看似与C语言并不相干的领域,也同样要求学习C语言编程基础。打个比方来说:

机器人工程这样一个专业,很多人看来这种看似偏机械的专业领域,不需要汇编语言这样太过于软件的东西。但其实不然,机器人工程作为当今互联网AI智能的一个发展趋势,恰恰相反的是,它势必要与汇编语言产生密切联系。

在这里插入图片描述
就比如说设计好的一个机器人结构,就需要以C语言作为基础的嵌入式开发系统,为机器人编写程序,使冰冷的机械具有一定的灵活性和自主性!注如最简单的机械臂,他也需要大量的程序来对其进行驱动。

另外,在互联网专业领域,C语言也并不仅仅限于课本上所学的知识。依据近几年互联网开发编程语言排行榜来看,C语言仍然毫不示弱的位居前几,由此看来,C语言在软件开发和项目开发上同样也有着不可或缺的地位。

在这里插入图片描述

03 我应该把它学习到怎样一个程度?

当前我们所熟知的C语言课本是谭浩强谭老编写的《C程序设计基础》,同样它也是近几年来在相关领域较为流行的C语言编程类参考教材。

这本教材从最基础的C语言编程思想一直深入到C语言内部的栈、类等项目开发知识,可以说是对C语言一个较为全面的基础解析。

那么不管是专业领域还是非专业领域,C语言的学习都是一个不断探索的过程,唯有不断的探索新的项目程序开发,才有机会再这样一个领域分一碗羹。

04 我学不会怎么办?

很多刚开始学习C语言的小伙伴,最关心的问题当然还是我学不会怎么办?

这就像很多人在做一件自己没有很大把握的事情的时候,总会去质问自己我做不到怎么办?

其实对于C语言来说,这样的担忧没有太大的必要,反而对于这样一种最基础的汇编语言产生过多的忧虑,反而对今后的学习不利。很多人对于C语言这样一个全新的语言,都是第一次接触,具有一定的抵触当然可以理解。

但是C语言同样也具有很高的灵活性,它不需要向思修政治那样背的死去活来,反而它具有很高的贯通能力。

打个比方来说,我拿到了C1驾照就可以驾驶不同形状的小汽车,C语言也是如此,学会了一个方法,就可以用在很多很多程序上。

在这里插入图片描述

05 我应该怎么去学习它?

最后大灰狼来和大家聊一下大家最关心也是最迷茫的一个问题,就是C语言应该怎么学习?

其实学习C语言并不需要凭脑子去死记任何一个程序,因为互联网的海洋也是十分的广阔。在这个错综复杂的互联网络中,包含了甚至上亿个数不清的程序,一个一个的程序连接起来,再组成我们所看到的互联网络产品。所以我们不可能去熟记每一个程序。

相反,我们要做的就是在并未接触过的前提下,去学会如何去书写这样一个程序,书写它是需要怎样的知识和语法。就像我只需要去学会驾驶就行,不需要去学会世界上的每一种车型,当然这也是不可能的。那么对于C语言的学习有什么好的方法呢?

在这里插入图片描述
在大灰狼看来,C语言最注重的是理解和灵活运用,很多小伙伴在刚开始学习C语言时对于各种语法和程序并不理解,甚至会因某一个语法而急的焦头烂额。

但当你深入学习了,你就会发现,其实每一种语法都有它独特的理解和认知方式,我们完全可以不按照常规的思路来对其解析。

相反,我们所需要掌握的就是这样一个语法它是怎么运行出来的即可,当我们用自己的认知和想法去剖析每一个语法的时候,就会发现其实C语言的学习并没有那么的困难,举个例子来说:

如while循环

//while循环
while(i<9{
    
    printf("C language. Grey Wolf cave master!");
    i++;
}


很多小伙伴对于这样一个简单的语法循环来说不是太好理解。

while在英语单词中的意思是「在…期间」,所以在while后面的括号中就是我们所要书写的一个区间,如(i<9),我们对它的理解就可以是在i<9期间执行{}内的内容。

一般来说,这样一个循环都会伴随有i++或(i–)的语句,其意思就是在我们执行完某一个语句(如printf语句)以后,让变量i加1或减1。然后再返回while(i<9)判断i是否在这样一个区间内。

因为只有这样不断地对i进行加减,才有可能让我们的循环慢慢的跳出这样一个区间,达到我们预期所要达到的循环结果。否则我们假定的变量i永远都在i<9这样一个区间内而无法跳出,那么这个程序就会永无止境的执行括号内的内容,这就是我们最常见的一个死循环。

所以根据while循环这样一个例子,我们就可以看出C语言的学习绝非是死记硬背,而是要不断地根据我们自己的大脑去对其进行独有的理解和记忆,才能不断深入的学习各种语法知识,适应各种不同的汇编语言程序。

在这里插入图片描述
好了,对于C语言,大灰狼就和大家聊这么多,同样对于C语言学习有疑问的小伙伴,也可以在公众号后台留言大灰狼。

始终记住一句话“世上无难事,只要肯攀登。”C语言的学习也是如此,永远不要被其表象所以而迷惑,真正能够将它纳入囊中的只有我们自己。

加油,大灰狼陪你度过每一个值得的瞬间!觉得有用记得点赞分享加关注哟!
同时你也可以关注大灰狼的微信公众号“灰狼洞主”获取更多好玩有趣的实战项目分享和软件资讯。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44985880/article/details/105854259

智能推荐

android volume挂载流程,Android SDCard UnMounted 流程分析(一)_心纳天下的博客-程序员宅基地

Android SDCard框架Android SDCard框架,我们修改一般涉及到四大模块Linux Kernel 用于检测热拔插,作为框架开发者来说,这者不用涉及Vold 作为Kernel 与 Framework 之间的桥梁Framework 操作Vold ,给Vold 下发操作命令UI 与Framework 交互,用于挂载/卸载SD卡框架涉及的源码位置Vold :System/vold为vo..._android storagevolume 流程

Monitor监视器对象_呼声很高的博客-程序员宅基地

在分析完对象头以后,我们知道对象头里其实是有一个重量级锁的指针,而重量级锁的指针指向的就是monitor监视器对象。synchronized无论是修饰代码块还是修饰普通方法和静态方法,本质上还都是作用在对象上为什么说本质上synchronized还是作用在对象上(猜测)?synchronized分为对象锁和类锁。对象锁,锁的是实例化对象。而类锁加在了类上,会对每一个该类的实例化对象上锁,说白了还是加在对象上。类的信息是存放在方法区,该类的每一个实例对象都有一个Kclass point指针(对象头中)_监视器对象

好程序员web前端分享CSS3 边框_web前端带有边框的图片_好程序员IT的博客-程序员宅基地

好程序员web前端分享CSS3 边框,通过 CSS3,您能够创建圆角边框,向矩形添加阴影,使用图片来绘制边框 - 并且不需使用设计软件,比如 PhotoShop。在本章中,您将学到以下边框属性:border-radiusbox-shadowborder-image浏览器支持Internet Explorer 9+ 支持 border-radius 和 box-shadow 属性。Firefox、C..._web前端带有边框的图片

随便推点

非法关机 mysql_转 mysql数据库非法关机铁血教训_小明说房的博客-程序员宅基地

转mysql数据库非法关机铁血教训(2011-09-15 04:56:03)标签:杂谈概述:昨早犯警硬件闭机,古早8:56去便收现crm体系挨没有开了,经过排查是mysql数据库起没有去了。直到9:34才弄好。尾要启事便识谈警闭机招致数据库表誉坏。而且我的数据库出有备份(内网测试中)。经过:1、访谥页,提示弊端,毗连没有到数据库,2、启动mysql办事,卸载战启闭rpm安拆的mysql办事(来..._/var/lib/mysql/localhost.localdomain.pid ended

计算机组成基础(1)--数字逻辑层_数据逻辑层_PowerDCchen的博客-程序员宅基地

数字逻辑层1、门与布尔代数逻辑门布尔代数2、基本数字逻辑电路多路选择器译码器比较器移位器加法器算术逻辑部件(ALU)时钟3、内存锁存器触发器计算机体系结构的学习,对做嵌入式开发很有作用,它可以让你层次化理解你所用的开发板的相关细节。本文介绍计算机体系结构中的最底层——数字逻辑层。数字逻辑层是纯硬件实现层,学习本文也可为后续学习硬件-模电相关知识巩固基础。本文分析过程完全参考《计算机组成-结构..._数据逻辑层

MRCTF2021 dynamic_debug新手详细复现_ddddynamic ctf_*^ˇ^*的博客-程序员宅基地

Dynamic_debug一道惦记了很久的题,今天终于!历尽千辛万苦 复现出来,必须得记录了~~~根据题目,大概率要动调,看了官方wp知道了是smc(MR师傅tql),那确实得动调了,静态的话再怎么修复出来都是不对的。以下详细记录一个新手废物怎么胡改乱改 修复代码的:(如果有错的地方请路过的师傅们指点!谢谢谢谢!)Step1, 按C强制转换得到关键汇编代码部分,先随便找个大概位置下断,开始动调:开始位置按P创建Function,在长度判断跳转处下断绕过呃,提前说明哈,我是在看了官方wp知_ddddynamic ctf

以太网帧与ARP协议分析_以太网与arp协议分析_Libra_Ng的博客-程序员宅基地

一、实验目的分析以太网帧,MAC地址和ARP协议二、实验环境与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。三、实验步骤:IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机上运行的不同网络应用程序。在链路层,有介质访问控制(Media Access Control,MAC)地址。在局域网中,每个网络设备必须有唯一的MAC地址。..._以太网与arp协议分析

mongoose添加属性问题_weixin_30235225的博客-程序员宅基地

在项目中遇到这样一个问题。项目地址:https://github.com/ccyinghua/vue-node-mongodb-project/blob/master/07-shoppingCart.md有一个good商品模型(models/goods.js)var mongoose = require('mongoose');var Schema = mongoose.Sc...

Linux下安装Tomcat图文教程(完整版)_liunx tomcat 安装_YolandeLove的博客-程序员宅基地

Linux系统下如何安装JDK大家好!本文主要介绍的是如何在Linux环境下安装Tomcat的,因为在Linux环境下,很多时候我们也要用到Tomcat的,下面和大家一起分享如何安装Tomcat。一、安装环境操作系统:Centos7;Tomcat版本:9.0.37;二、准备工作安装包下载 ;①请到官网下载对应的版本(本文以9.0.37为例子);②因为我的环境是Linux64位,所以下载64位的安装包;三、开始安装上传安装包 ;上传文件方式较多,本人用了rz命令的方式上传。_liunx tomcat 安装

推荐文章

热门文章

相关标签