原创 Linux:文件編程學習中遇到的問題

1、爲什麼用戶程序不能直接訪問系統內核提供的服務呢? 由於在Linux中,爲了更好地保護內核空間,將程序的運行空間分爲內核空間和用戶空間(也就是常稱的內核態和用戶態),它們分別運行在不同的級別上,在邏輯上是相互隔離的。 因此,用戶進程

原创 項目:停車場

停車場項目需求 問題描述:停車場是一個能放 n 輛車的狹長通道,只有一個大門,汽車按到達的先後次序停放。若車場滿了,車要停在門           外的便道上等候,一旦有車走,則便道上第一輛車進入。當停車場中的車離開時,由於通道窄,在

原创 項目:通訊錄(C語言的實現)

格式: 編號         姓 名        住址               電話                    住宅電話           201701       ***            xxxx      

原创 C++:C到C++的過渡

C++對C的加強 1.命名空間 爲了解決合作開發時的命名衝突問題,C++ 引入了命名空間(Namespace)的概念。   命名空間將全局作用域分成不同的部分 不同命名空間中的標識符可以同名而不會發生衝突 命名空間可以相互嵌套 全局作

原创 C語言:近期學習整理

1、sizeof和strlen有哪些區別? 區別如下: (1)sizeof是操作符,strlen是函數。 (2)sizeof操作符的結果類型是size_t,它在頭文件中typedef爲unsignedint類型,該類型保證能容納實現所建

原创 排序【2】之冒泡排序的C語言實現

在這段日子整理了一下排序的幾種方法。冒泡是運用最多的一種。基本上冒泡排序就可以解決問題,所以熟練的掌握它很有必要。 冒泡排序  對於給定的n個記錄,從第一個記錄開始依次對相鄰的兩個記錄進行比較,當前面的記錄大於後面的記錄時,交換其位置

原创 Linux:進程控制編程

進程控制編程 1.進程控制理論基礎 進程:一個具有一定獨立功能的程序的一次運行活動,同時也是資源分配的最小單元。 進程的生命週期:創建、運行、撤銷。 進程的狀態:執行狀態、就緒狀態、等待狀態。 Linux多進程系統擁有並行性

原创 Linux:多線程編程

1. 線程的基本概念 線程: 在一個程序中的多個執行路線就叫做線程(thread)。更準確的說,線程是一個進程內部的一個控制序列。 爲了理解線程,先回顧一下進程的概念: 進程包括程序映像、地址空間等要素。內核使用PCB來管理進程。進程是

原创 排序【3】之希爾排序的C語言實現

希爾排序也稱爲“縮小增量排序”,基本原理是:首先將待排序的元素分爲多個子序列,使得每個子序的元素個數相對較少,對各個子序分別進行直接插入排序,待整個待排序序列“基本有序後”,再對所有元素進行一次直接插入排序。 具體步驟如下:

原创 Linux:網絡編程

1. TCP/IP理論基礎 TCP/IP協議族是一個四層協議系統,分別是應用層、傳輸層、網絡層、網絡接口。每一層完成不同的功能,且通過若干協議來實現,上層協議使用下層協議提供的服務。 應用層 TFTP、FTP、Telnet、DNS 傳

原创 項目:通訊錄(I/O文件版)

編號 姓 名 住址 電話 住宅電話 201701 ** xxxx 183****5668 ** 要求:使用結構體形式對數據存儲 功能:使用鏈表實現增加(在增加人員的過程中有一個自動排序功能,比如按姓名排序)、刪除、

原创 C++:類和對象(一)

一、面向對象編程介紹 面向將系統看成通過交互作用來完成特定功能的對象的集合。 每個對象用自己的方法來管理數據。也就是說只有對象內部的代碼能夠操作對象內部的數據。 優點: 由活字印刷談面向對象 面向對象的好處 設計模式簡介 特點:

原创 排序【1】之堆排序的C語言實現

堆排序 堆 堆是數據結構裏的堆,而不是內存模型中的堆。堆可以看做一棵樹。 堆中任意結點的值總是不大於(不小於)其子節點的值。 堆分爲最小堆(小跟堆)和最大堆(大根堆)。     最大堆      最小堆 堆排序的步驟 1.

原创 項目:聊天室(Tcp Select架構)(鏈表)—— 服務器

頭文件: #ifndef _CHATROOM1_H_ #define _CHATROOM1_H_ //************庫函數 #include <stdio.h> #include <stdlib.h> #inclu

原创 C語言:用棧實現四則運算

要注意對情況的分類。#include <stdio.h> #include <stdlib.h> #define OK 10000001