Linux程序开发(一):Linux基础入门安装和实操手册

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊!

喜欢我的博客的话,记得点个红心❤️和小关小注哦!您的支持是我创作的动力!数据源存放在我的资源下载区啦!

Linux程序开发(一):Linux基础入门安装和实操手册

目录

  • Linux程序开发(一):Linux基础入门安装和实操手册
    • 第一次作业
      • 1、Linux与Unix的关系?
      • 2、Linux内核版本和发行版本的差别?
      • 3、解释GPL、POSIX、LBS。
      • 4、安装自己的Linux运行环境,该任务在自己的机器上完成,架设完毕后写出主要安装步骤并截图。
        • ==(1)下载VMWARE,安装centos7==
        • ==(2)关联centOS镜像==
        • ==(3)安装centOS镜像==
        • ==(4)直接回车==
        • ==(5)镜像检测,在这里可以直接按下Esc键,跳过检测==
        • ==(6)等待一会, 就会出现以下界面==
        • ==(7)以root用户身份登录: 输入 root , 然后输入密码 即可登录成功==
      • 5、给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
      • 6、用递归的方法求 Hermite 多项式的值

第一次作业

问答题:

1、Linux与Unix的关系?

Linux与Unix有很紧密的关系。
(1)Linux最初是由Linus Torvalds在1991年编写的:它的核心遵循了Unix的设计思路,并参考了一些Unix的代码。因此,Linux与Unix有着相似的命令行界面、文件系统结构和进程管理方式。(2)另外,Linux还内置了许多来自Unix的工具和服务:但是,Linux并不是完全兼容Unix的,在一些细节上还存在差异。另外值得注意的是,Unix是一个商业操作系统,而Linux则是一个开源免费的操作系统。

2、Linux内核版本和发行版本的差别?

Linux内核版本和发行版之间是有一些差异的。(1)Linux内核是操作系统的核心部分:它控制着硬件和软件之间的交互。Linux内核版本号通常由三个数字构成,例如:5.14.6。每个数字表示一个层次结构:大版本、次要版本和修订版本。新版本的内核通常包含了新的功能和性能优化,并且也会修复已知的安全漏洞和bug。(2)Linux发行版则是基于Linux内核的完整操作系统:并包括一个桌面界面、应用程序、工具等。常见的Linux发行版包括Ubuntu、Debian、Red Hat Enterprise Linux、CentOS、Fedora等。不同发行版之间会有不同的软件包管理系统、默认桌面环境、配置文件位置等等。发行版会对Linux内核进行定制和打包以便于用户使用。(3)简单来说,Linux内核是操作系统的核心:控制着硬件和软件之间的交互。而发行版则是基于Linux内核的完整操作系统,包含了桌面界面和各种应用程序。

3、解释GPL、POSIX、LBS。

GPL(General Public License):通用公共许可证是一种开源软件许可证,它保障了用户对软件的自由使用、修改和分发。GPL要求在使用或修改基于GPL许可的软件时,必须将修改后的代码也以GPL许可证的形式进行发布。这意味着GPL许可证确保了开源软件在整个生命周期中的开放性和自由性,鼓励开发者共享和合作。POSIX(Portable Operating System Interface for Unix):可移植操作系统接口标准是为了使Unix和类Unix操作系统之间具有可移植性而制定的一套标准。POSIX定义了一系列的API(应用程序接口)和命令行工具规范,旨在提供一致的系统调用接口、文件系统结构、下层硬件接口等,使得符合POSIX标准的应用程序可以在不同的POSIX兼容操作系统上运行。LBS(Location-Based Service):基于位置的服务是指利用移动通信技术和位置信息来提供与用户位置相关的各种应用和服务。通过LBS,用户可以获取周边商家信息、导航路线、地图定位、社交媒体签到等功能。LBS技术通常依赖于全球定位系统(GPS)或移动基站信号定位,结合地图数据和其他相关信息实现服务的提供。LBS在移动互联网时代得到了广泛的应用,为用户提供了更便捷和个性化的服务体验。

实验题:

4、安装自己的Linux运行环境,该任务在自己的机器上完成,架设完毕后写出主要安装步骤并截图。

提示:有三种方式架设Linux运行环境

  • 第一种方式,独立安装:在计算机硬件上独立安装Linux发行版本。
  • 第二种方式,虚拟机安装:在Windows操作系统或者Mac操作系统中安装虚拟机软件,虚拟机上再安装Linux操作系统。
  • 第三种方式,软件仿真:在Windows系统中安装cygwin的类Unix运行环境。
(1)下载VMWARE,安装centos7

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)关联centOS镜像

在这里插入图片描述

在这里插入图片描述

(3)安装centOS镜像

在这里插入图片描述

在这里插入图片描述

(4)直接回车

在这里插入图片描述

(5)镜像检测,在这里可以直接按下Esc键,跳过检测

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(6)等待一会, 就会出现以下界面

在这里插入图片描述

(7)以root用户身份登录: 输入 root , 然后输入密码 即可登录成功

在这里插入图片描述

编程题:

5、给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

输入格式

第一行为 n(0<n<20),表示班里的学生数目;

接下来的 n 行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过 20,成绩为一个不大于 100 的非负整数。
输出

把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。

输入样例

4
Kitty 80
Hanmeimei 90
Joey 92
Tim 28

输出样例

Joey 92
Hanmeimei 90 
Kitty 80
Tim 28

代码实现

// 添加了#define _CRT_SECURE_NO_WARNINGS,以消除关于scanf函数不安全的警告
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>#define maxSize 21struct student {char name[maxSize];int score;
};// 冒泡排序函数,按照分数从高到低排序,如果分数相同,则按照姓名的字典序排序
void bubbleSort(struct student s[], int n) {struct student temp;for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {// 如果当前元素的分数比下一个元素的分数小,交换位置if (s[j].score < s[j + 1].score) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}// 如果当前元素的分数与下一个元素的分数相等,但是姓名的字典序大于下一个元素的姓名字典序,交换位置if (s[j].score == s[j + 1].score && strcmp(s[j].name, s[j + 1].name) > 0) {temp = s[j];s[j] = s[j + 1];s[j + 1] = temp;}}}
}int main() {struct student s[maxSize], temp; // 定义一个结构体数组s来存储学生信息,temp用于交换临时变量int n; // 学生数量scanf("%d", &n); // 输入学生数量// 输入学生信息,包括姓名和分数for (int i = 0; i < n; i++)scanf("%s%d", s[i].name, &(s[i].score));// 调用冒泡排序函数,对学生信息进行排序bubbleSort(s, n);// 输出排序后的学生信息for (int i = 0; i < n; i++)printf("%s %d\n", s[i].name, s[i].score);return 0;
}

代码结果

在这里插入图片描述

6、用递归的方法求 Hermite 多项式的值

h n ( x ) = { 1 n = 0 2 x n = 1 2 x h n − 1 ( x ) − 2 ( n − 1 ) h n − 2 ( x ) n > 1 h_n\left(x\right)= \begin{cases} 1 \qquad n=0\\ 2x \qquad n=1\\ 2xh_{n-1}\left(x\right)-2\left(n-1\right)h_{n-2}\left(x\right) \qquad n>1 \end{cases} hn(x)= 1n=02xn=12xhn1(x)2(n1)hn2(x)n>1

对给定的 x 和正整数 n ,求多项式的值,并保留两位小数。

输入格式

给定的 n 和正整数 x。

输出格式

多项式的值。

输入样例

1 2

输出样例

4.00
// 添加了#define _CRT_SECURE_NO_WARNINGS,以消除关于scanf函数不安全的警告
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>// hermite递归函数
double hermite(int n, int x)
{if(0==n)return 1;else if(1==n)return 2*x;elsereturn 2*x*hermite(n-1, x)-2*(n-1)*hermite(n-2, x);
}int main()
{int n, x;scanf("%d %d", &n, &x);printf("%.2f\n", hermite(n, x));return 0;
}==== 代码

代码结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12869.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java面试八股之Java中有哪些原子类,原理是什么

Java中有哪些原子类&#xff0c;原理是什么 AtomicInteger 和 AtomicLong&#xff1a; 用于对整数&#xff08;int&#xff09;和长整数&#xff08;long&#xff09;进行原子操作。 原理&#xff1a;它们内部封装了一个整型或长整型变量&#xff0c;并通过使用Unsafe类提供…

OpenHarmony 实战开发——ArkUI容器类API介绍

容器类&#xff0c;顾名思义就是存储的类&#xff0c;用于存储各种数据类型的元素&#xff0c;并具备一系列处理数据元素的方法。在 ArkUI 开发框架中&#xff0c;容器类采用了类似静态的语言来实现&#xff0c;并通过 NAPI 框架对外提供。通过对存储位置以及属性的限制&#x…

C++map容器关联式容器

Cmap 1. 关联式容器 vector、list、deque、forward_list(C11)等STL容器&#xff0c;其底层为线性序列的数据结构&#xff0c;里面存储的是元素本身&#xff0c;这样的容器被统称为序列式容器。而map、set是一种关联式容器&#xff0c;关联式容器也是用来存储数据的&#xff0…

【开发】模型部署笔记

目录 模型量化 模型量化 1、模型量化优点 低精度模型表示模型权重数值格式为FP16&#xff08;半精度浮点&#xff09;或者INT8&#xff08;8位定点整数&#xff09;&#xff0c;但是目前低精度往往就指代INT8。常规精度模型则一般表示模型权重数值格式为FP32&#xff08;32位…

策略模式详解

策略模式 1 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#xff0c;当然可以进行代码开发的工具有很多&#xff0c;可以选择Idea进…

gitlab webhook触发jenkins任务

配置jenkins 安装gitlab插件 配置jenkins job 选择gitlab webhook触发 在高级中生成token 代码仓设置 新增webhook 配置webhook 测试连接 缺点&#xff0c;不能带gitLab事件的参数&#xff01;&#xff01;&#xff01;

Spark RDD案例:统计网站每月访问量

这个项目利用Spark技术&#xff0c;通过统计网站访问记录中的日期信息&#xff0c;实现了对每月访问量的统计和排序。通过分析数据&#xff0c;我们可以了解到不同月份的网站访问情况&#xff0c;为进一步优化网站内容和推广策略提供数据支持。 使用Spark统计网站每月访问量 …

Apache2.4和PHP8的量子纠缠

Apache不建议你用&#xff0c;PHP建议使用

一种基于电场连续性的高压MOSFET紧凑模型,用于精确表征电容特性

来源&#xff1a;A Compact Model of High-Voltage MOSFET Based on Electric Field Continuity for Accurate Characterization of Capacitance&#xff08;TED 24年&#xff09; 摘要 本文提出了一种新的高压MOSFET&#xff08;HV MOS&#xff09;紧凑模型&#xff0c;以消…

【hana】hana1.0多容器常用命令

基础命令 数据库 连接数据库 hdbsql -u system -p {passwd} -i 02 -d {dbname}查询所有数据库 SELECT DATABASE_NAME, ACTIVE_STATUS FROM M_DATABASES;停止数据库&#xff0c;会修改数据库状态为No ALTER SYSTEM STOP DATABASE testdb; 启动数据库&#xff0c;会修改数据…

多线程的代码案例

目录 单例模式 饿汉模式 懒汉模式 阻塞队列 生产者消费者模型意义: 阻塞队列使用方法 实现阻塞队列 阻塞队列实现生产者消费者模型 定时器 实现简单的定时器 工厂模式 线程池 为啥呢? 从池子里面取 比 创建线程 效率更高 线程池的创建 怎么填坑 ThreadPoolExec…

图解堆排序【一眼看穿逻辑思路】

P. S.&#xff1a;以下代码均在VS2019环境下测试&#xff0c;不代表所有编译器均可通过。 P. S.&#xff1a;测试代码均未展示头文件stdio.h的声明&#xff0c;使用时请自行添加。 目录 1、堆的概念2、实现堆排序前的准备工作3、堆排序的思路3.1 第一步3.2 第二步 4、结语 1、…

音视频捕捉技术:LCC382 SDI采集卡深度解析

在日新月异的多媒体时代&#xff0c;高质量的音视频采集已成为众多领域不可或缺的一环。为此&#xff0c;灵卡科技精心打造了LCC382 —— 一款集高效性、灵活性与前沿技术于一身的SDI输入与环出、HDMI输出音视频采集卡&#xff0c;旨在满足从专业直播、视频会议到医疗影像、安防…

网页版Figma汉化

最近学习Figma&#xff0c;简单介绍一下网页版Figma的汉化方法 1.打开网址&#xff1a;Figma软件汉化-Figma中文版下载-Figma中文社区 2.下载汉化插件离线包 解压汉化包 3.点开谷歌的管理扩展程序 4.点击加载已解压的扩展程序&#xff0c;选择刚刚解压的包 这样就安装好了汉化…

QT状态机2-含终止状态的嵌套状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

前馈神经网络FNN、多层感知机MLP和反向传播推导

目录 一、前馈神经网络FNN 激活函数的使用 二、多层感知机MLP MLP的典型结构 多层感知机MLP的特点 和前馈神经网络FNN的区别 三、传播推导 1、前向传播(Forward propagation) &#xff08;1&#xff09;输入层到隐藏层 &#xff08;2&#xff09;隐藏层到输出层 2、…

Java面试八股之WeakHashMap的工作原理

简述WeakHashMap的工作原理 弱键&#xff08;Weak Keys&#xff09;&#xff1a; WeakHashMap 的键&#xff08;keys&#xff09;是通过 WeakReference 弱引用进行封装的。弱引用是一种特殊的引用类型&#xff0c;它不会阻止所引用的对象被垃圾收集器回收。这意味着&#xff…

冥想训练具体方法有哪些|流静冥想

冥想是一种身体的放松和敏锐的警觉性相结合的状态。 每日练习的好处远不止你花在集中注意力的那几分钟。桑托雷利是建在乌斯特的马萨诸塞大学医学院的减压诊所的所长&#xff0c;她也是《自愈》的作者&#xff0c;她说&#xff1a;"冥想是一种工具&#xff0c;通过练习&a…

云手机的优缺点分析

云手机&#xff0c;作为云计算领域的创新&#xff0c;致力于提供更为灵活的移动设备体验&#xff0c;特别适用于那些希望在不同设备之间无缝切换的用户。虽然云手机带来了一系列优势&#xff0c;但也伴随着一些挑战&#xff0c;比如网络延迟可能会影响用户体验&#xff0c;特别…