VC++2008 調試通過// codetest.cpp : Defines the entry point for the console application.//#include "stdafx.h"#includeusing namespace std;class Observer;class Subject{public:virtual void Attach(Observer *o)=0;virtual void Change()=0;virtual char
字串數組:using System;class MyClass{ static void Main() { string[] arr = new string[3] { "aa", "bb", "cc" }; foreach (string s in arr) Console.WriteLine(s); // aa/bb/cc Console.ReadKey(); }}整數數組:using
堆排序包含兩個步驟:第一步: 是建立大頂堆(從大到小排序)或小頂堆(從小到大排序), 從下往上建立; 如建堆時, s是從大到小;第二步: 是依次交換堆頂和堆底, 並把交換後的堆底輸出, 只排列剩餘的堆, 從上往下建立; 如構造時, s始終是1;堆排序(Heap Sort)的時間複雜度是O(nlogn), 最壞情況下也是如此.而快速排序(Quick Sort), 若初始記錄序列有序, 快速排序將退化為起泡排序(Bubble Sort),
鄰接表有向圖的介紹鄰接表有向圖是指通過鄰接表表示的有向圖。上面的圖G2包含了"A,B,C,D,E,F,G"共7個頂點,而且包含了"<A,B>,<B,C>,<B,E>,<B,F>,<C,E>,<D,C>,<E,B>,<E,D>,<F,G>"共9條邊。上圖右邊的矩陣是G2在記憶體中的鄰接表示意圖。每一個頂點都包含一條鏈表,該鏈表記錄了"該頂點所
函數名: gcvt功能: 把浮點數轉換成字串用法: char *gcvt(double value, int ndigit, char *buf);程式例:#include#includeint main(void){char str[25];double num;int sig = 5; /* significant digits *//* a regular number */num = 9.876;gcvt(num, sig, str);printf("string =
main()主函數每一C程式都必須有一main()函數, 可以根據自己的愛好把它放在程式的某個地方。有些程式員把它放在最前面, 而另一些程式員把它放在最後面, 無論放在哪個地方, 以下幾點說明都是適合的。1.main()參數在Turbo C2.0啟動過程中, 傳遞main()函數三個參數: argc, argv和env。* argc: 整數, 為傳給main()的命令列參數個數。* argv: 字串數組。在DOS 3.X 版本中, argv[0] 為程式啟動並執行全路徑名; 對DOS
據預測,市場對語音控制應用裝置的需求將急劇增長,其推動力來自電話機市場。電話機將更多地採用語音命令進行控制。其他應用領域包括玩具和手持功能如計算機、語音控制的安全系統、家用電器及車載裝置(立體聲、視窗、環境控制、車燈和導航控制)。本文從可複用和最佳化晶片空間的角度出發介紹語音辨識晶片結構設計的種種考慮,其思路有利於開發一系列其它語音辨識晶片。新加坡Columns公司在攜帶型語音控制產品應用中起步較早,其中一個產品是執行歐元與其他歐洲貨幣之間進行兌換的“語音控制歐洲貨幣兌換器&rdqu
函數名: sbrk功能: 改變資料區段空間位置用法: char *sbrk(int incr);程式例:#include#includeint main(void){printf("Changing allocation with sbrk()\n");printf("Before sbrk() call: %lu bytes free\n",(unsigned long) coreleft());sbrk(1000);printf("
什麼是結構體?簡單的來說,結構體就是一個可以包含不同資料類型的一個結構,它是一種可以自己定義的資料類型,它的特點和數組主要有兩點不同,首先結構體可以在一個結構中聲明不同的資料類型,第二相同結構的結構體變數是可以相互賦值的,而數組是做不到的,因為數組是單一資料類型的資料集合,它本身不是資料類型(而結構體是),數組名稱是常量指標,所以不可以做為左值進行運算,所以數組之間就不能通過數組名稱相互複製了,即使資料類型和數組大小完全相同。定義結構體使用struct修飾符,例如:struct
函數名: wherex功能: 返回視窗內水平游標位置用法: int wherex(void);程式例:#includeint main(void){clrscr();gotoxy(10,10);cprintf("Current location is X: %d Y: %d\r\n", wherex(), wherey());getch();return 0;}函數名: wherey功能: 返回視窗內垂直游標位置用法: int
學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什麼捷徑,而是以最短的時間取得最多的收穫,同時也意味著你需要經曆艱苦的過程。一、要讀就讀好書,否則不如不讀所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。大名鼎鼎的譚浩強教授出了一本《C語
常見的中文內碼一般有GB2312(簡體中文),GBK和台灣那邊用的BIG5(繁體中文),有時候看一些台灣編程論壇裡的資料,都是亂碼,如果在IE中瀏覽,則要求安裝繁體字型檔的支援。網上也有很多中文內碼的轉換工具,什麼專家,大師,巨匠之類所有光輝燦爛的名字都被使用了,但是在自己的程式中整合這些功能豈不是更好。以前曾廣泛流傳過使用碼錶來轉換中文內碼的Code,但畢竟不完美,而且還要攜帶或內建一個巨大的表,浪費資源。Windows中提供了MultiByteToWideChar和WideCharToMul
1 基本解釋extern可以置於變數或者函數前,以標示變數或者函數的定義在別的檔案中,提示編譯器遇到此變數和函數時在其他模組中尋找其定義。另外,extern也可用來進行連結指定。2 問題:extern 變數在一個源檔案裡定義了一個數組:char a[6];在另外一個檔案裡用下列語句進行了聲明:extern char *a;請問,這樣可以嗎?答案與分析:1)、不可以,程式運行時會告訴你非法訪問。原因在於,指向類型T的指標並不等價於類型T的數組。extern char
一般的盜密碼的軟體的軟體都是通過監視鍵盤來獲得密碼,這樣操作比較方便,但是這樣也存在一定問題,密碼有的時候不是很準確,因為有的人輸入密碼並不是從前到後輸入,當然這樣的人也是少數,盜密碼嘛,當然去得到那些比較粗心的人的密碼! 通過安裝鉤子來監視QQ登陸介面就是獲得密碼的方法,在安裝前得先找到登陸視窗的控制代碼,當鉤子安裝後,記錄鍵盤,當使用者“斷行符號”或是點了“登陸”就可以開始處理密碼了!
二分圖是一個無向圖,它的n個頂點可二分為集合A和集合B,且同一集合中的任意兩個頂點在圖中無邊相連(即任何一條邊都是一個頂點在集合A中,另一個在集合B中)。若且唯若B中的每個頂點至少與A中一個頂點相連時,A的一個子集A' 覆蓋集合B(或簡單地說,A' 是一個覆蓋)。覆蓋A' 的大小即為A' 中的頂點數目。若且唯若A' 是覆蓋B的子集中最小的時,A' 為最小覆蓋。例1-10 考察如圖1 - 6所示的具有1 7個頂點的二分圖,A={1, 2, 3, 16, 17}和B={4, 5, 6, 7, 8,
對於給定的n個元素的數組a[0 : n - 1],要求從中找出第k小的元素。當a[0 : n - 1]被排序時,該元素就是a[k - 1]。假設n=8,每個元素有兩個域k e y和I D,其中k e y是一個整數,I D是一個字元。假設這8個元素為[( 1 2 ,a),( 4 ,b),( 5 ,c),( 4 ,d),( 5 ,e),( 1 0 ,f),( 2 ,g),( 2 0 ,h)], 排序後得到數組[( 2 ,g),( 4 ,d),( 4 ,b),( 5 ,c),( 5 ,e),( 1 0
一、位域有些資訊在儲存時,並不需要佔用一個完整的位元組, 而只需占幾個或一個二進位位。例如在存放一個開關量時,只有0和1 兩種狀態, 用一位二進位即可。為了節省儲存空間,並使處理簡便,C語言又提供了一種資料結構,稱為“位域”或“位段”。所謂“位域”是把一個位元組中的二進位劃分為幾個不同的地區, 並說明每個地區的位元。每個域有一個網域名稱,允許在程式中按網域名稱進行操作。
本文詳細介紹C語言中trim的實現描述自己用ATL寫了個COM,不支援MFC,所以無法用CString,但支援C編碼,遇到字串(字元數組),想去掉字串中的空格,C下沒有TRIM函數,找又沒找到,幾行代碼自己寫吧。往後大家萬一遇到用著也方便。說明1.seps是需要去除的字元數組,可以有幾個字元,也可以一個。這裡是空格,最常用的。2.參數也很簡單,第一個是結果數組指標,第二個是原字元數組指標,第三個是需要去掉的字元數組指標。返回的是結果數組指標。#include
可能大家都知道C語言中的隨機函數random,可是random函數並不是ANSI C標準,所以說,random函數不能在gcc,vc等編譯器下編譯通過。那麼怎麼實現C語言中的隨機函數呢?除了random函數,還有一個rand函數,也是一個隨機函數,可以產生從0到rand_max的隨機數。#include <stdio.h>#include <stdlib.h>int main(){int k;k=rand();printf("%d\n",
現在,有很多C/C++程式員總是自命不凡,看不起其他開發人員。其實,或許別人更看不起他呢!學生時代,我也曾醉心於C/C++,但時至今日,始終無法寫出無懈可擊的C++代碼,所以我始終認為我不會C/C++。這些年,我一直在尋找編寫C++代碼的最佳模式。但是,老實說,我還沒有見到過哪個稱得上高手的C++程式員,也沒有見到過寫得Very