Time of Update: 2017-01-18
C語言中有很多運算子,除了四則運算,還有位元運算、比較運算、邏輯運算、賦值運算等等,令人眼花繚亂的同時,優先順序也讓人頭疼。通常建議在寫代碼的時候不用省略括弧,但是並不是所有程式員都會按照這個規矩來,因此還是有必要記錄一下,以備查閱。總結幾個比較重要的原則: 取成員的“0”目運算子【() . -> []】優先順序最高; 單目運算子高於雙目運算子; 四則運算高於移位元運算; 移位元運算高於比較運算; 比較運算高於位元運算,位元運算高於邏輯運算; 邏輯運算高於賦值運算;
Time of Update: 2017-01-18
引言: C# 2.0 中還引入了可空類型,可空類型也是實值型別,只是可空類型是包括null的實值型別的,下面就介紹下C#2.0中對可空類型的支援具體有哪些內容(最近一直都在思考如何來分享這篇文章的,因為剛開始覺得可空類型使用過程中比較簡單,覺得沒有講的必要,但是考慮到這個系列的完整性,決定還是嘮叨下吧,希望對一些不熟悉的人有協助)。一、為什麼會有可空類型 如果朋友們看了我之前的分享,對於這一部分都不會陌生,因為我一般介紹C#特性經常會以這樣的方式開頭的,
Time of Update: 2017-01-18
最近,由於公司項目中需要將系統內使用者操作的所有日誌進行轉存備份,考慮到以後可能還需要還原,所以最後決定將日誌資料備份到Excel中。 下面是我項目當中Excel.cs這個類的全部代碼,通過這個類可以很容易地將DataTable中的資料匯入到Excel方法中。 首先,必須要下載NPOI.dll這個程式集, 類代碼如下: 複製代碼 代碼如下: using System; using NPOI.HSSF; using NPOI.HPSF; using NPOI.HSSF.UserModel;
Time of Update: 2017-01-18
1.問題:計算n!數學上的計算公式為:n!=n×(n-1)×(n-2)……2×1使用遞迴的方式,可以定義為:以遞迴的方式計算4!F(4)=4×F(3) 遞迴階段F(3)=3×F(2)F(2)=2×F(1)F(1)=1 終止條件F(2)=(2)×(1) 迴歸階段F(3)=(3)×(2)F(4)=(4)×(6)24 遞迴完成以遞迴方式實現階乘函數的實現:int fact(int n) { if(n < 0) return 0
Time of Update: 2017-01-18
C#判斷給定大數是否為質數,目標以快速度得到正確的計算結果。 在看到這道題的時候,第一反應這是一道考程式複雜度的題,其次再是演算法問題。我們先來看看質數的規則:Link:http://en.wikipedia.org/wiki/Prime_numberC#求質數代碼:複製代碼 代碼如下:public bool primeNumber(int n){
Time of Update: 2017-01-18
宏不遵循C++中關於範圍和類型的規則。這經常導致一些微妙的或不那麼微妙的問題。因此,C++提供更適合其他的C++(譯註:原文為the rest of C++,當指C++除了相容C 以外的部分)的替代品,例如內嵌函式、模板與名字空間。考慮一下:#include "someheader.h"struct S { int alpha; int
Time of Update: 2017-01-18
C語言練習題:求1到10的階乘之和簡單一實例#include <stdio.h>int factorial(int n){ if(0==n) return 1; if(1==n) return 1; return n*factorial(n-1);}int main(){ int n=10; int sum=0; int i; for(i=1;i<=n;i++){ int m=factorial(i);
Time of Update: 2017-01-18
通過搜尋找到了問題所在並進行瞭解決,在此詳細記錄以供參考。一、 temp檔案夾大量檔案的刪除以sess開頭的存在於temp系統臨時檔案夾的檔案,是php的session儲存檔案,由於php建立了session卻在到期後沒有成功刪除,於是導致大量檔案的積累。清理方法很簡單,建立批次檔del_temp.bat,其中寫入如下命令:複製代碼 代碼如下:del %TEMP% /s /q
Time of Update: 2017-01-18
理解堆與棧對於理解.NET中的記憶體管理、記憶體回收、錯誤和異常、調試與日誌有很大的協助。記憶體回收的機制使程式員從複雜的記憶體管理中解脫出來,雖然絕大多數的C#程式並不需要程式員手動管理記憶體,但這並不代表程式員就無需瞭解分配的對象是如何被回收的,在一些特殊的場合仍需要程式員手動進行記憶體管理。在32位的處理器上,每個進程的虛擬記憶體為4GB,.NET會在這4GB的記憶體塊中開闢出3塊記憶體,分別作為棧、託管堆、和非託管堆堆(heap):堆是從下往上分配,所以已用的空間在自由空間下面,C#中所
Time of Update: 2017-01-18
本文執行個體為大家分享Winform版計算機的具體實現方法,供大家參考,具體內容如下前台頁面設計後台代碼實現using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace 計算機{
Time of Update: 2017-01-18
今天在做一個連絡人管理的C#設計時,遇到了這個問題,我需要將父表單中的textBox中的值傳到子表單並進行資料庫查詢操作,我用了new 父表單().textBox.text;來進行值傳遞,然而並無卵用,經過多次實驗,找到了一個比較簡單的解決方案:一、子表單調用父表單的靜態變數父表單:Logout子表單:Affirm父表單文字框:tB_Logout_Usernamepublic partial class Logout : Form{ //定義一個靜態變數存放父表單中的文字框的值
Time of Update: 2017-01-18
比如定義了一個錯誤的枚舉類型複製代碼 代碼如下:public enum eErrorDetailCode : int { 登陸成功 = 0,
Time of Update: 2017-01-18
因為公司有多個伺服器,要檢查磁碟的使用方式確定程式放哪個伺服器和清理垃圾,所以寫個小程式幫忙檢查。效果圖:後台代碼:private void btnCheck_Click(object sender, EventArgs e){listBox1.Items.Clear();if (rbtnRemote.Checked){//遠程RemoteDisk();}else{//本地LocalDisk();}}//查看本地private void LocalDisk(){WqlObjectQuery
Time of Update: 2017-01-18
從左至右 A B C 柱 大盤子在下, 小盤子在上, 藉助B柱將所有盤子從A柱移動到C柱, 期間只有一個原則: 大盤子只能在小盤子的下面.如果有3個盤子, 大中小號, 越小的越在上面, 從上面給盤子按順序編號 1(小),2(中),3(大), 後面的原理解析引用這裡的編號.小時候玩過這個遊戲, 基本上玩到第7個,第8個就很沒有耐心玩了,並且操作的動作都幾乎相同覺得無聊. 後來學習編程, 認識到遞迴,
Time of Update: 2017-01-18
問題描述:輸入一個正整數數組,將它們串連起來排成一個數,輸出能排出的所有數字中最小的一個。例如輸入數組{32, 321},則輸出這兩個能排成的最小數字32132。請給出解決問題的演算法,並證明該演算法。 思路:先將整數數組轉為字串數組,然後字串數組進行排序,最後依次輸出字串數組即可。這裡注意的是字串的比較函數需要重新定義,不是比較a和b,而是比較ab與 ba。如果ab < ba,則a <
Time of Update: 2017-01-18
問題描述:把一個數組最開始的若干個元素搬到數組的末尾,我們稱之為數組的旋轉。輸入一個排好序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組{3, 4, 5, 1, 2}為{1, 2, 3, 4, 5}的一個旋轉,該數組的最小值為1。
Time of Update: 2017-01-18
求兩個正整數的最大公約數 思路:這是一個很基本的問題,最常見的就是兩種方法,輾轉相除法和輾轉相減法。通式分別為 f(x, y) = f(y, x%y), f(x, y) = f(y, x - y) (x >=y > 0)。根據通式寫出演算法不難,這裡就不給出了。這裡給出《編程之美》上的演算法,主要是為了減少迭代的次數。 對於x和y,如果y = k * y1, x= k * x1
Time of Update: 2017-01-18
看到這個標題,我們首先想到的是迴圈遍曆其中一個數組,判斷數組中的每個元素是否都在另一個數組中出現了,以此來判斷該數組是不是另一個數組的子集,但是這樣做就太過複雜了,有沒有簡單一點的方法呢?打個比方,有這樣的兩個集合:複製代碼 代碼如下:string[] bigArr = new string[] { "a", "b", "c" };string[] smallArr = new string[] { "a",
Time of Update: 2017-01-18
若一個執行個體方法聲明前帶有virtual關鍵字,那麼這個方法就是虛方法。虛方法與非虛方法的最大不同是,虛方法的實現可以由衍生類別所取代,這種取代是通過方法的重寫實現的(以後再講)虛方法的特點:虛方法前不允許有static,abstract,或override修飾符虛方法不能是私人的,因此不能使用private修飾符虛方法的執行:我們知道一般函數在編譯時間就靜態地編譯到了執行檔案中,其相對位址在程式運行期間是不發生變化的,而虛函數在編譯期間是不被靜態編譯的,它的相對位址是不確定的,它會根據運行時
Time of Update: 2017-01-18
顧名思義,函數指標就是函數的指標。它是一個指標,指向一個函數。看例子:A)char * (*fun1)(char * p1,char * p2);B)char * *fun2(char * p1,char * p2);C)char * fun3(char * p1,char * p2);看看上面三個運算式分別是什麼意思?C)這很容易,fun3是函數名,p1,p2是參數,其類型為char *型,函數的傳回值為char *類型。B)