日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

预备作业:课程基础

發布時間:2023/12/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 预备作业:课程基础 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

20182316胡泊 2019-2020-1 《數據結構與面向對象程序設計》第0周學習總結

1.預備作業

你對專業的認識和期望是什么?

  • 百度百科中對于信息管理與信息系統專業的概述是這樣的“集信息技術與管理科學于一體、實踐性和創新性很強的交叉學科”。
    • 經過我自己一年來的學習,我對這個專業也有了一些自己的理解。
      首先是我們專業不同于計算機專業,比他們多了文科的部分,也多了一些人文精神。
    • 又不同于文科專業,因為我們還是要靠技術吃飯的,無論是考研還是工作,這都是顯露在外面的、最重要的能力。
    • 而當職位越來越高,成為一個真正的管理者時,技術已經不是限制的因素了,管理能力與相關理論知識就成為了主要限制因素。
  • 我的期望就是能夠在大學期間充實自己,無論是能力還是內心,學到一些我認為對自己以后工作或生活有用的東西,使我的專業能夠幫助我更好的發展。

    上學期C語言總代碼量大概多少行,本學期實踐10000行代碼,你覺得這個負擔大嗎?

  • 大概6000~7000行左右,對于Java的10000行沒有什么概念,但我覺得問題應該不大。

    你的C語言學習怎么樣?如果學的還行,你認為從C語言學習中比較好的經驗是什么?如果學的不好,那么你學的不好的原因是什么?

  • c語言學的不太好,有點馬馬虎虎的。我覺得原因主要有三方面。
  • 首先,是我自身上機較少,做題庫有時會偷懶,不動腦筋,比其他優秀的同學練習量少了很多,做的不夠熟練。
  • 其次,就是課時量不夠,老師不得已將課時刪減并壓縮了一部分,由此導致上課聽的不是很懂。
  • 最后,就是我的個人定力不足,經常受到手機、電腦等的誘惑,在其中浪費了大量學習時間,這些我都會做出改變,也懇請老師督促。
  • 總結 : 練習、課堂、誘惑、改變。

    2.Linux自學筆記

==學習內容總結==

基本概念

  • shell(殼):中間程序,terminal:終端模擬器,console:控制臺。

    命令行操作體驗

    快捷鍵:

  • tab : 補全命令(這個暫時還看不懂)
  • 連續兩次tab:顯示全部候選結果
  • Ctrl+c
    :強行終止當前程序且不退出終端。我的猜測就是在學c語言時,我們是在Windows系統下操作,當出現溢出等情況時,Windows系統會自動給出警告并結束進程,而Linux系統由于自由度高,需要自己動手結束。
  • 上鍵 :恢復之前輸入過的命令(Ctrl+z)
  • 通配符 : (*/?)
    • 用來對字符串進行模糊匹配(比如文件名、參數名),可以代替一個或多個字符,確實很好用。
    $ touch asd.txt fgh.txt $ ls *.txt
    • 一次性創建多個文件
    $ touch hp{1..10}.txt - **man命令(manual pages)** : 獲取幫助(像是新手手冊一樣的東西)
    • 包括:NAME , SYNOPSIS(摘要) ,DESCRIPTION(說明) , EXAMPLES(示例) , SEE ALSO(參見)
    • ==在man中使用搜索==
      n鍵切換到下一個關鍵字所在處,shift+n為上一個關鍵字所在處。使用Space 翻頁,Enter 向下滾動一行,或者使用 k , j 進行向前向后滾動一行。按下h鍵為顯示使用幫助,按下q 退出。

      interesting thing :

  • 輸出圖形字符——==banner==
$ sudo apt-get update $ sudo apt-get install sysvbanner $ banner hpnbbb

用戶

sudoSuperuser do

允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,面向每個命令。

chmod

改變文件的讀寫許可設置

  • su, su- 與 sudo :
    • su 切換用戶,需密碼
    • sudo 特權級別運行cmd,需密碼且屬于sudo組
    • su - 切換用戶且環境變量跟著切換
$ sudo adduser lilei $ls /home (默認創建) $su -l lilei $who am i $pwd
  • 查看用戶組
  • 方法一:groups命令
$ groups shiyanglou shiyanlou:shiyanlou

冒號前為用戶名,冒號后為所屬用戶組

  • 方法二:查看/etc/group文件
$cat /etc/group |sort
  • 將其他用戶加入sudo用戶組
$su -l lilei $sudo ls $su shiyanlou $groups lilei $sudo usermod -G sudo lilei $groups lilei

linux文件權限

文件權限

  • r、w、x :read 、 write、 execute(執行)
$ls -dl <目錄名>

查看某一個目錄的完整屬性,而不顯示里面的屬性

  • 修改文件權限

    • 方法:二進制數字表示

      - 三組權限:擁有者、所屬用戶、其他用戶,對應一個rwx,也就是一個 7 (111)

      $ echo "echo\"hello shiyanlou\"">iphone6 $ chmod 600 iphone6

      Linux目錄結構及文件基本操作

  • linux與windows目錄結構的區別:windows是以盤符為主,而linux是以目錄為主來管理文件的。
    • 關于這一點,我自己的感受就是,當在Windows中打開我的電腦后,首先出現的是盤符,而我們通過鼠標就可以打開想要的文件了,而在linux操作時,往往需要通過 " / "來實現文件的打開、編輯、刪除等操作,因此更為方便一些。
  • FHS標準(英文:Filesystem Hierarchy Standard 中文:文件系統層次結構標準),FHS 定義了兩層規范
    • 第一層是, ==/== 下面的各個目錄應該要放什么文件數據,例如 /etc 應該放置設置文件,/bin 與 /sbin 則應該放置可執行文件等等
    • 第二層則是針對 ==/usr== 及 ==/var== 這兩個目錄的子目錄來定義。例如 /var/log 放置系統日志文件,/usr/share 放置共享數據等等。
    • link FHS_2.3 標準文檔
  • 路徑

    • cd :切換目錄
    • cd. :當前目錄
    • cd.. :上一級目錄
    • cd~ 或cd /home/:當前用戶的home目錄
    • pwd :獲取當前路徑(絕對路徑)
  • 文件的操作
    • 創建
    $ cd/home/shiyanlou $ touch test $ mkdir mydir (創建一個空目錄) $ mkdir -p father/son/grandson(創建多級目錄)
    • 復制文件 cp
    $ cp test father/son/grandson
    • 復制目錄
    $ cd /home/shiyanlou $ mkdir family $ cp -r father family 復制目錄需要加上-r ,表示遞歸復制。
    • 刪除文件 rm——(remove files or directories)
    $ rm test 當沒有權限時用 ==-f== 強制刪除
    $ rm -f test
    • 刪除目錄
    $ rm -r family
    • 移動文件: mv +源目錄文件 + 目的目錄
    $ mkdir Documents $ touch file1 $ mv file1 Documents
    • 重命名文件:mv +舊的文件名+ 新的文件名
    $ mv file1 myfile
    • ==批量重命名 rename==
    • 查看文件 cat(正序),tac(倒序),nl
    $ cd /home/shiyanlou $ cp /etc/passwd passwd $ cat -n passwd(-n 顯示行號) nl:添加行號并打印
    -b : 指定添加行號的方式,主要有兩種: -b a:表示無論是否為空行,同樣列出行號("cat -n"就是這種方式) -b t:只列出非空行的編號并列出(默認為這種方式) -n : 設置行號的樣式,主要有三種: -n ln:在行號字段最左端顯示 -n rn:在行號字段最右邊顯示,且不加 0 -n rz:在行號字段最右邊顯示,且加 0 -w : 行號字段占用的位數(默認為 6 位)
    • 查看文件類型
    $ file /bin/ls

    • ELF:可執行與可鏈接格式。
    • executable:可執行的。

      使用more和less命令分頁查看文件

    $ more passwd

    enter向下一行,space向下一屏,q退出。

目的:減少鼠標使用,簡化操作。

環境變量

變量

$ declare tmp $ tmp=shiyanlou $ echo $tmp
  • 與C語言的不同之處:c中變量必須先定義后使用,而linux可以不用 declare 預聲明一個變量,直接即用即創建。
  • 并不是任何形式的變量名都是可用的,變量名只能是英文字母、數字或者下劃線,且不能以數字作為開頭。

變量類型

  • 當前 Shell 進程私有用戶自定義變量,只在當前 Shell 中有效。
  • Shell 本身內建的變量。
  • 從自定義變量導出的環境變量。

按照時間分類

  • 永久的:需要修改配置文件,變量永久生效
  • 臨時的:使用 export 命令行聲明即可,變量在關閉 shell 時失效。

永久生效

  • ==/etc/bashrc==:存放shell變量
  • ==/etc/profile==:存放環境變量

如果想要添加一個永久生效的環境變量,只需要打開 /etc/profile,在最后加上你想添加的環境變量。

創建腳本文件

$ cd /home/shiyanlou $ touch hello_shell.sh $ gedit hello_shell.sh (gedit :文本編輯器)

加入

#!/bin/bashfor ((i=0; i<10; i++));doecho "hello shell" doneexit 0

為文件添加可執行權限:

$ chmod 755 hello_shell.sh

7(111) / 5(101)

執行腳本:

$ cd /home/shiyanlou $ ./hello_shell.sh

./hello_shell.sh 這句的命令是什么?

創建C語言程序

$ cd /home/shiyanlou $ gedit hello_world.c

在編輯欄中輸入

#include <stdio.h>int main(void) {printf("hello world!\n");return 0; }

保存后用gcc生成可執行文件

$ gcc -o hello_world hello_world.c

我認為是用hello_world代替了hello_world.c

也相當于C語言中的編譯過程

驗證:

  • 我在輸入內容時少輸了一個 ==;==
  • 于是,在執行gcc命令時出現了

創建目錄,并將文件移入其中

$ cd /home/shiyanlou $ mkdir mybin $ mv hello_shell.sh hello_world mybin/

在mybin目錄中分別運行程序

$ cd mybin $ ./hello_shell.sh $ ./hello_world

刪除修改已有變量

  • 修改

