当前位置: 首页 > news >正文

大学生网站规划建设小程序源码一般多少钱

大学生网站规划建设,小程序源码一般多少钱,黑客收徒网站建设,建筑人才直聘网目录 一.什么是C 1.1.面向过程#xff1a; 1.2.面向对象#xff1a; 二.C发展历史 三.C版本更迭 3.1.语法更新 3.2.关于C2X最新特性的讨论#xff1a; 3.3.关于C23的一个小故事#xff1a; 四.C参考文档#xff1a; 五.C的重要性#xff1a; 5.1.编程语言排行榜…目录 一.什么是C 1.1.面向过程 1.2.面向对象 二.C发展历史 三.C版本更迭 3.1.语法更新 3.2.关于C2X最新特性的讨论 3.3.关于C23的一个小故事 四.C参考文档 五.C的重要性 5.1.编程语言排行榜 5.2.语言的使用广泛度 2024年6月TIOBE发布的编程语言排行榜 5.3.C在工作领域中的应用 5.3.1. 操作系统以及大型系统软件开发 5.3.2. 服务器端开发 a.各种大型应用网络连接服务 b.后台开发 c.服务器端开发 5.3.3.游戏开发 5.3.4.嵌入式和物联网领域 5.3.5.音视频处理 5.3.6.PC客户端开发 5.3.7.数字图像处理 5.3.8.分布式应用 5.3.9.机器学习引擎 5.3.10.测试开发/测试 5.3.11岗位需求 六.如何学习C 6.1.别人怎么学 6.2自己怎么学 6.2.1多总结 1. 写博客 2. 中后期画思维导图总结 6.2.2.常看书 1. 初窥门径 2. 潜心修行 3. 深入浅出 6.2.3勤刷题 一定要学习书籍推荐 一.什么是C C语言是结构化和模块化的语言适合处理较小规模的程序。对于复杂的问题规模较大的程序需要高度的抽象和建模时C语言则不合适。为了解决软件危机 20世纪80年代 计算机界提出了OOP(object oriented programming面向对象)思想支持面向对象的程序设计语言应运而生。 1982年Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念发明了一 种新的程序语言。为了表达该语言与C语言的渊源关系命名为C。因此C是基于C语言而产生的它既可以进行C语言的过程化程序设计又可以进行以抽象数据类型为特点的基于对象的程序设计还可以进行面向对象的程序设计。 1.1.面向过程 a.侧重于功能的实现过程将问题分解为一系列的步骤和函数按照顺序依次执行来完成任务。 b.强调的是程序的流程和逻辑注重的是“怎么做”。 例如计算两个数的和会先定义输入函数获取两个数再定义计算函数进行求和最后输出结果。这种按照步骤依次执行的方式就是面向过程的典型体现。 但是假如我们要单独实现一台ATM机的功能那么在实现函数时我们就需要传递取钱金额、ATM编号银行纸币编号、发行年份等我们发现随着我们要描述的对象越具体我们在调用对应功能时要考虑的因素或者说传递参数就会越多。 总的来说面向过程更适合简单、小型的程序而在大型、复杂的系统开发中可维护性、可扩展性和可重用性较差。 1.2.面向对象 a.则是把问题看作是由多个相互作用的对象组成对象可以被理解为对现实世界中具体事物或概念的抽象表示。它将数据属性和操作这些数据的方法行为封装在一起。 b.对象具有自己的属性特征和方法行为。 c.通过对象之间的交互和消息传递来实现系统的功能。 比如在一个游戏中有“玩家”对象、“怪物”对象等每个对象都有自己的属性如生命值、攻击力等和方法如移动、攻击等。 以上面的ATM机为例子我们将ATM视作一个对象ATMATM编号等是ATM机属性或者特征而取钱等是ATM所支持的方法或者行为。通过这种抽象的方法我们将对象与其相关的一系列概念绑定在一起这样我们考虑问题就可以拆分成一个一个对象之间的作用问题得到简化调用函数也不用传递复杂的参数。 总的来说面向对象在大型、复杂的系统开发中具有更好的可维护性、可扩展性和可重用性。、 二.C发展历史 C的起源可以追溯到1979年当时Bjarne Stroustrup(本贾尼·斯特劳斯特卢普这个翻译的名字不同的地方可能有差异)在贝尔实验室从事计算机科学和软件工程的研究工作。面对项目中复杂的软件开发任务特别是模拟和操作系统的开发工作他感受到了现有语言如C语言在表达能力、可维护性和可扩展性方面的不足。 1983年Bjarne Stroustrup在C语言的基础上添加了面向对象编程的特性设计出了C语言的雏形此时的C已经有了类、封装、继承等核心概念为后来的面向对象编程奠定了基础。这一年该语言被正式命名为C。 在随后的几年中C在学术界和工业界的应用逐渐增多。一些大学和研究所开始将C作为教学和研究的首选语言而一些公司也开始在产品开发中尝试使用C。这一时期C的标准库和模板等特性也得到了进一步的完善和发展。 C的标准化工作于1989年开始并成立了一个ANSI和ISOInternational Standards Organization国际标准化组织的联合标准化委员会。1994年标准化委员会提出了第一个标准化草 案。在该草案中委员会在保持斯特劳斯特卢普最初定义的所有特征的同时还增加了部分新特征。 在完成C标准化的第一个草案后不久STLStandard Template Library是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。在通过了标准化第一个草案之后联合标准化委员会投票并通过了将STL包含到C标准中的 议。STL对C的扩展超出C的最初定义范围。虽然在标准中增加STL是个很重要的决定但也因此延缓了C标准化的进程。 1997年11月14日联合标准化委员会通过了该标准的最终草案。1998年C的ANSI/IS0标准被投入使用。 三.C版本更迭 3.1.语法更新 阶段内容C with classes 类及派生类、公有和私有成员、类的构造和析构、友元、内联函数、 赋值运算符、重载等 C1.0添加虚函数概念函数和运算符重载引用、常量等C2.0 更加完善支持面向对象新增保护成员、多重继承、对象的初始化、抽象类、 静态成员以及const成员函数 C3.0进一步完善引入模板解决多重继承产生的二义性问题和相应构造和析构的处 理C98C标准第一个版本绝大多数编译器都支持得到了国际标准化组织(ISO)和美 国标准化协会认可以模板方式重写C标准库引入了STL(标准模板库)C03 C标准第二个版本语言特性无大改变但这是C标准的一个重大修订 主要聚焦于语言的稳定性和兼容性。C03修订C98标准中的错误和漏洞 同事引入了一些新的特性和功能如tr1库Technical Report 1 C05C标准委员会发布了一份计数报告(Technical ReportTR1)正式更名 C0x即计划在本世纪第一个10年的某个时间发布C11这是一次革命性的更新增加了大量的新特性和功能使得C更像一种新语言比如Lambda 表达式、范围 for 循环、右值引用和移动语义、边长模板参数、STL 的容器改进和核心智能指针、标准线程库等。C14对C11的扩展主要是修复C11中漏洞以及改进比如泛型的lambda表 达式auto的返回值类型推导二进制字面常量等C17在C11上做了一些小幅改进增加了19个新特性C17 进一步增强了 C的功能和表达能力比如static_assert()的文本信息可选Fold表达式用于可变的模板if和switch语句中的初始化器引入了 if constexpr 、折叠表达式等语法特性同时改进了标准库中的多个组件如 string 、filesystem 等。这些新引入的语法特性为开发者提供了更灵活和高效的编程方式标准库组件的改进也使得相关操作更加便捷和强大C20自C11以来最大的发行版是C历史上的又一个重要里程碑这次更新引入了许多新的特性和改变比如模块(Modules)、协程(Coroutines)、范围(Ranges)、概念(Constraints)等重大特性还有对已有特性的更新比如Lambda支持模板、范围for支持初始化等C23C23是一个小版本更新进一步完善和改进现有特性增加if consteval、falt_map,import std导入标准库等C26制定中 C还在不断的向后发展。但是现在公司主流使用还是C98和C11 3.2.关于C2X最新特性的讨论 https://zhuanlan.zhihu.com/p/107360459 3.3.关于C23的一个小故事 C一直被诟病的一个地方就是一直没出网络库(networking)networking之前是在C23的计划中的现在C23已经发布了但是没有networking网上引发了一系列的吃瓜和吐槽。中间过程就像发生了宫斗剧一样。 P2452R0 2021 October Library Evolution and Concurrency Networking and Executors PollOutcomesC23的目标 四.C参考文档 https://legacy.cplusplus.com/reference/https://zh.cppreference.com/w/cpphttps://en.cppreference.com/w/ 说明第一个链接不是C官方文档标准也只更新到C11但是以头文件形式呈现内容比较易看好懂。后两个链接分别是C官方文档的中文版和英文版信息很全更新到了最新的C标准但是相比第一个不那么易看几个文档各有优势推荐结合着使用。 五.C的重要性 5.1.编程语言排行榜 TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量并使用搜索引擎如 Google、Bing、Yahoo!以及Wikipedia、Amazon、YouTube和Baidu百度统计出排名数据只是反映某个编程语言的热门程度并不能说明一门编程语言好不好或者一门语言所编写的代码数量多少。 5.2.语言的使用广泛度 2024年6月TIOBE发布的编程语言排行榜 下图数据来自TIOBE编程语言社区2024年6月最新的排行榜在30多年的发展中C/C几乎一 致稳居前5。 TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标每月更新这份排行榜排名基于互 联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎诸如 Google、 MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等进行计算。 注意排名不能说明那个语言好那个不好每门编程语言都有适应自己的应用场景。 5.3.C在工作领域中的应用 C的应用领域服务器端、游戏引擎、机器学习引擎、音视频处理、嵌入式软件、电信设备、金融应用、基础库、操作系统、编译器、基础架构、基础工具、硬件交互、科学计算、浏览器、流媒体开发、网络软件等等很多方面都有。作为一名老牌语言的常青树C一直霸占编程语言前5名肯定有其存在的价值。 5.3.1. 操作系统以及大型系统软件开发 a.大型系统软件开发。如编译器、数据库、操作系统、浏览器等等 b.所有操作系统几乎都是C/C写的许多大型软件背后几乎都是C写的比如 Photoshop、Office、JVM(Java虚拟机)等究其原因还是性能高可以直接操控硬件。 5.3.2. 服务器端开发 a.各种大型应用网络连接服务 在大型应用的网络连接服务中Java 在高并发后台服务方面应用较多而 C 则主要用于对性能要求较高的领域例如游戏服务、流媒体服务、量化高频交易服务等。 b.后台开发 后台开发主要侧重于处理业务逻辑即针对前端请求后端给出相应响应。当前主流采用 Java 进行后台开发但内卷化较为严重。在大厂中可能会有 C 后台开发主要负责一些基础组件、中间件、缓存、分布式存储等工作。 c.服务器端开发 服务器端开发比后台开发的范围更广泛包含后台开发。通常对实时性要求较高的领域如游戏服务器、流媒体服务器、网络通讯等都采用 C 进行开发。 例如在热门的网络游戏中为了确保玩家操作的实时响应和流畅体验服务器端往往会使用 C 来开发以满足高并发和低延迟的性能需求而一些常见的企业级应用后台可能更多地采用 Java 来实现业务逻辑处理。 5.3.3.游戏开发 PC 平台上几乎所有的游戏都是用 C编写的像魔兽世界、传奇、CS、跑跑卡丁车等知名游戏均是如此。市面上相当多的游戏引擎也是基于 C开发的比如 Cocos2d、虚幻 4、DirectX 等。 在三维游戏领域由于计算量极为庞大底层的数学运算全是矩阵变换。要实现画面精美、内容丰富且游戏实时性高的高难度需求无疑只能选择 C语言。 比较知名的游戏厂商如腾讯、网易、完美世界、巨人网络等在游戏开发中也广泛应用 C。进行游戏引擎开发需要掌握 C基础和数据结构学习图形学知识掌握游戏引擎和框架了解引擎实现。例如可以通过学习 UE4、Cocos2d-x 等开源引擎的实现来提升相关能力。 以热门的《魔兽世界》为例其复杂的游戏世界和丰富的玩法背后正是依靠 C强大的性能来支撑而虚幻 4 引擎所打造出的逼真游戏场景也彰显了 C在游戏开发中的重要地位。 5.3.4.嵌入式和物联网领域 嵌入式指的是把具有计算能力的主控板嵌入到机器装置或电子装置内部从而能够通过软件控制这些装置例如智能手环、摄像头、扫地机器人、智能音响、门禁系统、车载系统等。 谈到嵌入式开发大家首先想到的是单片机开发即在 8 位、16 位或者 32 位单片机产品或者裸机上进行的开发。但实际上嵌入式开发不仅包含单片机开发还涵盖了在 SOC 片上、系统层面、驱动层面以及应用、中间件层面的开发。 常见的岗位包括嵌入式开发工程师、驱动开发工程师、系统开发工程师、Linux 开发工程师、固件开发工程师等。 一些知名厂商如以华为、vivo、oppo、小米为代表的手机厂以紫光展锐、乐鑫为代表的芯片厂以大疆、海康威视、大华、CVTE 等具有自己终端业务的厂商还有海尔、海信、格力等传统家电行业。 随着 5G 的普及物联网万物互联成为新兴势力像阿里 lot、腾讯 lot、京东、百度、美团等都设有硬件相关的事业部。粗略来讲嵌入式开发主要分为嵌入式应用和嵌入式驱动开发。 例如我们日常生活中常见的智能手环其内部的控制系统就是通过嵌入式开发实现的而车载系统的稳定运行也离不开嵌入式驱动开发的支持。 5.3.5.音视频处理 常见的音视频开源库和方案有FFmpeg、WebRTC、Mediasoup、ijkplayer音视频 开发最主要的技术栈就是C。 5.3.6.PC客户端开发 一般是开发Windows上的桌面软件比如WPS之类的技术栈的话一般是C和 QTQT 是一个跨平台的 C图形用户界面Graphical User InterfaceGUI程序。 5.3.7.数字图像处理 数字图像处理中涉及到大量数字矩阵方面的运算对CPU算力要求比较高主要的图形处理算法库和开源库等都是C/C写的比如OpenCV、OpenGL等大名鼎鼎的Photoshop就是C写的。 5.3.8.分布式应用 近年来移动互联网的兴起各应用数据量业务量不断攀升后端架构要不断提高性能和并发 能力才能应对大信息时代的来临。在分布式领域好些分布式框架、文件系统、中间组件等 都是C开发的。对分布式计算影响极大的Hadoop生态的几个重量级组件HDFS、 zookeeper、HBase等也都是基于Google用C实现的GFS、Chubby、BigTable。包括分 布式计算框架MapReduce也是Google先用C实现了一套之后才有开源的java版本。 5.3.9.机器学习引擎 机器学习底层的很多算法都是用C实现的上层用python封装起来。如果你只想 准备数据训练模型那么学会Python基本上就够了如果你想做机器学习系统的开发那么需要学 会C。 5.3.10.测试开发/测试 每个公司研发团队有研发就有测试测试主要分为测试开发和功能测试测试 开发一般是使用一些测试工具(selenium、Jmeter等)设计测试用例然后写一些脚本进行自动化 测试性能测试等有些还需要自行开发一些测试用具。功能测试主要是根据产品的功能设计测 试用例然后手动的方式进行测试。 5.3.11岗位需求 六.如何学习C 6.1.别人怎么学 以下引用自2010年8月号《程序员》刊登的拙文《C强大背后》最后一段 C缺点之一是相对许多语言复杂而且难学难精。许多人说学习C语言只需一本KR《C程序 设计语言》即可但C书籍却是多不胜数。我是从C进入C皆是靠阅读自学。在此分享一点 学习心得。个人认为学习C可分为4个层次 a.第一个层次C基础 (平平常常) 挑选一本入门书籍如《C Primer》、《C大学教程》或Stroustrup撰写的经典《C程序设计语言》或他一年半前的新作《C程序设计原理与实践》而一般C课程也止于此另外《C 标准程序库》及《The C Standard Library Extensions》可供参考; b.第二个层次正确高效的使用C (驾轻就熟) 此层次开始必须自修阅读过《(More)Effective C》、《(More)Exceptional C》、 《Effective STL》及《C编程规范》等才适宜踏入专业C开发之路; c.第三个层次深入解读C (出神入化) 关于全局问题可读《深入探索C对象模型》、《Imperfect C》、《C沉思录》、 《STL源码剖析》要挑战智商可看关于模版及模版元编程的书籍如《C Templates》、《C设计新思维》、《C模版元编程》; d.第四个层次研究C (返璞归真) 阅读《C语言的设计和演化》、《编程的本质》(含STL设计背后的数学根基)、C标准文 件《ISO/IEC 14882:2003》、C标准委员会的提案书和报告书、关于C的学术文献。由 于我主要是应用C大约只停留于第二、三个层次。然而C只是软件开发的一环而 已单凭语言并不能应付业务和工程上的问题。建议读者不要强求几年内“彻底学会C的知 识”到达第二层左右便从工作实战中汲取经验有兴趣才慢慢继续学习更高层次的知识。 虽然学习C有难度但也是相当有趣且有满足感的。 http://www.zhihu.com/question/23933514 如果题主认为的「精通」是指上述所指的第二层次那么我估计一年全职时间也未足够「精 通」。首先阅读这些书籍本身也需要不少时间而且对于一般人来说指除了一些学习记忆能 力超强的人很可能需要阅读几遍才能记住一些细节。另外阅读后必须要练习。除了入门的 习题外还需要做一些工程向的项目才能了解各种语法、编程范式的使用方法及时机理想地 建议参与一些开源项目。然而学习是需要不断思考并把结果沉淀方法包括与朋友讨论、写博 客、写知乎答案等这些都需要时间。 C是一个相对难学难精的语言相比其他一些语言学习难度要高一些要陡峭一些这里有历史包袱的问题也有语言本身设计和发展历史的问题。因此建议不要把「精通C」作为一个一年目标应该要把学习语言作为一个持续的过程同时要把 语言运用在具体的应用场合中。 21天学会C “编程能力与编程年龄” 6.2自己怎么学 6.2.1多总结 1. 写博客 经常写博客不仅可以记录自己学习的历程知识点的认识更是复习的一把神兵利器 2. 中后期画思维导图总结 画思维导图软件比如xmind、imindmap等。 6.2.2.常看书 合理的看书安排切记贪缓缓图之否则容易走火入魔。 1. 初窥门径 2. 潜心修行 当C学习过半之后大概继承和多态学完建议看下《Effective C》该书以建议 的方式告诉你如何写出更好的C程序看和不看差别非常大。 C课程系统学完后有时间可以看下《C编程思想》对讲过的知识点融会贯通该 本书有一定深度从原理方面对C语法进行介绍。 《C Prime》可以当成工具书对待有不清楚的语法特性可以快速去查建议工作之 后可以利用闲暇时间慢慢品味下。 3. 深入浅出 这两本书都有一定难度如果基础知识掌握不扎实不建议看强烈建议好好把基础知 识打扎实。 《STL源码剖析》将六大组件逐一剖析看完之后对STL的设计框架以及内部实现原理 有更深的认识面试时可以游刃有余和面试官交锋。 《深度探索C对象模型》会让你对C语法设计原理有更深层次的认识有些疑惑的 知识点看完之后里面就清晰了。 6.2.3勤刷题 1. 牛客网 2. leetcode 一定要学习书籍推荐 C Primer主要讲解语法经典的语法书籍前后中期都可以看前期如果自学看可能会有点晦涩难懂中后期作为语法字典非常好用。 STL源码剖析主要从底层实现的角度结合STL源码庖丁解牛式剖析STL的实现是侯捷老师的经典之作。可以很好的帮助我们学习别人用语法是如何实现出高效简洁的数据结构和算法代码如何使用泛型封装等。让我们不再坐井观天闭门造车中后期可以看。 Effctive C本书也是侯捷老师翻译的本书有的一句评价把C程序员分为看过此书的和没看过此书的。本书主要讲了55个如何正确高效使用C的条款建议中后期可以看一遍工作1-2年后再看一遍相信会有不一样的收获。
http://www.zqtcl.cn/news/897301/

相关文章:

  • 通过ip访问网站需要怎么做博客的网站页面设计
  • 高明做网站软件开发工程师是前端还是后端
  • 利用html5 监控网站性能如何能快速搜到新做网站链接
  • 做网站需要看那几点seo是什么职业岗位
  • 做游戏网站需要哪些许可100个免费推广网站下载
  • 网站管理系统是什么马鞍山网站建设制作公司
  • 设计学网站网络工程专业毕业生设计
  • 成都网站建设有名的国外优质设计网站
  • seo基础培训教程seo百度关键词优化软件
  • 西安响应式网站青岛网站制作哪里有
  • 政务服务网站建设合肥seo排名扣费
  • 郑州做网站的大公司无锡网站程序
  • 打开网站是空白页面营销型网站建设应该考虑哪些因素
  • 做网站开麻烦吗个人网站备案网站名称
  • 瑞诺国际做外贸网站好吗网站端和移动端分开建设域名一样么
  • 如何网站点击率网站程序开发技术
  • 深圳网站建设售后服务怎样.net网站开发简介
  • 光谷软件园 网站建设中国国家数据统计网
  • wordpress 主页位置seo是什么意思教程
  • 网站开发甘特图网站是别人做的域名自己怎么续费
  • 如何查询网站是否备案江苏省句容建设局网站
  • 中国商业网点建设开发中心官方网站天津中小企业网站制作
  • 莱芜网站建设及优化云开发小程序源码
  • 珠海商城网站学校建网站
  • 自己网站如何做关键词排名网站配色网
  • 做二手物资哪个网站好江苏大汉建设实业集团网站
  • j2ee 建设简单网站Wordpress 导航条样式
  • 创客贴网页设计网站企业局域网
  • 深圳哪里网站制作云南建设网站首页
  • 赤峰做网站哪家好岳阳网站设计u