Time of Update: 2018-07-29
什麼是位元運算 位元運算符按二進位進行運算,這些運算子只能用於整數類型的操作。如:char,short,int,long 通過位元運算符來擷取高位值和低位值 int a=0x1234; int high,low; high = (a>>8) &0x00ff; low = a & 0x00ff; 左移運算子和右移運算子(<<和>>)
Time of Update: 2018-07-29
fopen 函數原型 FILE * fopen(const char *path,cost char *mode) 作用:開啟一個檔案,返回指向該檔案的指標 參數說明:第一個參數為欲開啟檔案的檔案路徑及檔案名稱,第二個參數表示對檔案的開啟檔案 註:mode有以下值: r:唯讀方式開啟,檔案必須存在 r+:可讀寫,必須存在 rb+:開啟二進位檔案,可以讀寫 rt+:開啟文字檔,可讀寫
Time of Update: 2018-07-29
#include<stdio.h>#include<stdlib.h>#define N sizeof(stacknode)//結點所佔位元組數 N//定義結構體typedef int datatype;typedef struct stacknode{datatype data;struct stacknode *next;}stacknode;//定義棧頂typedef struct {stacknode *top;int count;//計數用}linkstack;
Time of Update: 2018-07-29
本文的cl指的是Visual studio 2010中的的C++語言編譯器,g++指的是g++ 4.9編譯器。getline在cl中指的是擷取的一行中沒帶”\n”;而g++中的getline指的是擷取的一行中帶”\n”。下面詳述我為什麼注意到這個問題及測試不同平台的代碼。 1 問題產生 我按照書《C++ Primer》1中11.3.6節中a word transformation map程式時發現運行結果不對,我採用的是g++ 4.9.2編譯器。代碼如下: // A word
Time of Update: 2018-07-29
C++類中各種不同類型成員根據是否static 、是否const類型的初始化方法不盡相同,寫代碼時經常搞亂,網上搜了一下資料,全部總結一下。一、例子 -----------------Test.h----------------------------#pragma onceclass Test{private : int var1;// int var11= 4; 錯誤的初始化方法 const int var2 ;// const int
Time of Update: 2018-07-29
計算三角形面積 時間限制: 1000 ms 記憶體限制: 65536 KB 提交數: 1813 通過數: 622 【題目描述】 平面上有一個三角形,它的三個頂點座標分別為(x1, y1), (x2, y2), (x3, y3),那麼請問這個三角形的面積是多少,精確到小數點後兩位。 【輸入】
Time of Update: 2018-07-29
pthread_exit()函數可以直接線上程函數內部調用結束這個線程。 開始還想初始化一個pthread_t thread_fd[MAX]數組來儲存開啟的線程,然後用一個棧儲存那些未分配的數組元素(thread_fd[index]=0)的index, 伺服器端: #include<stdlib.h> 8 #include<pthread.h> 9 #include<sys/socket.h> 10
Time of Update: 2018-07-29
硬體設計師最常見的工作內容是通過寫代碼來測試硬體。這10個C語言技巧(C語言仍然是常見的選擇)可以協助設計師避免因基礎性錯誤而導致某些缺陷的產生並造成維護方面的困擾。
Time of Update: 2018-07-29
//字串的拷貝 char* Strcpy(char* strDest, const char* strSrc) { if(strDest== NULL || strSrc == NULL) { returnNULL; } if(strDest== strSrc) {
Time of Update: 2018-07-29
C++ Code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Time of Update: 2018-07-29
// 用π/4 ≈ 1 - 1/3 + 1/5 - 1/7 +... 公式求π的近似值,直到發現某一項的絕對值小於10^6為止。#include <stdio.h>#include <math.h>int main(){double sign = 1.0;int i;double sum = 0.0;for(i = 1;fabs(i) < pow( 10,6 ); i = i + 2){sum = sum + sign / i;sign = ( -1 ) *
Time of Update: 2018-07-29
c\c++中比較兩個字串或string對象是否相等 在寫程式的過程中,經常會遇到要比較兩個字串是否相等的情況。如果要比較的對象是char*字串,則利用 int strcmp(const char* s1,const char* s2) 當s1<s2時,返回為負數; 當s1==s2
Time of Update: 2018-07-29
相信很多人都玩過2048,一個簡單又有趣的數字遊戲,曾看到許多人在地鐵上玩來玩去的,感覺挺有意思,便下載個玩了一陣子,不過從來沒有突破“2048”,看到有些小夥伴已經玩到“8192”了,確實令人捉急。後來,突然想自己寫代碼做個2048,於是花了一天時間用C++與QML實現了這個好玩的遊戲。 工程從Qt Creator中建立,是個Qt Quick Application,由C++與QML混合編程完成,編程方法與技巧可參考《Qt QML /
Time of Update: 2018-07-29
Tuple是返回多個參數,C# 4.0引入 最多支援8個參數,第八個參數是Tuple,意思就是參數多於8個就開始嵌套調用了 一個函數返回多個類型,這樣就不在用out , ref等輸出輸入參數了,可以直接定義一個tuple類型就可以了。非常方便。 // // 摘要: // Creates a new 2-tuple, or pair. // // 參數: // item1: //
Time of Update: 2018-07-29
C語言中的ASSERT(斷言)宏是嵌入式軟體開發人員可以使用的最好的調試工具之一。雖然ASSERT功能強大,但我很少看到它被實施,並且在一些使用它的案例中,它的實施要麼是有瑕疵的要麼是不正確的。以下一些技巧將不僅能夠協助闡明在何時、何地使用ASSERT,而且還能闡明如何開始正確使用它。 技巧1:記住ASSERT的定義 對許多開發人員來說,斷言是一個令人困惑的話題,因為它們的許多使用方式與其設計初衷背道而馳。我見到的最清晰的斷言定義是這樣的:
Time of Update: 2018-07-29
// poker.c// day05//// 一個撲克牌產生程式:運行如下:// 請輸入你要的張數:5// 程式輸出:H5、H6、H7、H8、H9(Spade(黑桃)、Club(梅花)、Heart(紅桃)、Diamond(方塊))// 建議:char suit[4] = {'S','D','C','H'}// char rank[13] = {'2','3','4','5','6','7','8','9','T','J','Q','K','A'};// Created by
Time of Update: 2018-07-29
C#讀寫CSV,一般情況下根據分隔字元(最常用的是逗號分隔字元)自動切分 但是特殊情況下,如表中有分隔字元的語句,需要特殊解析 對應的常值內容: using System;using System.Collections.Generic;using System.IO;using System.Text;namespace ReadWriteCsv{ /// <summary> /// Class to
Time of Update: 2018-07-29
迴圈隊列是為了充分利用記憶體,進行資料操作的一種基本演算法。具體實現方式可劃分為:鏈式隊列和靜態隊列,這裡所謂的靜態是指在一片連續的記憶體地區進行資料操作。本文只講述靜態隊列,也是最簡單的實現方式,鏈式隊列以及鏈表的實現內容請參見我的其它博文。以下靜態迴圈隊列簡稱為迴圈隊列。 一、迴圈隊列的特點及要素 <1> 先進先出(FIFO); <2> 首尾元素 front 和 rear 的數值; <3> 隊列操作:
Time of Update: 2018-07-29
#include <iostream> #include <stdio.h> using namespace std; void insort(int s[],int n) { int i,j; for (i=2;i<=n;i++) {
Time of Update: 2018-07-29
1、 聲明外部變數 現代編譯器一般採用按檔案編譯的方式,因此在編譯時間,各個檔案中定義的全域變數是 互相透明的,也就是說,在編譯時間,全域變數的可見域限制在檔案內部。下面舉一個簡單的例子。建立一個工程,裡面含有A.cpp和B.cpp兩個簡單的C++源檔案: //A.cpp int i;