CSP初赛知识学习计划(第一天)
计算机知识全解析
一、计算机的发展历程
计算机的发展堪称一部波澜壮阔的科技史诗,其源头可追溯至古老的计算工具。早期,为了满足人类在天文、历法计算以及商业贸易中对数据处理的需求,算盘、算筹等手动计算器械应运而生,它们依靠人力拨动算珠或摆弄算筹来完成简单运算,成为计算机发展的雏形。
进入 20 世纪,电子技术的萌芽为计算机的变革带来曙光。1946 年,世界上第一台电子数字积分计算机(ENIAC)在美国宾夕法尼亚大学问世,它体型庞大,占地 170 平方米,重达 30 吨,使用了 18000 多个电子管,每秒能进行 5000 次加法运算。尽管 ENIAC 在现代标准下显得笨拙低效,但其开启了电子计算机的新纪元,标志着人类计算能力从机械迈向电子化的飞跃。
此后,计算机沿着晶体管计算机(第二代,1958 - 1964 年)、集成电路计算机(第三代,1965 - 1971 年)、大规模和超大规模集成电路计算机(第四代,1972 年至今)的路径飞速进化。晶体管取代电子管,大幅缩小计算机体积、降低功耗、提升可靠性;集成电路将众多晶体管集成于微小芯片,使得计算机性能呈指数级增长;如今,大规模及超大规模集成电路让计算机走进千家万户,从巨型机的超强算力到微型电脑、智能手机的便携智能,全方位融入人类生活。
二、计算机硬件组成
计算机硬件宛如一座精密的工厂,各个部件各司其职又协同运作,其中运算器、控制器、存储器、输入输出设备是核心组件。
运算器如同工厂里的“数学大师”,负责执行算术运算(加、减、乘、除等)与逻辑运算(与、或、非、比较等)。它从存储器获取数据,依据控制器指令高速处理,将结果返还存储器或直接输送给输出设备,是计算机进行数据加工的关键场所,常见于 CPU(中央处理器)内部核心区域。
控制器则是整个硬件系统的“指挥官”,它解读内存中的指令,按序生成控制信号,协调运算器、存储器、输入输出设备协同工作。它决定计算机运行节奏,掌控数据流向,确保各部件有条不紊地执行任务,同样集成在 CPU 之中,与运算器紧密配合,共同驱动计算机运转。
存储器好似计算机的“记忆宝库”,分为内存储器(主存)和外存储器(辅存)。内存储器靠近 CPU,存取速度快,用于暂存当前运行程序和数据,就像车间里随时取用的临时物料区,但容量相对较小;外存储器如硬盘、U盘、光盘等,容量巨大,用于长期存储海量数据和程序,恰似工厂的大型仓库,虽存取稍慢,但为计算机提供了坚实的数据储备后盾。
输入输出设备是计算机与外界交互的“桥梁”。输入设备像忠实的“信息采集员”,将外界信息转换为计算机能识别的电信号,如键盘录入字符、鼠标传递位置点击指令、扫描仪摄取图像、麦克风采集声音等;输出设备则是“展示大使”,把计算机处理结果以人类可感知形式呈现,像显示器展示图像文字、打印机输出纸质文档、音箱播放音频等,它们让计算机的“智慧”得以可视化、可听化。
三、计算机软件系统分类
计算机软件系统犹如计算机的“灵魂”,赋予硬件无限活力,分为系统软件与应用软件两大阵营。
系统软件是计算机运行的根基,它直接掌控硬件资源,为应用软件搭建运行平台。操作系统(如 Windows、Linux、macOS)堪称系统软件的核心,负责管理计算机的处理器、内存、文件系统、设备驱动等关键资源,提供人机交互界面,用户通过它启动程序、管理文件、配置系统;同时,编译程序将高级编程语言编写的源程序转化为机器能读懂的目标代码,数据库管理系统高效组织、存储、检索海量数据,这些系统软件协同作业,保障计算机稳定、高效运行。
应用软件则是面向用户具体需求的“工具集”,种类繁多、功能各异。办公软件(如 Word、Excel、PowerPoint)助力日常办公文档处理、数据统计分析、演示文稿制作;图形图像软件(如 Adobe Photoshop、Illustrator)赋能设计师创作精美视觉作品;多媒体播放软件(如腾讯视频、酷狗音乐)满足娱乐影音需求;行业软件更是深入医疗、金融、教育、制造等领域,像医院信息管理系统(HIS)优化医疗流程、金融交易系统支撑证券买卖、在线教育平台实现远程授课,全方位覆盖生活工作各场景,提升效率、拓展可能。
四、编程语言的分类
编程语言是人类与计算机沟通的“语言”,从编程思维模式出发,主要分为面向对象与面向过程两大类别。
面向过程编程以过程(或函数)为核心,将程序视作一系列步骤的有序组合。开发者聚焦于解决问题的流程,把大问题拆分成一个个小任务,编写函数依次执行,数据在函数间传递,类似工厂里流水线上按部就班的工序。C 语言是典型代表,它简洁高效,贴近硬件底层,常用于系统开发、嵌入式编程,开发者能精准操控内存、优化算法性能,但随着程序规模膨胀,代码维护难度剧增,因各部分关联性强,牵一发而动全身。
面向对象编程则将现实世界事物抽象为对象,对象包含数据(属性)和操作数据的方法。程序围绕对象构建,通过对象间交互协作达成目标,如同社会中不同个体各司其职又相互配合。Java、C++ 是知名面向对象语言,以 Java 为例,在开发图形用户界面(GUI)程序时,按钮、文本框等界面元素皆为对象,各自有外观属性、点击响应等方法,开发者基于类(对象模板)创建实例,复用代码便捷,大型项目中不同模块相对独立,易于扩展与维护,不过一定程度牺牲运行效率换取开发便利性。
五、常见编程语言特点
- Python:语法简洁优雅,接近自然语言,新手友好,学习曲线平缓。拥有海量开源库(如 NumPy 用于科学计算、Pandas 处理数据、Django 搭建网站),能快速实现从数据处理、机器学习到 Web 开发等复杂任务,广泛应用于科研、数据分析、人工智能领域,被誉为“胶水语言”,可轻松集成其他语言代码,但运行速度相对较慢,对性能极致要求场景需优化或借助 C 扩展。
- Java:跨平台特性卓越,“一次编写,到处运行”,源于 Java 虚拟机(JVM)机制,屏蔽底层硬件差异。面向对象设计成熟,代码结构清晰、模块化强,适用于企业级大型项目开发,如电商平台、金融核心系统;强类型安全保障程序稳定性,丰富类库支持网络、图形、数据库交互,不过语法相对啰嗦,启动运行时加载资源较多,初始响应稍缓。
- C++:继承 C 语言高效操控硬件能力,又融入面向对象编程范式,性能强劲,在游戏开发、图形渲染、操作系统底层、高性能计算领域大显身手,如虚幻引擎、Windows 内核部分代码用 C++ 编写;可精细管理内存,灵活运用指针达成复杂数据结构构建与底层优化,但学习门槛高,代码易出错,开发效率较 Python、Java 偏低,需权衡性能与开发成本。
- JavaScript:作为 Web 前端开发基石,赋予网页动态交互能力,能实时响应页面事件(点击、滚动、输入)改变页面内容、样式。异步编程模型契合网络请求场景,避免页面卡顿,配合 HTML、CSS 构建绚丽多彩、功能完备的网页;近年随着 Node.js 出现,突破浏览器界限,涉足后端服务器开发、命令行工具构建,生态持续繁荣,只是语言本身弱类型特性易引发隐式类型转换错误,需严谨代码习惯。
计算机领域知识浩瀚无垠,从硬件底层到软件上层,从基础架构到多样应用,各环节紧密交织、层层递进。深入理解上述计算机发展、硬件、软件、编程知识,不仅揭开科技背后神秘面纱,更为踏入数字化创新浪潮、利用计算机技术解决现实问题筑牢根基,开启无尽探索可能。无论未来技术如何革新,当下扎实积累都将成为攀登科技高峰的稳固阶梯。
相关文章:
CSP初赛知识学习计划(第一天)
计算机知识全解析 一、计算机的发展历程 计算机的发展堪称一部波澜壮阔的科技史诗,其源头可追溯至古老的计算工具。早期,为了满足人类在天文、历法计算以及商业贸易中对数据处理的需求,算盘、算筹等手动计算器械应运而生,它们依…...
【嵌入式硬件】嵌入式显示屏接口
数字显示串行接口(Digital Display Serial Interface) SPI 不过多赘述。 I2C-bus interface 不过多赘述 MIPI DSI MIPI (Mobile Industry Processor Interface) Alliance, DSI (Display Serial Interface) 一般用于移动设备,下面是接口…...
07-ArcGIS For JavaScript--隐藏参数qualitySettings(memory和lod控制)
目录 1、综述2、sceneview.qualitySettings2.1、sceneview.qualitySettings.memoryLimit2.2、lodFactor2.3 additionalCacheMemory 3、结论 1、综述 先上重点,SceneView.qualitySettings为隐藏对象参数,该对象的memoryLimit和lodFactor等值,…...
QML自定义数值编辑框SpinBox样式
代码展示 import QtQuick 2.9 import QtQuick.Window 2.2 import QtQuick.Controls 2.1Window {visible: truewidth: 640height: 480title: qsTr("Hello World")SpinBox {id: controlvalue: 50editable: truecontentItem: TextInput {z: 2text: control.textFromVal…...
【数据可视化-10】国防科技大学录取分数线可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
深入探索:将 Elasticsearch 与 Ruby 工具结合使用
深入探索:将 Elasticsearch 与 Ruby 工具结合使用 一、背景介绍 1. Elasticsearch 与 Ruby 的结合背景 在现代软件开发中,Elasticsearch 作为一个基于 Lucene 的搜索引擎,以其分布式、可扩展、实时搜索等特点而广受欢迎。Ruby,…...
Istio 补充 Kubernetes 的不足
1 Istio 补充 Kubernetes 的不足 Kubernetes 强大但无法解决复杂分布式系统中的非功能性需求,如流量路由、协议转换、请求重试和负载均衡。Istio作为Service Mesh,通过独立的代理进程处理这些需求,避免直接修改业务代码。 2. 独立的代理进程…...
远程主机执行脚本1、无脚本内容外协。
使用 ssh rootyour_host bash -c "source <(cat)" < your_scripts.sh 或类似的命令来远程执行脚本,而不让脚本内容外泄或不让其他人看到脚本信息的原因通常是为了安全性和隐私保护。以下是几种考虑: 安全性:通过直接将脚本内…...
Jmeter进阶篇(32)Jmeter 在 MySQL 数据库压测中的应用
一、引言 在当今数字化时代,数据库性能的优化对于企业的发展至关重要。随着业务量的不断增长,数据库需要承受越来越大的压力。MySQL作为一种广泛使用的开源数据库,其性能和稳定性备受关注。为了确保数据库在高负载情况下能够正常运行,进行压测是必不可少的环节。Jmeter作为…...
Python脚本实现通过Vector VN1630A CAN盒子与ECU通信
1 安装 python-can 包 安装命令如下: pip install python-can安装完成后可用下面命令查看是否安装成功及版本。 pip show python-canName: python-can Version: 4.4.2 Summary: Controller Area Network interface module for Python Home-page: https://github.…...
Spring实现Logback日志模板设置动态参数
版权说明: 本文由博主keep丶原创,转载请保留此块内容在文首。 原文地址: https://blog.csdn.net/qq_38688267/article/details/144842327 文章目录 背景设计日志格式实现配置动态取值logback-spring.xml 相关博客 背景 多个单体服务间存在少量…...
内部类 --- (寄生的哲学)
内部类总共有 4 种(静态内部类、非静态内部类、局部内部类、匿名内部类) 作用: 一:内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。 二:内部类可以…...
Python深度学习GRU、LSTM 、BiLSTM-CNN神经网络空气质量指数AQI时间序列预测及机器学习分析|数据分享...
全文链接:https://tecdat.cn/?p38742 分析师:Zhixiong Weng 人们每时每刻都离不开氧,并通过吸入空气而获得氧。一个成年人每天需要吸入空气达6500升以获得足够的氧气,因此,被污染了的空气对人体健康有直接的影响&…...
JSP基础
一、Tomcat 1.Tomcat简介: Tomcat是一个免费的开源JSP容器,是Apache的Jakarta项目中的一个核心项目因免费、稳定而成为目前比较流行的Web应用服务器网址:https://tomcat.apache.org/ 2.Tomcat的配置——环境变量 (1)…...
基于Springboot +Vue 在线考试管理系统
基于Springboot Vue 在线考试管理系统 前言 随着信息技术的飞速发展,教育领域正经历着深刻的变革。传统的考试模式因其诸多限制和不便,已难以满足现代教育的需求。基于SpringBoot和Vue框架开发的在线考试系统应运而生,它充分利用了现代互联…...
Node.js 函数
Node.js 函数 1. 概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。在 Node.js 中,函数是一等公民,意味着它们可以作为变量传递,可以作为参数传递给其他函数,也可以从其他函数返回。本文将详细…...
JVM学习指南(9)-JVM运行时数据区
JVM学习指南(9)-JVM运行时数据区 引言 Java虚拟机(JVM)是Java程序运行的核心,它为Java程序提供了一个与平台无关的执行环境。JVM的重要性不仅在于它实现了Java的跨平台特性,还在于它对程序执行过程中内存的管理。JVM运行时数据区是程序执行过程中存储数据的关键区域,理解…...
2025/1/4期末复习 密码学 按老师指点大纲复习
我们都要坚信,道路越是曲折,前途越是光明。 --------------------------------------------------------------------------------------------------------------------------------- 现代密码学 第五版 杨波 第一章 引言 1.1三大主动攻击 1.中断…...
关于嵌入式系统的知识课堂(二)
成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于嵌入式系统的知识课堂(…...
基于ETAS工具的AutoConnect实现方案
文章目录 前言基于ISOLAR工具实现AutoConnect基于脚本实现AutoConnect总结前言 Autosar软件架构设计中,Connect通常来自于Composition之间(Assembly connectors),Component之间(Assembly connectors),Component与Composition之间(Delegation connectors),还有一种Pa…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
IT供电系统绝缘监测及故障定位解决方案
随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
