原创 寫程序的一些規範(不停更)
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); 計算順序: