20182306 2019-2020-1 《数据结构与面对对象程序设计》预备作业

作业一

1.你对专业的认识和期望是什么?

认识:我们是信息管理与信息系统专业,是一个文理都有所学习的专业,专业与计算机相连,注重培养综合性人才。
期望:我希望在这个专业里我可以很好的接触并学习计算机,为以后的工作打下基础。

2.上学期C语言总代码量大概多少行,本学期实践10000行代码,你觉得这个负担大吗?

上学期c语言总代码量应该有4000-5000行,本学期实践代码有10000行,我觉得只要肯下功夫,努力学习,这学期负担应该不大。

3.你的C语言学习怎么样?如果学的还行,你认为从C语言学习中比较好的经验是什么?如果学的不好,那么你学的不好的原因是什么?

我的c语言学习不好,我对于计算机认识程度不够,没有重视起来,然后课下练习时间太少,之后学习就越来越被动。

作业二

1.安装虚拟机过程中遇到的问题及解决过程
(1).上学期我下载了Vnware,在装完Ubuntu时,虚拟机不能开机。
解决:卸载了Vnware改用VirtualBox就好了。
(2).虚拟机官网为英文版,下载虚拟机后电脑无法打开虚拟机的安装包。
解决:在预备作业中观看基于VirtualBox虚拟机安装Ubuntu图文教程中发现下载的虚拟机版本不一样,用教程一一对应的版本。
2.Linux基础入门学习记录

(1).Ubuntu快捷键:

CTRL+ALT+T:打开终端,天天使用终端,用鼠标打开太低效了;
CTRL+SHIFT+T:新建标签页,编程时有重要应用;
ALT+数字N:终端中切换到第N个标签页,编程时有重要应用;
Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;
上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复;
CTRL+C:中断程序运行。

按键 作用
CTRL+ALT+T: 打开终端,天天使用终端,用鼠标打开太低效了;
CTRL+SHIFT+T: 新建标签页,编程时有重要应用;
ALT+数字N: 终端中切换到第N个标签页,编程时有重要应用;
Tab: 终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;
上下键盘: 切换命令历史,刚输入一个很长的命令,按上键就可以恢复;
CTRL+C:中断程序运行。
(2).Linux与Windows10之间的区别

①免费与收费
·Linux免费或收少量的费用而正版Windows则要收费
②安全性
·Windows经常更新但还是会中病毒而Linux相对而言更安全,不需要各种安全软件的保护。
③Windows的所缺乏的
·稳定的系统
·安全性和漏洞的快速修补
·多用户
·用户和用户组的规划
·相对较少的系统资源占用
·可定制裁剪,移植到嵌入式平台(如安卓设备)
·可选择的多种图形用户界面(如 GNOME,KDE)
④Linux的所缺乏的
·特定的支持厂商
·足够的游戏娱乐支持度
·足够的专业软件支持度

(3).常用的快捷键:
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂停当前程序,暂停后按下任意键 恢复运行
Ctrl+z 将光标移至输入行头,相当于Home键
Ctrl+a 将光标移至输入行头,相当于Home键
Ctrl+e 将光标移至输入行末,相当于End键
Ctrl+k 删除从光标所在位置到行末
Alt+Backspace 向前删除一个单词
Shift+PgUp 将终端显示向上滚动
Shift+PgDn 将终端显示向下滚动
(4).Shell常用通配符:
字符 含义
* 匹配 0 或多个字符
? 匹配任意一个字符
[list] 匹配 list 中的任意单一字符
[^list] 匹配 除list 中的任意单一字符以外的字符[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...} 匹配 string1 或 string2 (或更多)其一字符串{c1..c2}匹配 c1-c2 中全部字符 如
(5).su,su-与sudo:

su 可以切换到用户 user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

(6).文件名称各部分的意义:

image
image

(7).三种环境变量相关的命令:
命令 说明
set 显示当前 Shell 所有变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量。
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行。
export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量。

按变量的生存周期来划分,Linux变量可分为两类:
永久的:需要修改配置文件,变量永久生效;
临时的:使用export命令行声明即可,变量在关闭 shell 时失效。

(8).文件打包和压缩:

zip:
打包 :zip something.zip something (目录请加 -r 参数)
解包:unzip something.zip
指定路径:-d 参数
tar:
打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C 参数

(9).内建命令与外部命令:

内建命令实际上是shell程序的一部分,其中包含的是一些比较简单的Linux系统命令,这些命令是写在bash源码的builtins里面的,由shell程序识别并在shell 程序内部完成运行,通常在Linux系统加载运行时shell就被加载并驻留在系统内存中。而且解析内部命令 shell 不需要创建子进程,因此其执行速度比外部命令快。比如:history、cd、exit 等等。
外部命令是Linux系统中的实用程序部分,因为实用程序的功能通常都比较强大,所以其包含的程序量也会很大,在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调入内存。虽然其不包含在shell中,但是其命令执行过程是由shell程序控制的。外部命令是在Bash之外额外安装的,通常放在/bin,/usr/bin,/sbin,/usr/sbin等等。比如:ls、vi等。

心得体会

·在安装到查阅资料,Linux的英语的水平有一定的要求,对于英语薄弱的我来说,两门科目要一起进步,在英语中学习Java、在Java中学习英语。
·Linux的信息量太大了,在学习过程中,对我的记忆力提出了巨大的考验,我现在还难以应付,但我不会放弃对Linux的学习。
·Linux系统主要靠键盘输入,在使用虚拟机的过程中犹豫还不太熟练导致造成了超级多的不方便,多使用快捷键来辅助,增加熟练度,还是要多花时间,多实践来增加熟练度。