原创 寫程序的一些規範(不停更)

1、不確定的數組長度用MAX_SIZE進行定義 2、程序的變量名,函數名等要有自助解釋的功能,包括:     1> 函數變量名可以讓人知道什麼作用     2> 函數名,變量名可以用可以用動詞加名詞進行命名,如:set_number  

原创 DS1302時鐘芯片

DS1302時鐘芯片 一、引腳圖 Vcc2備用電源 SCLK:時鐘線 二、時序圖 三、代碼 #include <reg52.h> #include "LCD1602.h" #include "delay.h" sbit SC

原创 C語言的函數

函數指針 (一)、 1、函數的地址 = &函數名(或者直接可以等於函數名,但較多用的還是&函數名) 2、函數名是指針常量,保存的是函數入口的地址 (二)、例子 int func(int num) {     printf("num ==

原创 C語言位運算

位運算 (一)、按位與運算: 1、按位與常用於清零或保留某些位使用 2、如果想保留某些位的時候,可以先定義掩碼(mask)(二)、按位或運算 1、按位或多用來對源操作數的某些位置置1,其他位不變 2、mask的相應置1的位置爲1,其他位爲

原创 C語言的指針

1、num++:使num對應的內存空間的值加一(0x1000  ---->  0x1004) 2、(*p)++:p所指向的內存空間的值加一 3、p++:p對應的內存空間的值加一(0x1000 ---> 0x1001) 指向的內存空間:

原创 Linux系統調用與函數調用

一、系統調用和函數調用 (一)、系統調用依賴於系統,函數庫不依賴於系統 (二)、系統調用無緩衝區,函數庫有緩衝區(三)、圖釋: (四)、緩衝區類型:1、全緩衝(全部到緩衝區)    2、行緩衝 (五)、相關API: 1、sprintf

原创 Linux網絡編程

一、TCP/IP理論基礎 1、TCP/IP協議族:TCP/IP爲協議族,有很多子協議,爲一族。 TCP:傳輸控制協議    IP:網絡協議 2、我們所做的爲服務器應用軟件開發,服務器:有相應的硬件,操作系統(電腦也爲服務器,不過多了個顯示

原创 C語言的關鍵字

關鍵字: (一)、regtister(寄存器變量) 1、計算機的三大組成部分:CPU,內存,硬盤 2、CPU三大組成部分:控制器,運算器、儲存器(寄存器,cache(高速緩存)) 3、CPU通過總線從內存中獲取數據(ARM中是總線架構),

原创 C語言的短路現象

&&和||的短路現象 設i= 0;j = 0 1、     if((++i) < 0) && (++j))     {         printf("%d,%d",i,j);     } 結果爲:1,0 因爲&&判斷前面一個如果不符合就

原创 Linux的多任務多進程

一、多任務 多任務並不是一起執行,只是因爲所有程序都在獲取執行權,CPU處理速度很快,看上去是在進行多任務二、進程 (一)、進程是一個具有一定獨立功能的程序的一次運行活動,同時也是資源分配的最小單元 相關術語: 1、資源:一般指內存  

原创 C語言複合數據類型

(一)、結構體 1、定義與初始化 struct student { }; 注:注意最後的逗號 注:定義在函數外全局可用 2、定義結構體變量 struct student stu; (如果結構體變量較多時,可以定義宏:typedf stru

原创 C語言的控制語句

控制語句 1、浮點型與0作比較 不能if(x == 0.0) 應該先定義一個精度EPISION if((x > -EPISON) && (x < -EPISION)); 死循環:while(1)    for(; ;) 2、switch

原创 Linux的sqlite數據庫

數據庫(sqlite3) (一)、基礎知識 sqlite3:數據管理系統軟件(oracle也是,sqlserve也是)數據庫實際上就是一個文件,比較特殊,文件後綴爲.db 數據庫如何儲存文件: 1、關係型數據庫:二維表(主流) 2、層次

原创 C語言的預處理

編譯預處理 (一)、程序形成過程:預處理---->編譯---->彙編---->鏈接 (二)、預處理階段 1、過程:1>頭文件展開    2>宏替換    3>條件編譯 注:在程序中凡是有#開頭的都屬於預處理階段 2、<>與“ ”的區別 系

原创 C語言自加自減的問題

以下i的初值都爲2 1、num = (++ i) + (++i) + (++i) + (++i); 計算順序: