自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 应该如何学习C语言?给学习C语言的同学几点建议

初学C语言的朋友应该首先了解C语言关键的核心概念(结构化、三个执行流程、优先级、指针、文件、共用体、函数、作用域、重载等 ),只有弄明白了这些才能在今后的学习中游刃有余的把握C语言的精髓。这几个概念就像逻辑线一样,把整个C语言的体系贯穿起来,给人一种“结构化”的思想体系。下面我简要谈一下这几个核心概念。1、从宏观角度来看,结构化是C语言的编程思想基础,就是说C语言每一个功能模块就是一个结构,每一个结构实现一个运算或一个算法,这个结构就用大括号表示“{ }”,大括号里面的就是算法。尤其注意的是大括号的“}

2020-06-30 18:51:52 579 1

原创 学习开发环境和编程语言:汇编语言和C语言的比较

今天来学习开发环境和编程语言。CPU懂的机器语言单片机的CPU从存储器读取程序,但是一次只能读取一条指令,然后解释每条指令,并执行。存储器中保存的内容,不管是程序还是数据,都是二进制代码“0”和“1”组成的字符串。指令二进制代码告诉CPU要做什么,而数据二进制代码则是CPU操作或处理指令时要使用的值。CPU的操作包含加、减运算等指令。这些像密码一样排列的“0”和“1”字符串就是机器语言。比如图1左边显示的就是一个机器语言指令,意思是“将2放入寄存器A(寄存器是CPU内部的储存区域)。CPU总是按存储器

2020-06-30 16:20:02 911

原创 深度分析C语言和其他高级语言的区别

提到C语言,我们知道c语言和其他高级语言的最大的区别就是C语言是要操作内存的!我们需要知道——变量,其实是内存地址的一个抽像名字罢了。在静态编译的程序中,所有的变量名都会在编译时被转成内存地址。机器是不知道我们取的名字的,只知道地址。内存的使用时程序设计中需要考虑的重要因素之一,这不仅由于系统内存是有限的(尤其在嵌入式系统中),而且内存分配也会直接影响到程序的效率。因此,我们要对C语言中的内存管理,有个系统的了解。在C语言中,定义了4个内存区间:代码区;全局变量和静态变量区;局部变量区即栈区;动态存储

2020-06-30 15:34:28 2165

原创 初学C语言 先搞懂这些基础知识再谈深度学习吧!

很多初学者都会问我,“我想学C,该怎么开始呢?”,今天我们就来聊一聊,属于初学者必须懂的知识,希望小伙伴们,能够牢记基础知识,唯有不断努力 才能更加顺利。基本常识计算机语言: 把人与计算机之间交流的语言叫做计算机语言计算机语言分为高级语言和低级语言高级语言:远离硬件低级语言:贴近硬件指令: 是指计算机执行某种操作的命令它由一串二进制数码组成。一条指令通常由两个部分组成: 操作码+地址码操作码指明该指令要完成的操作的类型或性质如取数、做加法或输出数据等地址

2020-06-29 16:48:55 220

原创 百万C++程序员的启蒙书,畅销20余年,这部经典终于出配套习题解答了!

在编程的世界里,很多语言来了又走,而C++却屹立了30年,并在21世纪仍保持强劲势头。去年,C++之父Bjarne Stroustrup公布了C++20添加的新特性,让众多程序员炸了锅。其中一个新特性——模块(Modules),至少让代码编译速度提升5倍以上。Bjarne Stroustrup的理念是,一种语言不应该只能实现设计者想得到的功能,它必须有能力做得更好。这种追求“更好”的理念,也让C++在30年里经久不衰。伴随C++长盛不衰的,还有一本畅销了20余年、引领百万程序员进入C++世界的经典图书

2020-06-29 15:52:46 319

原创 C语言永久不会过时?

01、为什么C语言不会过时评价任何一门编程语言,都是招人骂的。永远是这样。就像是春寒料峭的季节,街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:“傻逼!”这个在心理学上有个专业的名字:叫做“二逼”现象!那我为啥还要做这个挨骂的事呢?作为《C语言点滴》《drop of knowledge of C++》书籍的作者,《C语言新思维,第二版》的译者(赵岩老师),我觉得我有责任系统的介绍一下这本语言,他的特点,还有他的未来。这个问题对很多刚刚踏入程序猿这个行业的新手至关重要。因为他们有深深的担.

2020-06-28 16:53:30 1337 1

原创 作为一个优秀的程序员,真的需要精通C语言吗?

从事开发几年,使用C语言开发已经超过数个年头,除了C语言还用C++,java,python做项目,程序员的优秀编程语言仅仅占据一部分,而且也不会只是针对C语言,现在很多的编程高手也不懂的C语言,因为行业领域不同展示出来的点也不太一样,有些java高手对于C语言甚至都没有接触过,难道就说这不是优秀的程序员,现在的编程语言已经趋向于高级化集成化,从招聘比例上看对C语言的需求远远低于JavaScript,Python等编程语言。但从绝对的招聘数量上C语言总体来讲也不在少数,因为在嵌入式领域,通讯领域,以及对性

2020-06-28 16:44:57 1084 1

原创 什么是好的c/c++程序员?c/c++程序员就应该有c/c++程序员的修养

什么是好的c/c++程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。C/C++学习我认为好的c/c++程序员应该有以下几方面的素质:1、有专研精神,勤学善问、举一反三。2、积极向上的态度,有创造性思维。3、与人积极交流沟通的能力,有团队精神。4、谦虚谨慎,戒骄戒燥。5、写出的代码质量高。包括:代码的稳定、易读、规范、易维护、专业。C/C++学习我看过许多

2020-06-27 22:51:17 680

原创 非科班出身要成为C/C++工程师,如何成为一名优秀的C++程序员

计科专业毕业算是科班出身,从事软件开发多年,主要在嵌入式领域研究的比较多,为了赶时髦在互联网公司也混了几年,主要有三种开发语言,C/C++,java 别的语言在项目开发过程中也多少涉猎一些研究不是很深入,C/C++属于底层开发语言,讲究的是性能,主要在嵌入式领域以及客户端开发等方面用的比较多,底层开发语言比较皮实需要对计算机运行原理有一定的了解,不然第一次学起来可能会觉得有点吃力。学习C/C++之前需要做好什么准备?1、首先要坚定学习意志,学习任何东西不仅仅只是喊口号,要做好长期打硬仗的准备。就是从心

2020-06-26 22:18:33 932

原创 为什么C++ 程序员看不起php?

我觉得C++ 虽然速度快,但是编译起来很复杂,要写各种dependency 才不会导致因编译顺序产生的失败。namespace 的乱用和混用让人摸不着头脑。不同的Cpp可以共用一个h,你都找不到申明在哪里。PHP就好多了。类似java,文件名就是class 名,继承简单,完全面向对象。这就是面向对象编程的真正好处。看代码时很好理解,除了map, vector的操作很奇葩以外。既然如此,C++程序员为什么看不起PHP呢?写了2年php,写了4年c++。不是看不起php,只是觉得一个解释型脚本语言和一

2020-06-26 21:34:04 743

原创 为什么C++比C要麻烦?程序员这样回答,终于知道他为什么单身了

听过一个笑话,程序员们互相聊天,程序员A问到:为什么C++比C麻烦那么多?”程序员B回答道:“有了对象能不麻烦么。 ”同样衍生出来的还有一个小故事:情人节,有人看到C一个人喝酒,便问:你的好哥们C++、Java、Python他们呢?C说:都过情人节去了。问:你为什么不过呢?C说:因为我没有对象。​计算机行业的人都知道C、C++、C#,但对很多想要入行的人来说可能就有点迷茫了,就好像不知道java和JavaScript的关系一样,面对这个多个C,如何选择成为了他们的一个小问题。先简单

2020-06-26 19:42:05 254

原创 如何从初级程序员变成高级程序员?

区分高级和初级程序员的标准是工作年限吗?程序员最重要的工作就是写代码吗?高级程序员是一名犯过其领域内所有可能犯到的错误的专家。如果按照工作经验对软件开发人员进行分类,可能是这样的:初级:2-3 年工作经验高级:10 年以上工作经验中级:介于初级和高级之间这种按工作年限的分类存在一个问题。那就是:它对软件开发的质量只字未提。在工作的那些年里你到底获得了多少经验和技能?这正是面对开发人员的求职和面试如此复杂的原因。度量技能是很困难的,所以我们在面试中给开发人员进行了很多有难度的测试。但这些测试充其量

2020-06-23 20:46:04 696

原创 工作十年程序员详解C语言为什么要引入指针?

前言说起指针算是个 在 C\C++ 中老生长谈的话题,但是今天我从另外一个角度给各位看官分析一下为什么非要引入指针这个让人看到都头疼的东西? 想必学过指针的都被它的各种繁琐所折磨,另一种角度讲就是被他的灵活易用所征服。不知道大家学习过只要是带指针的地方,都可用使用非指针的东西去表达出来(你愿意的话),甚至比用指针看着还简便,所以问题也来了,为什么要引入指针呢?好处何在?正文在说为什么引入指针这个问题前先带大家了解一下什么是指针?指针最为简短的定义:指针即为内存的地址。  那什么是内存呢?

2020-06-23 16:28:17 740

原创 C++代码书写规范——给新手程序员的一些建议

代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码。特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候,如果碰到一些丑陋的代码,我们还要看懂并且修改它的时候,那种难受,肯定会让我们回想起多年以前自己还是新手程序员的时候,写下的那些丑陋的代码,并且深深内疚于将它们留给了我们的后继者,不知道他们和它们是否还安好。所以,强调代码的规范性,写出整洁,优雅,可读性高的代码应该是成为一个合格的程序员的第一步。这里我就抛砖引.

2020-06-22 17:00:12 868

原创 资深程序员用c++开发MFC银行排队叫号系统,小白看了也能学会

这个C++ 银行排队叫号系统是看了书后写出来的程序,运用于MFC理念编写,我看的书是谭浩强的《C++面向对象程序设计》相对计科的书少了前六章 直接从对象讲起,这本书也是本班使用人数最多的一本。C++ 银行排队叫号系统编译环境:microsoft visual studio 2005或以上版本 dev c++ vc6.0都不可以。注意:调试程序时多线程调试一定要设为mtd代码展示:源码测试截图:下面我们来详细对这个问题的实现逻辑进行分析,让我们的程序能够给出类似下面的结果:使用 C++对

2020-06-22 16:15:43 597

原创 C语言最大难点揭秘:编程的祸根!

本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内。内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决,它们可能严重影响应用程序,并且很少有开发团队对其制定明确的管理计划。但好消息是,它们并不怎么神秘。引言C 和 C++ 程序中的内存错误非常有害:它们很常见,并且可能导致严重的后果。来自计算机应急响应小组(请参见参考资料)和供应商的许多最严重的安全公告都是由简单的内存错误造成的。自从 70 年代末期以来,C 程序员就一直讨论此类错误,

2020-06-17 16:01:53 269

原创 各路大牛的C语言编程建议和技巧,看完感触颇深

我们鼓励在编程时应有清晰的哲学思维,而不是给予硬性规则。我并不希望你们能认可所有的东西,因为它们只是观点,观点会随着时间的变化而变化。可是,如果不是直到现在把它们写在纸上,长久以来这些基于许多经验的观点一直积累在我的头脑中。因此希望这些观点能帮助你们,了解如何规划一个程序的细节。(我还没有看到过一篇讲关于如何规划整个事情的好文章,不过这部分可以是课程的一部分)要是能发现它们的特质,那很好;要是不认同的话,那也很好。但如果能启发你们思考为什么不认同,那样就更好了。在任何情况下,都不应该照搬我所说的方式进行编程

2020-06-16 15:49:44 788

原创 C语言与C++学习路线

有人说:“C生万物,编程之本”,这一点都没有错!C语言是最接近计算机的语言,很多时间,我们都会发现,C语言是非常有必要学习的。C语言数据类型、变量、内存布局、指针基础;字符串、一维数组、二维数组;一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针;结构体、文件的使用;动态库的封装和设计;函数指针回调函数。配套视频:轻松掌握C语言视频教程(会打字就能学会)全国计算机等级考试二级c语言视频教61节课浙大翁恺C语言入门C语言提高深入浅出七日成蝶之C语言数据结构经典合集高级视

2020-06-15 16:22:47 252

原创 C语言十大经典排序算法(动态演示+代码,值得收藏)

以前也零零碎碎发过一些排序算法,但排版都不太好,又重新整理一次,排序算法是数据结构的重要部分,系统地学习很有必要。时间、空间复杂度比较排序算法平均时间复杂度最差时间复杂度空间复杂度数据对象稳定性冒泡排序O(n2)O(n2)O(1)稳定选择排序O(n2)O(n2)O(1)数组不稳定、链表稳定插入排序O(n2)O(n2)O(1)稳定快速排序O(n*log2n)O(n2)O(log2n)不稳定堆排序O(n*log2n)O(n

2020-06-13 15:52:25 5069

原创 语言拟人向:来自Python、JAVA、C语言的“傲娇”自我介绍

软件工程领域,酷爱编程的人很多,但另一些人总是对此避之不及。而构建软件无疑会让所有人压力山大,叫苦连连。来看看这些流行编程语言的“内心独白”,JAVA现实,C++傲娇,Rust充满安全感,COBOL紧跟时事不掉队……让人头大的编程看起来是不是可爱些了。本文没有冒犯的意思,毕竟幽默有助于建立联系,只希望能博君一笑。Python我们能像模像样写出伪代码,即使您不理解它。不用依靠分号或中括号,区区空格就能让你崩溃。Java我们老了,依旧啰嗦。只要付钱,我们就会提供是最长久的支持。Javascrip

2020-06-12 18:47:55 154

原创 C语言验证大小端的几个方法

大小端的问题在很多面试笔试中都会遇到,最直接的考察是,笔试的时候,让你写一个代码,如何确定当前系统是大端还是小端的。什么是大端和小端呢?大端: 高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。(CPU对操作数的存放方式是从高字节到低字节)小端: 低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。(CPU对操作数的存放方式是从低字节到高字节)假设我们的内存是这样的我们要存一个数据 0x44332211到这块内存里面去如果系统是小端模式的话,存储方式如下图

2020-06-11 15:00:16 870

原创 几种常见的数据结构,你知道哪些?

数据结构在实际应用中非常常见,现在各种算法基本都牵涉到数据结构,因此,掌握数据结构算是软件工程师的必备技能。一、什么是数据结构数据结构,直白地理解,就是研究数据的存储方式。我们知道,数据存储只有一个目的,即为了方便后期对数据的再利用,就如同我们使用数组存储 {1,2,3,4,5} 是为了后期取得它们的加和值,无缘由的数据存储行为是对存储空间的不负责任。因此,数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好的方式来存储数据,而这也是数据结构的核心内容。数据存储一直以来大家面对的数据

2020-06-10 15:27:55 5781

原创 详解C语言-二级指针三种内存模型

二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别第一种内存模型char *arr[]若有如下定义char *arr[] = {"abc", "def", "ghi"};这种模型为二级指针的第一种内存模型,在理解的时候应该这样理解:定义了一个指针数组(char * []),数组的每个元素都是一个地址。其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群1075673198,不管你是小白还是转行人士欢迎

2020-06-09 16:02:37 269

原创 为什么都说C++太复杂?

衡量一种语言(广义,不仅限编程语言)是否复杂,我们可以看其单词数量、词性变化以及语法结构。根据相关数据显示,到目前最新的C++20为止,C++的关键字大约是99个,还有6个特定上下文当中有特殊含义的名字。作为对比,C语言,截止到C11,关键字是44个显然,C++比C复杂,其关键字比C多一倍有余。但也有观点认为,C++只有在被孤立看待的时候,才会觉得复杂性。设计任何一门语言都是有背景的。C++面向的是这样的特定用户:应对各种复杂问题写出运行相当长时间的解决方法解决方案要满足任意的性能要求

2020-06-08 21:42:54 1305

原创 特斯拉嫌弃 Python,追捧 C++

对于许多纷纷设立数据科学和机器学习部门的企业组织来说,Python已成为了首选语言。改用Python的步伐太快了,以至于许多编程语言被认为已经过时了。然而,特斯拉首席执行官Elon Musk在一连串推文中宣布,特斯拉十分重视召集一流人才来开发与AI有关的项目。他还宣布准备在家中办一场招待会,邀请AI爱好者参加黑客马拉松(hackathon)。他补充道,虽然用于计算机视觉模型的神经网络是用Python编写的,但特斯拉团队需要编程技能出众的人员,尤其是C和C++方面的。其实做为一个学习者,有一个学习

2020-06-08 21:39:00 672

原创 抓住指针的精髓,才算掌握了 C 语言的灵魂!

学习C肯定会碰到指针,指针是C的灵魂。所以学好指针很关键,这里写一些指针方面的容易错的或者易混淆的知识点还有自己不会的盲点,以便之后复习时用。数组传参和数组形参1.1 数组传参如果函数遇到数组传参的,不论是什么形式的形参,只要是数组,那么被调函数都将这个形参都当做指针来使用。  `#include "stdio.h"``PrintArray(int *a, int num)``{``int i;``for (i = 0; i < num; i++)``{``printf("%5d", a[i]

2020-06-06 16:04:00 114

原创 计算机专业有哪些值得推荐的竞赛?

如何在大学的时候,丰富自己的业余生活?如何让自己的计算机知识以及技术越来越突出?如何让自己的简历看起来更加丰富?我想,有一条途径能帮助到你。那就是参加比赛。参加比赛不仅能锻炼你的专业能力,还在比赛中认识一些志同道合的朋友,大家一同相互较量学习,不想提升都难。那既然是这样,有哪些比赛值得尝试的呢?请接着往下看~ACM国际大学生程序设计竞赛适用人群:有一定竞赛基础且对算法感兴趣大学生;全称:ACM国际大学生程序设计竞赛(英文全称:  ACM International Colle

2020-06-05 16:25:52 8746

原创 2020年6月编程语言排行榜:C语言继续第一,Rust发布10年,终于进前20!

TIOBE公布了6月份编程语言排行榜。C语言依然排行第一了,随后分别是Java、Python、C++、C#。前20名排行如下:其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群1075673198,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。Rust终于挤进Top 20Rust编程语言诞生近10年以来,首次进入TIOBE排名的前20,惊不惊喜,意不意外。Rust已经连续5年被Stackoverflow的用户评为“最受喜爱的编程语言”。究其原因是因为R

2020-06-05 15:40:22 668

原创 48岁的C语言,你知道它背后的历史吗?

C语言作为一个人尽皆知的语言,甚至没有学过编程语言的人也知道它的大名。经历沧桑岁月的它,已经陪伴我们走过了48个年头。回望当年,C语言还在襁褓之中……贝尔实验室特别人员奖、美国计算机协会(ACM)的图灵奖、汉明勋章、计算机先驱奖、计算机历史博物馆研究员、哈罗德 · 潘德奖……这些成就全都出自一人,那就是编程界无人能超越的传奇人物也是C语言的创造者——丹尼斯·里奇。C语言之父:丹尼斯·里奇计算机历史学家Paul E.Ceruzzi说:里奇不被人们之道。他的名字一点都不家喻户晓,但是如果你有一台显微镜,

2020-06-04 15:50:05 363

原创 学C语言,C++是自学好还是去培训机构?

我个人建议:如果你条件还可以,负担不是那么大,能培训还是培训的,培训一定会比你自学的好,如果培训都很难学好,那么自学一定学不好。不过目前的费用都在一万八以上,这还只是培训费而已,加上一些其他的东西,四个月时间要小三万吧!不过现在有线上教育培训结构,我一个同事就是经过线上教育培训出来的,现在工资的话跟我差不多,价格好像比起线下便宜很多。如果条件不允许,也可以选择自学,自学挺难的,但是如果你韧性强,自学也可以找到工作,但是从比例来看会很低,其实无论在哪里学 都是一样的,重在内心怎么看到你学c++这个事情。

2020-06-03 16:03:35 2051

原创 C语言为何不会过时?你需要掌握多少种语言?

01为什么C语言不会过时评价任何一门编程语言,都是招人骂的。永远是这样。就像是春寒料峭的季节, 街上穿棉袄和穿单衣的擦肩而过,双方一定是同时在心里出现了两个字:“傻逼!”这个在心理学上有个专业的名字:叫做“二逼”现象!那我为啥还要做这个挨骂的事呢?作为《C语言点滴》《drop of knowledge of C++》书籍的作者,《C语言新思维,第二版》的译者。我觉得我有责任系统的介绍一下这本语言,他的特点,还有他的未来。这个问题对很多刚刚踏入程序猿这个行业的新手至关重要。因为他们有深深的担忧,万一C语言

2020-06-03 15:13:46 524

原创 想要避开C语言的坑,这本书一定要读

很多人在大学时期一定都避不开C语言编程学习,但是真正能够学进去的人并不多,相反,很多人接触到C语言之后,都说太难了,就算买了一堆的书籍加以辅助,也不能起到助攻的作用,反而连书中的内容都觉得晦涩难懂,最后只能放弃学习。其实做为一个学习者,有一个学习的氛围跟一个交流圈子特别重要这里我推荐一个C语言C++交流群1075673198,不管你是小白还是转行人士欢迎入驻,大家一起交流成长。在1980年代,有大量的C语言编程书籍出版,《C Primer Plus》就是在1984年出版的,当时用C语言编程的人并不多,

2020-06-02 18:42:52 238

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除