Time of Update: 2017-01-19
步驟:1.建立html頁面,把以下代碼考進去,運行。 2.把加密的代碼粘進文本域,點擊解密,OK! 核心代碼:複製代碼 代碼如下:<script> a=62; function encode() { var code = document.getElementById('code').value; code = code.replace(/[\r\n]+/g, ''); code = code.replace(/'/g, "\\'"); var tmp = code.match(
Time of Update: 2017-01-19
C#中通過Assembly類可以訪問程式集資訊. 1.允許訪問給定程式集的元元素,包含可以載入和執行程式集的方法; 2.載入程式集:使用靜態方法Assembly.Load(程式集名稱)或Assembly.LoadFrom(程式集完整路徑名); 3.屬性: FullName:程式集顯示名稱; 3.方法: GetTypes():擷取程式集中定義的類型。 TestAssembly.cs: view plaincopy to clipboardprint? using System; using
Time of Update: 2017-01-19
如果不能使用臨時緩衝,你怎麼編碼實現?複製代碼 代碼如下:方法一:不使用額外的儲存空間,直接在原始鏈表上進行操作。首先用一個指標指向鏈表前端節點開始,然後遍曆其後面的節點,將與該指標所指節點資料相同的節點刪除。然後將該指標後移一位,繼續上述操作。直到該指標移到鏈表。void delete_duplicate1(node* head){ node*pPos=head->next;
Time of Update: 2017-01-19
建立鏈表、往鏈表中插入資料、刪除資料等操作,以單鏈表為例。1.使用C語言建立一個鏈表:複製代碼 代碼如下:typedef struct nd{ int data; struct nd* next; } node;//初始化得到一個鏈表前端節點node* init(void){ node* head=(node*)malloc(sizeof(node)); if(head==NULL) return NULL; head->next=NULL; return
Time of Update: 2017-01-19
單一原則: 程式設計時功能模組獨立,功能單一更有助於維護和複用。例如:個人電腦功能很多,如果想從中只拿出一個功能來製造一個新的東西是困難的。同時如果你的電腦開不機,同時你的計算機功能也不能用了。在編程中如果一個類封裝了太多功能和上面的結果是類似的。單一職責原則例1:大家應該能看出來這個類圖中的介面設計是有問題的,使用者的屬性和使用者的行為沒有分開。我們根據使用者的屬性和行為拆開這個介面。重新拆分成兩個介面,IUserBo
Time of Update: 2017-01-19
1.先來介紹它的第一條也是最重要的一條:隱藏。(static函數,static變數均可)當同時編譯多個檔案時,所有未加static首碼的全域變數和函數都具有全域可見度。舉例來說明。同時編譯兩個源檔案,一個是a.c,另一個是main.c。複製代碼 代碼如下://a.cchar a = 'A'; // global
Time of Update: 2017-01-19
STL是C/C++開發中一個非常重要的模板,而其中定義的各種容器也是非常方便我們大家使用。下面,我們就淺談某些常用的容器。這裡我們不涉及容器的基本操作之類,只是要討論一下各個容器其各自的特點。STL中的常用容器包括:順序性容器(vector、deque、list)、關聯容器(map、set)、容器適配器(queue、stac)。1、順序性容器(1)vectorvector是一種動態數組,在記憶體中具有連續的儲存空間,支援快速隨機訪問。由於具有連續的儲存空間,所以在插入和刪除操作方面,效率比較慢。
Time of Update: 2017-01-19
正確的記憶體管理的重要性存在記憶體錯誤的 C 和 C++ 程式會導致各種問題。如果它們泄漏記憶體,則運行速度會逐漸層慢,並最終停止運行;如果覆蓋記憶體,則會變得非常脆弱,很容易受到惡意使用者的攻擊。從 1988 年著名的莫裡斯蠕蟲 攻擊到有關 Flash Player 和其他關鍵的零售級程式的最新安全警報都與緩衝區溢位有關:“大多數電腦安全性漏洞都是緩衝區溢位”,Rodney Bates 在 2004 年寫道。在可以使用 C 或 C++ 的地方,也廣泛支援使用其他許多通用語言(如 Java
Time of Update: 2017-01-19
有些程式並不需要管理它們的動態記憶體的使用。當需要記憶體時,它們簡單地通過分配來獲得,從來不用擔心如何釋放它。這類程式包括編譯器和其他一些運行一段固定的(或有限的)時間然後終止的程式。當這種類型的程式終止時,所有記憶體會被自動回收。細心查驗每塊記憶體是否需要回收純屬浪費時間,因為它們不會再被使用。其他程式的存留時間要長一點。有些工具如日曆管理器、郵件工具以及作業系統本事經常需要數日及至數周連續運行,並需要管理動態記憶體的分配和回收。由於C語言通常並不使用記憶體回收行程(自動確認並回收不再使用的記
Time of Update: 2017-01-19
這些問題或許對不少朋友來說還有點模糊,那麼本文就試著探究它們背後的秘密。首先,至少有一點可以肯定,那就是ANSI C保證結構體中各欄位在記憶體中出現的位置是隨它們的聲明順序依次遞增的,並且第一個欄位的首地址等於整個結構體執行個體的首地址。比如有這樣一個結構體:複製代碼 代碼如下: struct vector{int x,y,z;} s; int *p,*q,*r; struct vector *ps; p = &s.x; q = &s.
Time of Update: 2017-01-19
複製代碼 代碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.Linq; using System.Xml; using System.Xml.Linq; namespace WebApplication3 { public
Time of Update: 2017-01-19
if語句的3種形式1) if(運算式) 語句。例如: if(x>y) cout<<x<<endl;這種if語句的執行過程見下圖。2) if(運算式) 語句1 else 語句2例如: if (x>y) cout<<x; else cout<<y;見圖。3)if(運算式1) 語句1 else if(運算式2) 語句2 else if(運算式3) 語句3 … else if(運算式m) 語句m else 語句n例如:if
Time of Update: 2017-01-19
C++順序結構程式【例】求一元二次方程式ax2+bx+c=0的根。a,b,c的值在運行時由鍵盤輸入,它們的值滿足b2-4ac≥0。根據求x1,x2的演算法。它可以編寫出以下C++程式:#include <iostream>#include <cmath> //由於程式要用到數學函數sqrt,故應包含標頭檔cmathusing namespace std;int main( ){ float a,b,c,x1,x2;
Time of Update: 2017-01-19
在C語言中是用printf函數進行輸出,用scanf函數進行輸入的。C++保留了C語言的這一用法。scanf函數一般格式是: scanf(格式控制, 輸出表列)printf函數的一般格式是 scanf(格式控制, 輸出表列) scanf(格式控制, 輸出表列)【例】用scanf和printf函數進行輸入和輸出。#include <iostream>using namespace std;int main( ){ int a; float b;
Time of Update: 2017-01-19
C++指派陳述式講解C++的指派陳述式具有其他進階語言的指派陳述式的功能。但不同的是,C++中的賦值號“=“是一個運算子,可以寫成 a=b=c=d;而在其他大多數語言中賦值號不是運算子,上面的寫法是不合法的。關於賦值運算式與指派陳述式的概念。在C++中,賦值運算式可以包括在其他運算式之中,例如: if((a=b)>0) cout<<"a>0"<<endl;按文法規定if後面的(
Time of Update: 2017-01-19
一個程式包含一個或多個程式單位(每個程式單位構成一個程式檔案)。每一個程式單位由以下幾個部分組成:預先處理命令。如#include命令和#define命令。聲明部分。例如對資料類型和函數的聲明,以及對變數的定義。函數。包括函數首部和函數體,在函數體中可以包含若干聲明語句和執行語句。如下面是一個完整的C++程式:#include <iostream>//預先處理命令using namespace std; //在函數之外的聲明部分int a=3; //在函數之外的聲明部分int
Time of Update: 2017-01-19
賦值運算子賦值符號“=”就是賦值運算子,它的作用是將一個資料賦給一個變數。如“a=3”的作用是執行一次賦值操作(或稱賦值運算)。把常量3賦給變數a。也可以將一個運算式的值賦給一個變數。賦值過程中的類型轉換如果賦值運算子兩側的類型不一致,但都是數值型或字元型時,在賦值時會自動進行類型轉換。1) 將浮點型資料(包括單、雙精確度)賦給整型變數時,捨棄其小數部分。2) 將整型資料賦給浮點型變數時,數值不變,但以指數形式儲存到變數中。3)
Time of Update: 2017-01-19
C++的運算子十分豐富,使得C++的運算十分靈活方便。例如把賦值號(=)也作為運算子處理,這樣,a=b=c=4就是合法的運算式,這是與其他語言不同的。C++提供了以下運算子:算術運算子+(加) -(減) *(乘) /(除) %(整除求餘) ++(自加) --(自減)關係運算子>(大於) <(小於) ==(等於) >=(大於或等於)
Time of Update: 2017-01-19
在程式運行期間其值可以改變的量稱為變數。一個變數應該有一個名字,並在記憶體中佔據一定的儲存單元,在該儲存單元中存放變數的值。請注意區分變數名和變數值這兩個不同的概念,見圖變數名規則先介紹標識符的概念。和其他進階語言一樣,用來標識變數、符號常量、函數、數組、類型等實體名字的有效字元序列稱為標識符(identifier)。簡單地說,標識符就是一個名字。變數名是標識符的一種,變數的名字必須遵循標識符的命名規則。C++規定標識符只能由字母、數字和底線3種字元組成,且第一個字元必須為字母或底線。下面列出的
Time of Update: 2017-01-19
C++資料類型電腦處理的對象是資料,而資料是以某種特定的形式存在的(例如整數、浮點數、字元等形式)。不同的資料之間往往還存在某些聯絡(例如由若干個整數組成一個整數數組)。資料結構指的是資料的組織形式。例如,數組就是一種資料結構。不同的電腦語言所允許使用的資料結構是不同的。處理同一類問題,如果資料結構不同,演算法也會不同。例如,對10個整數排序和對包含10個元素的整型數組排序的演算法是不同的。C++的資料包括常量與變數,常量與變數都具有類型。由以上這些資料類型還可以構成更複雜的資料結構。例如利用指