==${變量名#匹配字串}== 從頭向后開始匹配,刪除符合匹配字串的最短數據

==${變量名##匹配字串}== 從頭向后開始匹配,刪除符合匹配字串的最長數據

==${變量名%匹配字串}== 從尾向前開始匹配,刪除符合匹配字串的最短數據

==${變量名%%匹配字串}== 從尾向前開始匹配,刪除符合匹配字串的最長數據

==${變量名/舊的字串/新的字串}== 將符合舊字串的第一個字串替換為新的字串

==${變量名//舊的字串/新的字串}== 將符合舊字串的全部字串替換為新的字串

  • 刪除變量 : unset命令
    ### 如何讓環境變量立即生效
  • source
$ cd /home/shiyanlou $ source .zshrc

source的別名就是 ==.== ,因此上面的命令可替換為:
$ . ./.zshrc
注意第一個點后面有一個空格,而且后面的文件必須指定完整的絕對或相對路徑名,source 則不需要。

搜索文件——whereis/which/find/locate

  • whereis簡單快速
$ whereis who $ whereis find

快:沒有從硬盤中依次查找,而是直接從數據庫中查詢

  • locate 快而全
$ sudo apt-get update $ sudo apt-get install locate $ locate /etc/sh

不只是在 /bin 目錄下查找,還會自動遞歸子目錄進行查找。

$ locate /usr/share/\*.jpg

查找/user/share/下所有的jpg文件

注意要添加 號前面的反斜杠轉義,否則會無法找到*。

  • which 小而精
    通常使用 which 來確定是否安裝了某個指定的軟件

  • find 精而細(強大!)
    例:
$ sudo find /etc/ -name interfaces

find后第一個參數為搜索范圍

find [path] [option] [action]
#### 與時間相關的命令參數

參數說明
-atime最后訪問時間
-ctime最后修改文件內容的時間
-mtime最后修改文件屬性的時間

以-mtime為例

  • mtime n:n 為數字,表示為在 n 天之前的“一天之內”修改過的文件
  • mtime +n:列出在 n 天之前(不包含 n 天本身)被修改過的文件
  • mtime -n:列出在 n 天之內(包含 n 天本身)被修改過的文件
  • newer file:file 為一個已存在的文件,列出比 file 還要新的文件名

    文件的打包與解壓縮

    壓縮包形式

    ==.zip,.7z
    .rar .gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,.tar.bz2==

    zip

    使用 zip 打包文件夾:
$ cd /home/shiyanlou $ zip -r -q -o shiyanlou.zip /home/shiyanlou/Desktop $ du -h shiyanlou.zip $ file shiyanlou.zip

==-r== 參數表示遞歸打包包含子目錄的全部內容,==-q== 參數表示為安靜模式,即不向屏幕輸出信息,==-o==,表示輸出文件,需在其后緊跟打包輸出文件名。 ==du== 命令查看打包后文件的大小

$ zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou/Desktop -x ~/*.zip $ zip -r -1 -q -o shiyanlou_1.zip /home/shiyanlou/Desktop -x ~/*.zip

1~9: 1表示快但體積大,9表示體積小但慢。

必須使用絕對路徑。

tar

  • 創建tar包
$ cd /home/shiyanlou $ tar -cf shiyanlou.tar /home/shiyanlou/Desktop

-c 表示創建一個 tar 包文件,-f 用于指定創建的文件名,注意文件名必須緊跟在 -f 參數之后

  • 解包
$ mkdir tardir $ tar -xf shiyanlou.tar -C tardir

解包一個文件(-x 參數)到指定路徑的已存在目錄(-C 參數)

總結

  • zip:
    • 打包 :zip something.zip something (目錄請加 -r 參數)
    • 解包:unzip something.zip
    • 指定路徑:-d 參數
  • tar:
    • 打包:tar -cf something.tar something
    • 解包:tar -xf something.tar
    • 指定路徑:-C 參數

磁盤管理

查看目錄容量

$ du -h -d 0 ~
  • du -h #同--human-readable 以K,M,G為單位,提高信息的可讀性。
  • du -a #同--all 顯示目錄中所有文件的大小。
  • du -s #同--summarize 僅顯示總計,只列出最后加總的值。
  • -d +number 表示查看目錄的深度。

vim快捷鍵的使用

虛擬機的安裝

我暑假期間按照知乎上一篇的教程,一步步的安裝,過程還算順利,沒有什么大的問題。

https://zhuanlan.zhihu.com/p/42001070

學習過程中的問題

  • 問題1:
    linux中“ls” 、“ls -a”、“ls -al”的區別
  • 問題1解決方案:在網上查詢:
    • ls 顯示當前下面的文件及文件夾
    • ls -a 顯示當前目錄下的所有文件及文件夾包括隱藏的.和..等
    • ls -al 顯示當前目錄下的所有文件及文件夾包括隱藏的.和..等并顯示詳細信息,詳細信息包括大小,屬組,創建時間
  • 問題2:在虛擬機linux的環境中Ctrl+ c/v不能用
  • 問題2解決方案: 打開虛擬機設置,點擊進入選項點擊客戶及隔離,然后啟用復制粘貼及文件拖拽。
  • 問題3: $ ./hello_shell.sh 為什么可以執行 命令是什么
  • 問題3解決方案: source命令是bash shell的內置命令。而點命令(即“.”命令)則是source的另一名稱。這兩個命令都以一個腳本為參數,該腳本將作為當前shell的環境執行,即不會啟動一個新的子進程。通常用于重新執行剛修改的初始化文件,使之立即生效,而不必注銷并重新登錄。
  • 問題4:英語的不足
  • 問題4解決方案:雖然我的英語基礎不算太差,但是讓我讀全英的文章和許多的專有名詞還是很吃力,甚至想要自閉,但是也只能見一個查一個,然后記一個了。
  • 問題5:學習過程中有很多很多縮寫,比較難以記憶,尤其是最近在學計算機三級,縮寫以及專有名詞更多了.
  • 問題5解決方案:將其展開后,查詢意思來記憶,就輕松了不少。

轉載于:https://www.cnblogs.com/hp12138/p/11483087.html

總結

以上是生活随笔為你收集整理的预备作业:课程基础的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。