Time of Update: 2017-01-18
C語言的函數庫是多組經過驗證的常用函數的集合,編寫C語言程式時使用庫函數,既可以提高程式運行效率,又可以提高編程品質,使用方法如#include
Time of Update: 2017-01-18
1. 左值與右值: C++對於左值和右值沒有標準定義,但是有一個被廣泛認同的說法:可以取地址的,有名字的,非臨時的就是左值;不能取地址的,沒有名字的,臨時的就是右值. 可見立即數,函數返回的值等都是右值;而非匿名對象(包括變數),函數返回的引用,const對象等都是左值.
Time of Update: 2017-01-18
fscanf() 和 fprintf() 函數與前面使用的 scanf() 和 printf() 功能相似,都是格式化讀寫函數,兩者的區別在於 fscanf() 和 fprintf() 的讀寫對象不是鍵盤和顯示器,而是磁碟檔案。這兩個函數的原型為:int fscanf ( FILE *fp, char * format, ... );int fprintf ( FILE *fp, char * format, ... );fp 為檔案指標,format 為格式控制字元串,...
Time of Update: 2017-01-18
在C語言中,讀寫檔案比較靈活,既可以每次讀寫一個字元,也可以讀寫一個字串,甚至是任意位元組的資料(資料區塊)。本節介紹以字元形式讀寫檔案。以字元形式讀寫檔案時,每次可以從檔案中讀取一個字元,或者向檔案中寫入一個字元。主要使用兩個函數:fgetc()和fputc()。字元讀取函數 fgetcfgetc 是 file get char 的縮寫,意思是從指定的檔案中讀取一個字元。它的原型為:int fgetc (FILE *fp);fp 為檔案指標。fgetc()
Time of Update: 2017-01-18
所謂位元運算,就是對一個位元(Bit)位進行操作。在《二進位思想以及資料的儲存》一節中講到,位元(Bit)是一個電子元器件,8個位元構成一個位元組(Byte),它已經是粒度最小的可操作單元了。C語言提供了六種位元運算符: 運算子 & | ^ ~ << >> 說明 按位與 按位或 按位異或 取反 左移 右移
Time of Update: 2017-01-18
有些資料在儲存時並不需要佔用一個完整的位元組,只需要佔用一個或幾個二進位位即可。例如開關只有通電和斷電兩種狀態,用 0 和 1 表示足以,也就是用一個二進位。正是基於這種考慮,C語言又提供了一種叫做位域的資料結構。在結構體定義時,我們可以指定某個成員變數所佔用的二進位位元(Bit),這就是位域。請看下面的例子:struct bs{ unsigned m; unsigned n: 4; unsigned char ch: 6;}:後面的數字用來限定成員變數佔用的位元。成員 m
Time of Update: 2017-01-18
二維數組在概念上是二維的,有行和列,但在記憶體中所有的數組元素都是連續排列的,它們之間沒有“縫隙”。以下面的二維數組 a 為例:int a[3][4] = { {0, 1, 2, 3}, {4, 5, 6, 7}, {8, 9, 10, 11} };從概念上理解,a 的分布像一個矩陣:0 1 2 34 5 6 78 9
Time of Update: 2017-01-18
數組(Array)是一系列具有相同類型的資料的集合,每一份資料叫做一個數組元素(Element)。數組中的所有元素在記憶體中是連續排列的,整個數組佔用的是一塊記憶體。以int arr[] = { 99, 15, 100, 888, 252 };為例,該數組在記憶體中的分布如下圖所示:定義數組時,要給出數組名和數組長度,數組名可以認為是一個指標,它指向數組的第 0 個元素。在C語言中,我們將第 0 個元素的地址稱為數組的首地址。以上面的數組為例,下圖是 arr
Time of Update: 2017-01-18
指標變數儲存的是地址,本質上是一個整數,可以進行部分運算,例如加法、減法、比較等,請看下面的代碼:#include <stdio.h>int main(){ int a = 10, *pa = &a, *paa = &a; double b = 99.9, *pb = &b; char c = '@', *pc = &c; //最初的值 printf("&a=%#X, pa=%#X, pb=%#X, pc=%#X\n", &a, pa, pb, pc);
Time of Update: 2017-01-18
實現順序表的插入,刪除,尋找,輸出操作在C語言中經常用到。下面小編給大家整理實現代碼,一起看下吧代碼如下所示:#include<iostream>using namespace std;#define MAXSIZE 15typedef int DataType;typedef struct{DataType data[MAXSIZE]; //通常用一位元組來描述順序表的資料存放區int SeqLength; /*線性表長度*/} SeqList;SeqList
Time of Update: 2017-01-18
前言 我們知道,在數學中,數值的大小是沒有上限的,但是在電腦中,由於字長的限制,電腦所能表示的範圍是有限的,當我們對比較小的數進行運算時,如:1234+5678,這樣的數值並沒有超出電腦的表示範圍,所以可以運算。但是當我們在實際的應用中進行大量的資料處理時,會發現參與運算的數往往超過電腦的基礎資料型別 (Elementary Data
Time of Update: 2017-01-18
本文針對C++建構函式進行深度探究,供大家參考,具體內容如下1、引子: 以下代碼中的輸出語句輸出0嗎,為什嗎?struct Test{ int _a; Test(int a) : _a(a) {} Test() { Test(0); }};Test obj;cout << obj._a << endl; 輸出為:-8589934602、剖析上面代碼的輸出為一個垃圾值,也就是說obj調用建構函式並沒有對成員進行初始化工作,雖然預設無參構造Test(
Time of Update: 2017-01-18
如果你覺得重新編譯檔案的時間很短或者時間長一點無所謂,反正需要重新編譯,那麼你也可以選擇略過此文,不過也建議瀏覽。如果你想學習或者關心這塊內容,那麼此文必定會給你帶來收穫。首先我不給出依存關係的定義,我給出一個例子。複製代碼 代碼如下: class Peopel{ public: People(const std::string & name,const Date& brithday,Image Img)
Time of Update: 2017-01-18
C++中的return語句是函數中一個重要的語句,return語句用於結束當前正在執行的函數,並將控制權返回給調用此函數的函數。return語句有兩種形式: return; return expression; 1、沒有傳回值的函數 不帶傳回值的return語句只能用於傳回型別為void的函數,return語句是為了引起函數的強制結束,這種用法類似於迴圈結構中的break語句的作用。 例子: 複製代碼 代碼如下: void swap(int &v1,int &v2) { if(v1==v2)
Time of Update: 2017-01-18
問題 C語言以及C++語言中的const究竟表示什嗎?其具體的實現機制又是如何?的呢? 本文將對這兩個問題進行一些分析,簡單解釋const的含義以及實現機制。 問題分析 簡單的說const在C語言中表示唯讀變數,而在C++語言中表示常量。關於const在C與C++語言中的使用以及更多的區別,以後有時間另開一貼說明。那麼const究竟是如何?的呢?
Time of Update: 2017-01-18
只有公用衍生類別才是基類真正的子類型,它完整地繼承了基類的功能。基類與衍生類別對象之間有賦值相容關係,由於衍生類別中包含從基類繼承的成員,因此可以將衍生類別的值賦給基類對象,在用到基類對象的時候可以用其子類對象代替。 具體表現在以下幾個方面: 衍生類別對象可以向基類對象賦值。 可以用子類(即公用衍生類別)對象對其基類對象賦值。如 A a1; //定義基類A對象a1 B b1; //定義類A的公用衍生類別B的對象b1 a1=b1; //用衍生類別B對象b1對基類對象a1賦值
Time of Update: 2017-01-18
這樣刪除會導致程式記憶體覆蓋等一系列不可預知的bug 複製代碼 代碼如下: map<string, string>::iterator iter; for ( iter = mm.begin();iter != mm.end(); iter ++ ) { if ( iter->second == something ) { mm.erase( iter ); } } 原因:當erase掉iter後,繼續執行iter++,這個時候就亂套了 正確方法: 複製代碼 代碼如下:
Time of Update: 2017-01-18
簡介 類比銀行的錢數大寫輸出例如345三肆伍方法/步驟 首先開啟VC++ 檔案》》》建立 建立一個C++空白文檔 先聲明標頭檔複製代碼 代碼如下:#include<stdio.h> 聲明變數複製代碼 代碼如下:char *p[10]={"零","一","二","三","四","五","六","七","八","九"}; 由於用到了自訂函數,所以先聲明複製代碼 代碼如下:void PrintInterger(char a[], int len);/*輸出整數部分 */
Time of Update: 2017-01-18
逸出字元參考: \a:蜂鳴,響鈴\b:回退:向後退一格\f:換頁\n:換行,游標到下行行首\r:斷行符號,游標到本行行首\t:水平製表\v:垂直製表\\:反斜線\':單引號\":雙引號\?:問號\ddd:三位八進位\xhh:二位十六進位\0:Null 字元(NULL),什麼都不做註: 1,\v垂直製表和\f換頁符對螢幕沒有任何影響,但會影響印表機執行響應操作。2,\n其實應該叫斷行符號換行。換行只是換一行,不改變游標的橫座標;斷行符號只是回到行首,不改變游標的縱座標。3,\t
Time of Update: 2017-01-18
c語言中的逸出字元:\a 響鈴符\b 退格\f 換頁符\n 分行符號\r 斷行符號符(回到該行的首位置)\v 縱向定位字元\\ 反斜線\? 問號(?經vs10測試可以直接列印)\"(\') 雙引號(單引號)\ooo 八位元(ooo表示一個用8進位數表示出來的對應ANSII代碼對應出字元,用此方法可以表示出所有ASCII字元。不過測試發現打不出%號,存疑!)\xhh