欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)(五篇范例)

      時間:2019-05-12 07:17:18下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關的《《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)》。

      第一篇:《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)

      實驗 一 線性表的基本操作實現(xiàn)及其應用

      一、實驗目的

      1、熟練掌握線性表的基本操作在兩種存儲結構上的實現(xiàn),其中以熟悉各種鏈表的操作為重點。

      2、鞏固高級語言程序設計方法與技術,會用線性鏈表解決簡單的實際問題。

      二、實驗內(nèi)容

      1、單鏈表的表示與操作實現(xiàn)(*)

      2、約瑟夫環(huán)問題

      3、Dr.Kong的藝術品

      三、實驗要求

      1、按照數(shù)據(jù)結構實驗任務書,提前做好實驗預習與準備工作。

      2、加“*”題目必做,其他題目任選;多選者并且保質(zhì)保量完成適當加分。

      3、嚴格按照數(shù)據(jù)結構實驗報告模板和規(guī)范,及時完成實驗報告。

      四、實驗步驟

      (說明:依據(jù)實驗內(nèi)容分別說明實驗程序中用到的數(shù)據(jù)類型的定義、主程序的流程以及每個操作(成員函數(shù))的偽碼算法、函數(shù)實現(xiàn)、程序編碼、調(diào)試與分析、總結、附流程圖與主要代碼)

      ㈠、數(shù)據(jù)結構與核心算法的設計描述

      (程序中每個模塊或函數(shù)應加注釋,說明函數(shù)功能、入口及出口參數(shù))

      1、單鏈表的結點類型定義

      /* 定義DataType為int類型 */ typedef int DataType;

      /* 單鏈表的結點類型 */ typedef struct LNode { DataType data;struct LNode *next;}LNode,*LinkedList;

      2、初始化單鏈表

      LinkedList LinkedListInit(){ // 每個模塊或函數(shù)應加注釋,說明函數(shù)功能、入口及出口參數(shù) }

      3、清空單鏈表

      void LinkedListClear(LinkedList L){// 每個模塊或函數(shù)應加注釋,說明函數(shù)功能、入口及出口參數(shù)}

      4、檢查單鏈表是否為空

      int LinkedListEmpty(LinkedList L){ ….}

      5、遍歷單鏈表 void LinkedListTraverse(LinkedList L){ ….}

      6、求單鏈表的長度

      int LinkedListLength(LinkedList L){ ….}

      7、從單鏈表表中查找元素

      LinkedList LinkedListGet(LinkedList L,int i){ //L是帶頭結點的鏈表的頭指針,返回第 i 個元素 }

      8、從單鏈表表中查找與給定元素值相同的元素在鏈表中的位置

      LinkedList LinkedListLocate(LinkedList L, DataType x){ …… }

      9、向單鏈表中插入元素

      void LinkedListInsert(LinkedList L,int i,DataType x){ // L 為帶頭結點的單鏈表的頭指針,本算法 // 在鏈表中第i 個結點之前插入新的元素 x }

      10、從單鏈表中刪除元素

      void LinkedListDel(LinkedList L,DataType x){ // 刪除以 L 為頭指針的單鏈表中第 i 個結點 }

      11、用尾插法建立單鏈表

      LinkedList LinkedListCreat(){ …… } ㈡、函數(shù)調(diào)用及主函數(shù)設計

      (可用函數(shù)的調(diào)用關系圖說明)㈢ 程序調(diào)試及運行結果分析 ㈣ 實驗總結

      五、主要算法流程圖及程序清單

      1、主要算法流程圖:

      2、程序清單

      (程序過長,可附主要部分)

      說明:以后每次實驗報告均按此格式書寫。

      我在布置實驗室時,僅給出實驗名稱、實驗目的、實驗內(nèi)容及相關數(shù)據(jù)結構。

      題目一程序參考框架 # include # include # include # include # include /* 定義ElemType為int類型 */ typedef int ElemType;#define TRUE 1 #define FALSE 0 #define NULL 0 #define flag-1

      /* 單鏈表的結點類型 */ typedef struct LNode {ElemType data;struct LNode *next;} LNode,*LinkedList;

      /* 初始化單鏈表 */ LinkedList LinkedListInit(){ } /* 清空單鏈表 */ void LinkedListClear(LinkedList L){ } /* 檢查單鏈表是否為空 */ int LinkedListEmpty(LinkedList L){ } /* 遍歷單鏈表 */ void LinkedListTraverse(LinkedList L){ } int LinkedListLength(LinkedList L){ } LinkedList LinkedListGet(LinkedList L, int i){ } LinkedList LinkedListLocate(LinkedList L, ElemType x){ }

      void LinkedListInsert(LinkedList L, int i, ElemType x){LinkedList pre,p,s;int j;pre=L;j=1;p=L->next;while(pre&&jnext;j++;} if(pre==NULL){printf(“給的i值超過了表長”);exit(0);} s=(LNode *)malloc(sizeof(LNode));s->data=x;pre->next=s;s->next=p;}

      void LinkedListDel(LinkedList L,ElemType x){ LinkedList pre,p;int j;pre=L;j=1;p=L->next;while(p&&p->data!=x){pre=p;p=p->next;j++;} if(p==NULL){printf(“表中沒有值為x的結點”);exit(0);} pre->next=p->next;free(p);}

      LinkedList LinkedListCreat(){ LinkedList L=LinkedListInit(),p,r;ElemType x;r=L;printf(“please input data,input-1 is endn”);scanf(“%d”,&x);while(x!=flag){p=(LinkedList)malloc(sizeof(LNode));p->data=x;r->next=p;r=p;scanf(“%d”,&x);} r->next=NULL;return L;}

      int scan(){int d;printf(“please input the operationn”);printf(“1.初始化 2.清空3.求鏈表長度4.檢查鏈表是否為空n”);printf(“5.檢查鏈表是否為滿 6.遍歷鏈表 7.從鏈表中查找元素n”);printf(“8.從鏈表中查找與給定元素值相同的元素在順序表中的位置n”);printf(“9.向鏈表中插入元素10.從鏈表中刪除元素n”);printf(“其他鍵退出。。。n”);scanf(“%d”,&d);return(d);}

      main(){int quit=0;int i;ElemType e;LinkedList L;while(!quit)switch(scan()){case 1: ….;break;case 2: ….;break;case 3: ….;break;case 4: ….;break;case 5:LinkedListTraverse(L);break;case 6: ….;break;case 7: ….;break;case 8: ….;break;case 9: ….;break;case 10: ….;break;default: quit=1;} return 0;}

      第二篇:數(shù)據(jù)結構--實驗報告 線性表的基本操作

      }(一)單鏈表的基本操作

      #include using namespace std;#define true 1 #define false 0 #define ok 1 #define error 0 #define overflow-2 typedef int Status;typedef int ElemType;typedef struct LNode //存儲結構 { ElemType data;struct LNode *next;}LNode,*LinkList;void CreateList(LinkList &L,int n)//尾插法創(chuàng)建單鏈表 { LinkList p;L=new LNode;L->next=NULL;//建立一個帶頭結點的單鏈表

      LinkList q=L;//使q指向表尾

      } Status GetElem(LinkList L,int i,ElemType &e)//取第i個元素 { LinkList p=L->next;int j=1;while(p&&jnext;++j;} for(int i=1;i<=n;i++){ p=new LNode;

      cin>>p->data;p->next=NULL;q->next=p;q=p;} if(!p||j>i)return error;//第i個元素不存在

      e=p->data;return ok;} Status LinkInsert(LinkList &L,int i,ElemType e)//插入 { LinkList p=L;int j=0;while(p&&jnext;++j;} //尋找第i-1個結點 if(!p||j>i-1)return error;//i小于1或者大于表長加1 LinkList s=new LNode;//生成新結點

      s->data=e;s->next=p->next;//插入L中

      p->next=s;return ok;}

      Status ListDelete(LinkList &L,int i,ElemType &e)// 刪除 { LinkList p=L;LinkList q;int j=0;while(p->next&&j

      p=p->next;++j;} if(!(p->next)||j>i-1)return error;//刪除位置不合理

      q=p->next;p->next=q->next;//刪除并釋放結點

      e=q->data;delete(q);return ok;

      } void MergeList(LinkList &La,LinkList &Lb,LinkList &Lc){ //合并兩個順序鏈表

      LinkList pa,pc,pb;pa=La->next;pb=Lb->next;Lc=pc=La;while(pa&&pb){ if(pa->data<=pb->data)

      { pc->next=pa;

      pc=pa;pa=pa->next;} else

      { pc->next=pb;

      pc=pb;

      pb=pb->next;} } pc->next=pa?pa:pb;delete(Lb);} void show(LinkList L)//{ LinkList p;p=L->next;while(p){ cout<

      data<<“-->”;p=p->next;} cout<next;while(p){ ++i;

      顯示 表長 3

      p=p->next;} return i;} void xiugai(LinkList L)//修改 { int i,j=1;ElemType k;ElemType e,m;LinkList p=L->next;cout<<“請輸入要修改的元素位置(0>i;GetElem(L,i,e);cout<<“該位置的元素:”<>k;while(p&&jnext;++j;} m=p->data;p->data=k;cout<<“修改后的單鏈表顯示如下:”<>a;cout<<“請輸入第一個有序鏈表的元素共(”<>b;cout<<“請輸入第二個有序鏈表的元素共(”<>select;switch(select){ case 1:cout<<“請輸入單鏈表的長度:”<

      cin>>x;

      cout<<“請輸入”<

      CreateList(list,x);break;case 2: cout<<“單鏈表顯示如下:”<

      show(list);break;case 3: int s;cout<<“單鏈表的長度為:”<>x;while(x<0||x>Length(list,s)){ cout<<“輸入有誤,請重新輸入”<>x;} GetElem(list,x,y);cout<<“該位置的元素為:”<>x;while(x<0||x>Length(list,s)){ cout<<“輸入有誤,請重新輸入”<>x;} cout<<“要插入的元素值:”;cin>>y;LinkInsert(list,x,y);cout<<“插入后單鏈表顯示如下:”<>x;while(x<0||x>Length(list,s)){ cout<<“輸入有誤,請重新輸入”<>x;} cout<<“要刪除的元素值:”<

      ListDelete(list,x,y);

      } break;case 8: hebing();break;case 9: exit(0);break;default : cout<<“輸入有誤,請重新輸入”<

      四、測試結果 1)順序表 的測試結果

      8 2)單鏈表的測試結果

      五、心得體會

      當聽到老師說寫數(shù)據(jù)結構實驗報告時,我有點驚訝,才學了不到一個月,就要寫實驗報告。記得去年學習C++時,學了一個學期,程序設計用了三周,才完成的,這個實驗報告居然要一周完成兩個設計,覺得很難。但是現(xiàn)在一周過去了,我也寫完了,自我感覺良好。

      通過這次寫實驗報告,我深切的理解了這門課的本質(zhì)。剛開始學這門課時,當時還不清楚這門課程的目的,現(xiàn)在,我真正的理解了:數(shù)據(jù)結構像是身體的骨骼,而C++是填充這骨骼的肉體,二者相結合才能使整個程序更加完整,健全。數(shù)據(jù)結構是個框架,模型,抽象數(shù)據(jù)類型中列舉了各種操作,而所用的C++語言,將各種操作描述出來構成算法。數(shù)據(jù)結構+算法=程序設計。

      在這次設計的過程中,我還遇到了,很多的問題。順序表是按順序存儲的,用了一維數(shù)組來存儲,又結合C++的程序設計,我又用了類,但是,在執(zhí)行時出現(xiàn)了問題。后來問同學,指出我的錯誤,不過獲益不少。我又重新整理思路,把順序表的基本操作寫好了。雖然走了很多彎路,但是讓我認識到,一定要創(chuàng)新,大膽,不能按照舊的思路去干新的事情。

      單鏈表寫起來簡單多了,這個很快就搞定了。但是細節(jié)上出了問題。比如說,有些變量的重復定義,有些變量又沒有定義,在調(diào)用函數(shù),就直接復制過來,沒有改參數(shù)……通過修改,我深刻理解到:細節(jié)決定成敗,在以后,不管做任何事情都要認真,細心。

      這次的實驗報告,讓我受益匪淺,不僅有知識方面的,還有生活和精神上的??傊視^續(xù)我的興趣編程,相信在編程的過程中,能不斷的提高自己。

      第三篇:嵌入式linux基本操作實驗一的實驗報告

      實驗一linux基本操作實驗的實驗報告

      一實驗目的

      1、熟悉嵌入式開發(fā)平臺部件,了解宿主機/目標機開發(fā)模式;

      2、熟悉和掌握常用Linux的命令和工具。

      二實驗步驟

      1、連接主機和目標板;(三根線,網(wǎng)線直接連接實驗箱和PC機,實驗箱UART2連接主機的UART口)。

      2、Linux命令的熟悉與操作

      PC端:在PC機的桌面上打開虛擬機,并啟動Linux系統(tǒng),打開命令終端,操作Linux基本命令,如:查看:ls,進入目錄:cd,創(chuàng)建文件:mkdir,刪除文件:rmdir,配置網(wǎng)絡:ifconfig,掛載:mount,設置權限:chmod,編輯器:vi,拷貝:cp等命令,要求能熟練操作。

      使用方法: 1.查看:ls Ls列出文件和目錄

      Ls–a

      顯示隱藏文件

      Ls–l

      顯示長列格式ls–al 其中:藍:目錄;綠:可執(zhí)行文件;紅:壓縮文件;淺藍:鏈接文件;灰:其他文件;紅底白字:錯誤的鏈接文件

      2.進入目錄:cd 改變當前目錄:cd 目錄名(進入用戶home目錄:cd ~;進入上一級目錄:cd-)3.創(chuàng)建文件:mkdir 建立文件/目錄:touch 文件名/mkdir目錄名 4.刪除文件:rmdir 刪除空目錄:rmdir目錄名 5.配置網(wǎng)絡:ifconfig 網(wǎng)絡確定目錄 '/ mnt/hda2' 已經(jīng)存在

      umount /dev/hda2 卸載一個叫做hda2的盤使用 “+” 設置權限,使用 “-” 用于取消 ls-lh顯示權限

      ls /tmp | pr-T5-W$COLUMNS 將終端劃分成5欄顯示

      chmodugo+rwx directory1 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r)、寫(w)和執(zhí)行(x)的權限

      chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執(zhí)行權限 chown user1 file1 改變一個文件的所有人屬性

      chown-R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性

      chgrp group1 file1 改變文件的群組

      chown user1:group1 file1 改變一個文件的所有人和群組屬性 find /-perm-u+s羅列一個系統(tǒng)中所有使用了SUID控制的文件

      chmodu+s /bin/file1 設置一個二進制文件的 SUID 位類似SUID,不過這是針對目錄的

      chmod g-s /home/public 禁用一個目錄的 SGID 位

      chmodo+t /home/public 設置一個文件的 STIKY 位-只允許合法所有人刪除文件

      chmod o-t /home/public 禁用一個目錄的 STIKY 位 8.編輯器:vi vi開發(fā)步驟:

      a)vi hell.sql(文件名)b)按i

      [進入插入模式] c)按 esc

      [進入命令模式] d)輸入qw

      [表示退出保存] e)輸入 q![表示退出不保存] f)輸入ls/ls–l

      [查看] g)gcc-o my1 hello.sql [-o my1 代表輸出按my1 名] w表示與入的意思,也就將目前的文件內(nèi)容加以保存, q表示退出的意思,也是vi的執(zhí)行 q!強制離開,并且不保存文件

      wq將修改過得內(nèi)容保存,并離開vi set nu 在文件中每行加入行號 ser noun 取消行號

      輸入數(shù)字若輸入數(shù)字再按ESC建就可將光標移至改行

      /字符串在很長的文件在可以利用”/字符串”的命令來查找特定字 例如“tcp”如果不是所需要的可以按N繼續(xù)往下查找

      ?字符串可以利用”?字符串”的命令查找特定字

      例如”:/tcp”如果不是所需要的可以按N繼續(xù)往下查找 9.拷貝:cp等命令

      cp–r dir1 dir2 遞歸復制命令(復制子目錄信息)具體操作:打開虛擬機,隨意選擇一個linux版本,打開命令終端。輸入以上命令,觀察結果,熟悉指令操作。

      圖2-1指令熟悉截圖

      3、打開PC桌面的超級終端,開啟實驗箱電源,觀察嵌入式開發(fā)平臺的啟動過程的打印信息,等待嵌入式平臺的操作系統(tǒng)啟動后,在超級終端輸入步驟2的相關命令。

      4、下面所有的操作必須以命令形式。

      1)在虛擬機中安裝的Linux系統(tǒng)上建立以自己學號命名的文件夾,用vi命令新建以學號命名的文件,熟悉如何編輯源程序代碼,隨意輸入代碼并保存退出。

      圖2-2編輯源程序代碼截圖

      圖2-3建立文件夾截圖

      2)從PC機中復制一個嵌入式平臺的可執(zhí)行文件到該文件夾下(也可以用

      vi命令新建一個C語言的文件,之后用arm-linux-gccxxx.c–o xtu得到嵌入式平臺可以運行的xtu文件),并修改其名稱為xtu。

      圖2-4建立xtu文件截圖

      3把xtu文件通過cp命令復制到/tftpboot目錄下,設置好開發(fā)板的ip。

      圖2-5 Ip設置截圖

      設置好PC中Linux的ip,在嵌入式平臺通過串口輸入tftp命令從PC上的

      Linux下載xtu文件到嵌入式開發(fā)實驗箱平臺中,在嵌入式平臺上用chmod 777 xtu更改文件權限為可執(zhí)行權限,運行xtu程序,并查看運行結果。

      圖2-6 下載文件截圖

      圖2-7下載文件截圖

      三實驗思考

      1、比較Linux命令與DOS命令的異同。

      Linux是免費的系統(tǒng),與windows相比具有可靠、穩(wěn)定、速度快等優(yōu)點,且擁有豐富的根據(jù)Linux版本改進的強大功能。啟動: 作為操作系統(tǒng)本身,Linux在啟動和退出時所作的工作要比DOS多得多,可以通過按下Ctrl+Alt+Del三鍵進行熱啟動。不同的是Linux啟動到最后時,需要進行登錄。下面是一個典型的登錄過程:

      ??RedHat Linux release 5.1

      Kernel 2.0.32 on an i686

      login: 你鍵入:root后,計算機顯示輸口令(password,輸入你的口令(如果是第一次啟動,則是你在安裝時所輸入的口令)即可。當計算機出現(xiàn)一個“?!碧崾痉麜r,表明你登錄成功!

      [root@localhost root]#_ 常用命令:

      2、注意理解宿主機/目標機開發(fā)模式,PC機是宿主機,嵌入式平臺是目標機,未來的開發(fā)工作是在PC機中開發(fā),目標機中運行并驗證。

      交叉開發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應用軟件的環(huán)境,它與運行嵌入式應用軟件的環(huán)境有所不同,通常采用宿主機/目標機模式。宿主機(host)一般采用一臺通用計算機(如PC機或者工作站),它通過串口(Serial)或者以太網(wǎng)(Ethernet)接口與目標機通信。宿主機的軟硬件資源比較豐富,不但包括功能強大的操作系統(tǒng)(如 Windows 和 Linux),而且還有各種各樣優(yōu)秀的開發(fā)工具(如WindRiver的Tornado、Microsoft的Embedded Visual C++等),能夠大大

      提高嵌入式應用軟件的開發(fā)速度和效率。目標機(target)一般在嵌入式應用軟件的開發(fā)和調(diào)試期間使用,用來區(qū)別與嵌入式系統(tǒng)通信的宿主機。目標機可以是嵌入式應用軟件的實際運行環(huán)境,也可以是能夠替代實際運行環(huán)境的仿真系統(tǒng),但軟硬件資源通常都比較有限。嵌入式系統(tǒng)的交叉開發(fā)環(huán)境一般包括交叉編譯器、交叉調(diào)試器和系統(tǒng)仿真器(Emulator),其中交叉編譯器用于在宿主機上生成能在目標機上運行的代碼,而交叉調(diào)試器和系統(tǒng)仿真器則用于在宿主機與目標機間完成嵌入式軟件的調(diào)試。

      四實驗心得

      通過本次實驗了解了linux的基本命令,如:ls,cd,mkdir,rmdir,ifconfig,mount,chmod,vi,cp等等,特別是ls,cd,vi等命令比較重要,在以后的實驗中會經(jīng)常用到。熟悉了嵌入式開發(fā)平臺部件,了解宿主機/目標機開發(fā)模式。

      在嵌入式試驗中使用linux系統(tǒng)是第一次用,一開始對linux系統(tǒng)的命令以和工具的操作都很陌生,只會部分命令的操作,操作起來非常慢。在實驗中一個整體的流程也不是很熟悉,過程中遇到的很多小問題都不會解決。浪費了很多時間在實驗操作上,同時實驗室的機器有部分的壞的,導致做到后邊無法繼續(xù)完成,只能換機器。但是最后在助教和同學的幫助下,我還是完成了這個實驗。在這個過程中,我覺得個人的態(tài)度很重要,不管我們以前有沒有接觸過這個知識,我們都應該抱著一顆積極的心去了解它、學習它,不能因為它陌生就排斥。并且在做實驗時,不管遇到什么問題以及困難,我們都應該要有耐心,心平氣和的去請教別人,直到搞懂所有問題。尤其做到后邊遇到問題不要心急,把整個流程一步步的搞懂,再操作起來就會容易些。

      第四篇:數(shù)據(jù)結構_實驗2_順序表的基本操作(推薦)

      實 驗 報 告

      實驗課程

      數(shù)據(jù)結構

      實驗項目

      實驗

      二、順序表的基本操作

      實驗地點

      指導教師

      學生姓名

      教師評分

      浙江傳媒學院實驗報告

      一、實驗目的

      1、掌握線性表的順序存儲結構;

      2、掌握順序表及其基本操作的實現(xiàn);

      3、掌握數(shù)據(jù)結構及算法的程序?qū)崿F(xiàn)的基本方法。

      二、實驗設備

      1.安裝有WinXP的PC一臺;

      2.安裝有軟件VC6或者Visual Studio2005。

      三、實驗內(nèi)容

      1、建立含有若干個元素的順序表;

      2、對已建立的順序表實現(xiàn)插入、刪除、查找等基本操作;

      3、對兩個順序表進行合并操作。

      四、實驗步驟

      1.根據(jù)下面的表格,定義一個表示數(shù)據(jù)元素的結構體。

      2.根據(jù)教材的內(nèi)容,定義順序表的結構體。

      3.根據(jù)教材的內(nèi)容,編寫代碼,實現(xiàn)順序表的下列函數(shù)。

      浙江傳媒學院實驗報告

      4.定義數(shù)據(jù)元素輸入函數(shù)如下。請完善代碼。

      5.定義順序表的創(chuàng)建函數(shù)如下,請完善代碼。

      6.定義數(shù)據(jù)元素的輸出函數(shù)如下,請完善代碼。

      7.定義main函數(shù),要求完成如下功能。

      A.定義三個順序表分別為list1, list2,list3; B.初始化兩個順序表list1和list2;C.輸入順序表list1;

      浙江傳媒學院實驗報告

      D.輸入list2;E.合并list1和list2到list3中; F.刪除list3中的

      第五篇:實驗一 Linux的基本操作 -

      實驗一 Linux的基本操作

      姓名: 江振明

      學號:2010142016

      時間:2013-04-13 地點:工西4樓

      目的: 1熟悉Linux 基本命令與文件目錄系統(tǒng)全屏幕編輯器的使用 Shell 腳本編程實驗

      4.Makefile

      設備:PC機,虛擬機Linux系統(tǒng), 一個U盤 實驗內(nèi)容:

      一.完成下列操作,并將執(zhí)行過程和運行結果附上。

      1)建立目錄

      /home/學號

      實驗結果:已在/home 目錄下新建了目錄/2010142016-2010142007。

      2)將/arm2410cl/exp/basic/01_hello的目錄及目錄下的內(nèi)容,拷貝到 /home/學號 下面

      3)查看拷貝到/home/學號下的文件的屬性

      4)更改文件名,將文件hello.c 的名字改為 helloworld.c.5)在/mnt下建立目錄usb

      6)將u盤掛載到/mnt/usb, 察看u盤內(nèi)容。(具體步驟如下,需要進行適當?shù)匦薷模?fdisk –l

      ;察看u盤的設備名

      #mount /dev/XXXX

      /mnt/usb

      (說明xxx,為u盤的設備名,根據(jù)fdisk-l顯示的內(nèi)容填寫)

      # ls /mnt/usb

      7)將u盤的某個文件復制到/home/學號

      8)給虛擬機pc-linux系統(tǒng)設置網(wǎng)絡地址192.168.1.2,察看網(wǎng)絡地址

      先查看pc-linux系統(tǒng)的網(wǎng)絡地址:為192.168.199.129

      然后更改設置pc-linux系統(tǒng)設置網(wǎng)絡地址192.168.1.2,再次查看:已設置成功。

      9)給pc-win機設置網(wǎng)絡地址192.168.1.10,察看網(wǎng)絡地址

      設置pc-win機的網(wǎng)絡地址為:192.168.1.10。

      10)查看網(wǎng)絡是否通暢,再虛擬機上與 pc-win通信。

      網(wǎng)絡通暢。

      11)在pc-win與虛擬機pc-linux通信。

      pc-win與虛擬機pc-linux通信成功。

      12)進入/home/學號/01_hello目錄下

      13)查看 hello.c 文件的內(nèi)容。

      在第4)步時已經(jīng)把hello.c改為helloworld.c,故這里是查看helloworld.c的內(nèi)容。

      14)將/home/學號/下的文件打包并壓縮

      15)將/arm2410cl/gui/tools/arm-linux-gcc-3.4.1.tar.bz2解壓到目錄/opt 下面。

      二.練習(vi)vim的命令, 分別指出每個命令處于何種模式下。

      (1)進入”/home/學號”目錄 # cd /home/學號

      (2)將文件 “/etc/inittab” 復制到目錄 “/home/學號”目錄下

      # cp /etc/inittab./ 先用?cd?命令移到/home/2010142016-2010142007 目錄下,執(zhí)行cp /etc/inittab./ 成功把文件“/etc/inittab” 復制到目錄 “/home/2010142016-2010142007“下。

      (3)使用 vi 打開 /home/學號 目錄下的文件

      inittab

      # vi./inittab

      (4)設定行號,指定設定initdefault 的所在行號

      :set nu

      (底行模式)

      (5)將光標移到該行

      (命令行模式)

      (6)復制該行內(nèi)容

      Yy(7)將光標移動到最后一行行首

      G

      (8)粘帖復制行的內(nèi)容

      P

      (9)撤銷第8步的動作

      U

      (10)將光標移動到最后一行的行尾

      $

      (11)粘帖復制行的內(nèi)容

      P

      (12)光標移動到 “ si::sysinit:/etc/rc.d/rc.sysinit”

      21G

      (13)刪除該行

      Dd

      (14)存盤但不退出

      :w(底行模式):

      (15)將光標移動到行首

      1G

      (16)插入模式下輸入 “Hello ,this is Vi world!”

      I 并輸入

      Hello , this is vi world!

      (17)返回命令行模式

      Esc

      (18)向下查找字符串 “0:wait”

      /0:wait

      (19)再向上查找字符串 “halt”

      ?halt

      (20)強制退出Vi,不存盤。

      :q!

      該實驗的最后的結果只對 “/home/學號/inittab” 增加了一行復制的內(nèi)容: “ id:5:initdefault”

      shell 程序的創(chuàng)建與執(zhí)行

      1)創(chuàng)建一個內(nèi)容如下的文件,文件名為datex ,將其存放在/root目錄下

      # program datex # show the date in this way echo “Mr.$USER, Today is :”

      echo ?date?

      echo Whish you a lucky day!

      設置執(zhí)行權限

      # chmod u+x /root/datex # ls –l /root

      執(zhí)行程序 # /root/datex

      使用bash命令執(zhí)行程序

      # bash /root/datex

      (在不設置可執(zhí)行權限時,可以這樣執(zhí)行)

      2).建立一個歡迎界面的shell程序,文件名為welcom,(函數(shù)的使用)#!/bin/bash #filename : welcome first(){ echo “============================================”

      echo “Hello!Everyone!Welcom to the Linux World!”

      echo “============================================” } second(){ echo “*****************************************************” }

      first second second first

      執(zhí)行

      # chmod u+x welcome #./welcome

      四 Makefile 文件的編寫

      1)建立文件。五個文件分別是main.c、display1.h、display1.c、display2.h、display2.c,具體的代碼如下: # vim main.c #include “stdio.h” int main(int argc,char **argv){ display1(“hello”);display2(“hello”);}

      #vim display1.h void display1(char *print_str);

      # vim display2.h void display2(char *print_str);

      # vim display1.c #include “display1.h” void display1(char *print_str){ printf(“This is display1 print %sn”,print_str);}

      #vim display2.c #include “display2.h” void display2(char *print_str){ printf(“This is display2 print %sn”,print_str);}

      (1)如果上述文件在同一個目錄,請編寫Makefile文件。

      #vim Makefile CC=gcc //CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gcc(交叉編譯)all:main.o display1.o display2.o $(CC)main.o display1.o display2.o-o mains main.o:main.c $(CC)-c main.c-o main.o display1.o:display1.c display1.h $(CC)-c display1.c-o display1.o display2.o:display2.c display2.h $(CC)-c display2.c-o display2.o clean: rm *.o mains

      (2)用$@, $< ,$^ 簡化上面的Makefile文件。

      (3)執(zhí)行make

      五. Linux的編程基礎(附加練習:熟悉Linux進程編程控制,看書并閱讀代碼)

      從mystu上下載教科書中的 程序源代碼,在Linux環(huán)境下編譯,并運行它們。要求閱讀代碼,理解執(zhí)行的結果。

      1)請將u盤掛載到 /mnt/usb 下

      2)將u盤上sharedada的內(nèi)容復制到 /home/學號下面

      3)分別編譯下列文件并執(zhí)行

      forkfun.c ,waitpid.c ,pipe_rw.c, fifo_read.c,fifo_write.c,killfun.c,alarm_pause.c,mysignal.c,sigaction.c ,th_example1.c,mutex.c , cond.c ,sema.c,

      下載《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)(五篇范例)word格式文檔
      下載《數(shù)據(jù)結構》 實驗報告(附實例) ---實驗一 線性表的基本操作實現(xiàn)(五篇范例).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發(fā)現(xiàn)有涉嫌版權的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權內(nèi)容。

      相關范文推薦