Time of Update: 2015-07-06
標籤:class Program { class Result<T> { public T data; public string Message; public bool Success; public string StackTrace; } struct ExecuteableUnit {
Time of Update: 2015-07-06
標籤:一個簡單c程式分析一個簡單的c程式 main.c 如: 用命令 gcc –S –o main.s main.c -m32編譯成彙編檔案。在彙編檔案中有許多的虛指令並不會形成機器指令,為了使分析簡單我們把大部分去掉:得到如所示: 棧的介紹APUE中指出每一個c程式,都有一個獨立的地址空間,在記憶體中的典型布局如下: 對棧的操作和我們在資料結構中的棧的操作是類似
Time of Update: 2015-07-06
標籤:二叉樹 遍曆 【目標】建立如下所示的一棵二叉樹,並且輸出其對應的前序走訪、中序遍曆、後序遍曆。 【代碼實現】建立二叉樹以及實現遍曆的操作存放在Binarytree.h檔案中//Binarytree.h#ifndef Binarytree_H#define Binarytree_Htemplate<class T> class Binarytree;template<class T>class
Time of Update: 2015-07-06
標籤://在字串中找出第一個只出現一次的字元。如輸入“abaccdeff”,則輸出’b’#include <stdio.h>#include <memory.h>char OneTime(char * str){int data[256];char *p = str;if (*p == '\0')return '\0';memset(data, 0, sizeof(data));while (*p ){data[*p++]++;
Time of Update: 2015-07-06
標籤://輸入一組整數,求出這組數字子序列和中最大值#include <stdio.h>int MAxSum(int arr[],int len){int maxsum = 0;int i;int j;for (i = 0; i < len; i++){int thissum = 0;for (j = i; j < len; j++){thissum += arr[j];if (thissum>maxsum)maxsum = thissum;}}return
Time of Update: 2015-07-06
標籤: 一:內嵌函式函數調用也會帶來降低效率的問題,因為調用函數實際上將程式執行順序轉移到函數所存放在記憶體中某個地址,將函數的程式內容執行完後,再返回到轉去執行該函數前的地方。這種轉移操作要求在轉去前要保護現場並記憶執行的地址,轉回後先要恢複現場,並按原來儲存地址繼續執行。 因此,函數調用要有一定的時間和空間方面的開銷,於是將影響其效率。特別是對於一些函數體代碼不是很大,但又頻繁地被調用的函數來講,解決其效率問題更為重要。引入內嵌函式實際上就是為瞭解決這一問題。 優點:可以加快代碼的執行速度,
Time of Update: 2015-07-06
標籤:1.指標 JAVA語言讓編程者無法找到指標來直接存取記憶體無指標,並且增添了自動的記憶體管理功能,從而有效地防止了c/c++語言中指標操作失誤,如野指標所造成的系統崩潰。但也不是說JAVA沒有指標,虛擬機器內部還是使用了指標,只是外人不得使用而已。這有利於Java程式的安全。 2.多重繼承 c++支援多重繼承,這是c++的一個特徵,它允許多父類派生一個類。儘管多重繼承功能很強,但使用複雜,而且會引起許多麻煩,編譯器實現它也很不容易。Java不支援多重繼承,但允
Time of Update: 2015-07-06
標籤:/* * 16_位元運算.c * * Created on: 2015年7月6日 * Author: zhong */#include <stdio.h>#include <stdlib.h>/* 位元運算: * 所謂的位元運算是指以二進位位為對象的運算。 * c語言中位元運算符有: * & 按位與 * | 按位或 * ^ 按位異或 * ~ 按位取反 * << 左移 * >> 右移 * *除了 ~
Time of Update: 2015-07-06
標籤:對於我們常遇到的比如指標作為變數時候的判空是一個異常的處理情況,這時候我們就會使用assert()或者自己寫出一個提示使用者的異常處理,這時候我們就會使用類似return exit()這類的使這個進程,這個程式整體停止,這樣有時候給程式員的調試帶來很多不變,有時候我們做平常的事情也會希望有應急的預案,確保整體的事情繼續執行下去,所以C++給程式員提供了一種異常處理的機制1.以前的對於異常的處理方式int Dev(int a,int b){assert(b!=0
Time of Update: 2015-07-06
標籤:static_cast reinterpret_cast dynamic_cast const_cast 類型轉換 類型轉換名稱和文法C風格的強制類型轉換(Type Cast)很簡單,不管什麼類型的轉換統統是:TYPE b = (TYPE)a
Time of Update: 2015-07-06
標籤:筆試題#include <iostream>using namespace std;static int gflags = 0;//楊氏矩陣的尋找。int FindVal(int (*a)[8],int x,int y,int val){ int i = 0; int j = y - 1; while (i <= 5 && j >= 0) { if (a[i][j] > val) j-
Time of Update: 2015-07-06
標籤://二維數組中的尋找,楊氏矩陣//在一個二維數組中,每行都按照從左至右的遞增的順序排序。每列都按照從上到下遞增的順序排序。//請完成一個函數,輸入這樣的一個數組和一個數,判斷數組中是否包含這個數。#include <stdio.h>#define Col 4int Yang(int arr[][Col], int val) {int i=0;int j = Col - 1;int tmp = arr[i][j];
Time of Update: 2015-07-06
標籤:// 二維數組中的尋找,楊氏矩陣在一個二維數組中,每行都按照從左至右的遞增的順序排序。// 每列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個數組和一個數,判斷數組中是否包含這個數#include <stdio.h>#define col 4#define rol 4int yang(int(*p)[col], int num){int i = 0;int j = col - 1;while (j+1){int *q = &(p[i][j]);if (
Time of Update: 2015-07-06
標籤:一、基本內容:C語言中的函數可以遞迴調用,即:可以直接(簡單遞迴)或間接(間接遞迴)地自己調自己。要點:1、C語言函數可以遞迴調用。2、可以通過直接或間接兩種方式調用。目前只討論直接遞迴調用。二、遞迴條件採用遞迴方法來解決問題,必須符合以下三個條件:1、可以把要解決的問題轉化為一個新問題,而這個新的問題的解決方案仍與原來的解決方案相同,只是所處理的對象有規律地遞增或遞減。說明:解決問題的方法相同,調用函數的參數每次不同(有規律的遞增或遞減),如果沒有規律也就不能適用遞迴調用。2、可以應用這
Time of Update: 2015-07-06
標籤:1:數組數組是由類型名、標識符和維數組成的複合資料型別,類型名規定了存放在數組中的元素的類型,而維數則指定數組中包含的元素個數。數組定義中的類型名可以是內建資料類型或類類型;除引用之外,數組元素的類型還可以是任意的複合類型。沒有所有元素都是引用的數組。 數組的維數必須用值大於等於 1 的常量運算式定義const int a = 3; //const unsigned sz = get_size() 錯誤,運行時才知道大小的不行//int a = 3;錯誤 int
Time of Update: 2015-07-06
標籤:/* * 15_c語言中的進位操作.c * * Created on: 2015年7月5日 * Author: zhong */#include <stdio.h>#include <stdlib.h>/** * c語言中的進位表示 * 前面加0b表示二進位 * 加0x表示十六進位 * 數字前加0表示八進位 * * printf按進位列印 * %d %i 以十進位列印 * %o 以八進位列印 * %x 以十六進位列印 * * %p 列印變數地址 *
Time of Update: 2015-07-06
標籤:與C++中的建構函式相同,複製建構函式在對象產生過程中同樣進行插入對應的Vtable虛表,但在成員變數賦值時,除具有複製建構函式的成員對象外,編譯器合成複製建構函式其餘均採用”Bitwise copy semantics(位逐次拷貝)”語義實現對象成員的拷貝,無論處於何種語境。測試代碼如下:#include <iostream>#include <string>#include <cstdlib>#include
Time of Update: 2015-07-06
標籤:class Program { static void swap( ref int atemp, ref int btemp)//注意ref的使用 { int temp = atemp; atemp = btemp; btemp = temp; } static void Main(string[] args) { int
Time of Update: 2015-07-06
標籤:c++ 異常處理 異常處理的機制:1.如果沒有異常發生,繼續執行try塊中的代碼,與try塊相關聯 的catch子句被忽略,程式正常執行,main()返回0。2.當第一個try塊在for迴圈中拋出異常,則該for迴圈退出,try塊也退出,去執行pushOnFull異常的catch子句。istack.PrintStack()不再執行,被忽略。3.如果第二個try塊調用Pop()拋出異常,則退出for和try塊,
Time of Update: 2015-07-06
標籤:web匯出Excel用法:在伺服器端讀取資料,在伺服器端把資料以ms-execl的格式,以Response輸出到瀏覽器(用戶端)這裡我們利用了ContentType屬性,如text/html,這時將輸出為超文本,即我們常見的網頁格式到用戶端,如果改為 ms-excel將將輸出excel格式,也就是說以試算表的格式輸出到用戶端,這時瀏覽器將提示你下載儲存。ContentType的屬性還包括:image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword