2022年高考落下帷幕,众多考生表示难出天际。通过国家去年双减政策和今年高考试卷可以看出国家正在一系列的教育改革,目标就是要提升学生的综合素养和基础能力。随着编程在日常生活中应用领域越来越广泛,不少青少年开始学习编程,假以时日编程大概率会逐渐进入高考。
现在很多中学生开始参加全国青少年信息学奥林匹克竞赛(NOI),获金牌的选手入选信息学奥赛国家集训队,并获得教育部认可的免高考保送清北高校资格,获银牌的选手也将取得国内36所一流高校“强基计划”破格入围资格。
必备计算机基础知识计算机专业四大专业基础课主要包括,计算机操作系统、计算机网络、计算机组成原理、数据结构。对于高中生来说,并不需要掌握以上全部知识,但是对于部分知识也需要掌握。
一.计算机操作系统
1.什么是操作系统
(操作系统是管理计算机硬件和软件资源的程序,是计算机的基石。)
2.什么是系统调用
(用户态:运行的进程可以直接读取用户程序的数据。
内核态:可以简单地理解内核态运行的进程或程序几乎可以访问计算机的任何资源,不受限制。)
3.进程和线程的区别
(进程是操作系统资源分配的基本单位,而线程是任务调度执行的基本单位。一个进程可以有多个线程。进程拥有资源,而线程不拥有系统资源,但是可以访问隶属于进程的资源。)
4.什么是死锁,如何解决死锁
(两个或者两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞现象。)
5.如何内存管理
(块式管理 :远古时代的计算机操系统的内存管理方式。将内存分为几个固定大小的块,每个块中只包含一个进程。如果程序运行需要内存的话,操作系统就分配给它一块,如果程序运行只需要很小的空间的话,分配的这块内存很大一部分几乎被浪费了。这些在每个块中未被利用的空间,我们称之为碎片。(容易产生内存碎片)
页式管理 :把主存分为大小相等且固定的一页一页的形式,页较小,相对相比于块式管理的划分力度更大,提高了内存利用率,减少了碎片。页式管理通过页表对应逻辑地址和物理地址。
段式管理 :页式管理虽然提高了内存利用率,但是页式管理其中的页实际并无任何实际意义。段式管理把主存分为一段段的,段是有实际意义的,每个段定义了一组逻辑信息,例如,有主程序段 MAIN、子程序段 X、数据段 D 及栈段 S 等。段式管理通过段表对应逻辑地址和物理地址。
段页式管理:结合了段式管理和页式管理的优点简单来说段页式管理机制就是把主存先分成若干段,每个段又分成若干页,也就是说 段页式管理机制 中段与段之间以及段的内部的都是离散的。)
二.计算机网络
三.计算机组成原理
1.二进制与十进制、十六进制互相转换
2.计算机组成:控制器、运算器、存储器、输入设备、输出设备
3.计算机性能指标:吞吐量、时钟周期
4.存储器:SRAM、DRAM、只读存储器、Cache、虚拟存储器
5.CPU组成原理
四.数据结构
1.顺序表、链表
2.栈、队列
3.树、二叉树
4.图
5.排序算法、查找算法
编程语言学编程从娃娃抓起,越来越多的孩子开始学习编程,那么到底该怎么学,学习哪一门编程语言呢?
少儿图形化编程7~10岁——Scratch
少年人工智能开发10~13岁——Python
信息学竞赛13岁以上——C
计算机编程语言分类:
一.低级语言
机器语言(由二进制数字组成)
汇编语言(能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。)
二.高级语言
1.编译型语言
需通过编译器(compiler)将源代码编译成机器码,之后才能执行的语言。一般需经过编译(compile)、链接(linker)这两个步骤。编译是把源代码编译成机器码,链接是把各个模块的机器码和依赖库串连起来生成可执行文件。编译和执行是分开的,但是不能跨平台。
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
代表语言:C、C
2.解释型语言
解释性语言的程序不需要编译,相比编译型语言省了道工序,解释性语言在运行程序的时候才逐行翻译。每一个语句都是执行的时候才能翻译。这样解释性语言每执行一次要翻译一次,效率表较低。
优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
代表语言:JavaScript、Python、PHP等。
3.混合型语言
混合型语言也叫半编译型语言。比如java、C#,C#在编译的时候不是直接编译成机器码而是中间码,.NET平台提供了 中间语言运行库运行中间码,中间语言运行库类似于Java虚拟机。.net在编译成IL代码后,保存在dll中,首次运行时由JIT在编译成机器码缓存在内存中,下次直接执行。
java解释器采用生成与系统无关的字节代码指令技术。也就是说,在任何不同的操作系统上,只要正确安装了java运行系统,就有了编写调试java程序的平台,在分布式应用中,java的这个特点使同一个java程序能在不同的系统上运行,从而提高了软件生产效率。可移植性是跨平台特性的一个延伸,即具有了跨平台性,就保证了可移植性。java程序、java类库、java编译器、java系统都具有可移植性。
需要少儿编程、毕业设计案例与指导、考研相关资料的小伙伴们欢迎私信、关注公众号 “慧眼金芯” 免费获取资料