[導(dǎo)讀]作為嵌入式工程師,寫一個效率高效,思路清晰的C語言程序是我們的終極目標(biāo),那么,怎么才能寫好這樣的程序呢?首先,我們要用C語言的思維方式來進(jìn)行程序的構(gòu)架構(gòu)建;其次,要有良好的C語言算法基礎(chǔ),以此來實現(xiàn)程序的邏輯構(gòu)架;最后,靈活運(yùn)用C語言的指針操作。雖然看起來以上的說法很抽象,給人如...
作為嵌入式工程師,寫一個效率高效,思路清晰的C語言程序是我們的終極目標(biāo),那么,怎么才能寫好這樣的程序呢?首先,我們要用C語言的思維方式來進(jìn)行程序的構(gòu)架構(gòu)建;其次,要有良好的C語言算法基礎(chǔ),以此來實現(xiàn)程序的邏輯構(gòu)架;最后,靈活運(yùn)用C語言的指針操作。
雖然看起來以上的說法很抽象,給人如墜霧里的感覺,其實就是用C語言進(jìn)行遇到問題、分析問題和解決問題的過程。那么,下文將給你介紹如何耍這“三板斧”。嵌入式工程師在編寫C語言程序的時候,要針對遇到的問題進(jìn)行程序構(gòu)架構(gòu)建。比如我們要處理“猴子選大王”的經(jīng)典問題:一群猴子,手拉手排成一個圓,從任意一只猴子開始從1開始報數(shù),當(dāng)遇到要排除的數(shù)(預(yù)先設(shè)定)時該猴子退出該圈,從下一只猴子開始繼續(xù)從1報數(shù),如此反復(fù),最終剩下的猴子便是猴子的大王。那么,這“三板斧”該如何使用呢?第一板斧,用C語言進(jìn)行程序構(gòu)架構(gòu)建程序分為三大部分:
a、數(shù)據(jù)獲取,為了程序的運(yùn)行,上面的問題要獲得猴子的總數(shù),從那只猴子開始和剔除的個數(shù);b、數(shù)據(jù)運(yùn)算,需要從一堆數(shù)據(jù)中剔除相應(yīng)的數(shù)據(jù),注意邏輯的正確;c、提高程序的運(yùn)行速率,少用循環(huán)多用指針。第二板斧,用C語言進(jìn)行邏輯實現(xiàn)a、 數(shù)據(jù)獲取,通過printf和scanf進(jìn)行參數(shù)的獲取。/* 讀入問題條件 */printf("input total num:");scanf("%d",
掃描二維碼,關(guān)注更多精彩內(nèi)容
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
最近看到APP上,給我推送了很多類似的回答,借此機(jī)會,也想著重新審視一下自己的學(xué)習(xí)歷程,以及結(jié)合自身和大牛,分享一些學(xué)習(xí)經(jīng)驗,希望對大家有所啟發(fā)和幫助。
關(guān)鍵字:
APP
嵌入式
C語言
SQLite是一個跨平臺的輕量級數(shù)據(jù)庫,支持C/C++開發(fā),可用于嵌入式中,關(guān)于C/C++使用SQLite的簡單實例,可參考這篇:“玩轉(zhuǎn)SQLite6:使用C語言來讀寫數(shù)據(jù)庫”,本篇來繼續(xù)介紹SQLite的基礎(chǔ)運(yùn)算符與表...
關(guān)鍵字:
SQLite
C語言
數(shù)據(jù)庫
在計算機(jī)科學(xué)中,內(nèi)存泄漏指由于疏忽或錯誤造成程序未能釋放已經(jīng)不再使用的內(nèi)存。
關(guān)鍵字:
C語言
內(nèi)存泄漏
C語言使用函數(shù)調(diào)用,我們再熟悉不過了,但是函數(shù)調(diào)用在內(nèi)存中究竟發(fā)生了什么真的清楚嗎?只有搞清楚內(nèi)存里的內(nèi)幕,才算完全搞懂函數(shù)的調(diào)用。
關(guān)鍵字:
C語言
函數(shù)調(diào)用
有個粉絲關(guān)于條件編譯的問題,程序一直編譯報錯。我整理了關(guān)鍵的部分,下面代碼是頭文件中的定義。
關(guān)鍵字:
條件編譯
C語言
首先要看英文和C語言的關(guān)系,有多大層度是需要英文的支持。我們都知道C語言中一共有32個關(guān)鍵詞,控制語句僅有9種,也就是說只需要掌握以上內(nèi)容就可以對C語言進(jìn)行應(yīng)用,對于一些復(fù)雜的指針等更合英文沒有關(guān)系。我相信短短的32個關(guān)...
關(guān)鍵字:
C語言
C語言是一門面向過程的、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產(chǎn)生少量的機(jī)器語言以及不需要任何運(yùn)行環(huán)境支持便能運(yùn)行的高效率程序設(shè)計語言。盡管C語言提供了許多低級...
關(guān)鍵字:
C語言
單片機(jī)
為什么會寫篇棧變化的文章?做系統(tǒng)分析的話你肯定遇到過一些crash,oops等棘手問題,一般大家都會用gdb,objdump或者addr2line等工具分析pc位置來定位出錯的地方。但是這些分析工具背后的本質(zhì)原理就不見得...
關(guān)鍵字:
函數(shù)
ARM
C語言
AI
點擊藍(lán)字關(guān)注我們請把努力當(dāng)成一種習(xí)慣,而不是三分鐘熱度。每一個你羨慕的收獲,都是努力用心拼來的。相信人生不會虧待你。12月6日華清遠(yuǎn)見武漢中心迎來了嵌入式21111班的開班典禮班主任介紹班級班規(guī)無規(guī)矩不成方圓,班級班規(guī)的...
關(guān)鍵字:
嵌入式
C語言
LAN
TARGET
一直覺得C語言較其他語言最偉大的地方就是C語言中的指針,有些人認(rèn)為指針很簡單,而有些人認(rèn)為指針很難,當(dāng)然這里的對簡單和難并不是等價于對指針的理解程度。為此在這里對C語言中的指針進(jìn)行全面的總結(jié),從底層的內(nèi)存分析,徹底讓讀者...
關(guān)鍵字:
微信
C語言
UNSIGNED
INCLUDE
提到C語言,很多人的第一反應(yīng)是:C語言,不都過時了?還有必要研究嗎??當(dāng)然有必要。用一個詞來形容:C生萬物。聽起來有點浮夸,但也沒說錯?,F(xiàn)今這個世界上,幾乎所有重要的軟件都跟C有關(guān)系:?主流操作系統(tǒng)是C寫的,絕大多數(shù)語言...
關(guān)鍵字:
C語言
▼點擊下方名片,關(guān)注公眾號▼歡迎關(guān)注【玩轉(zhuǎn)單片機(jī)與嵌入式】公眾號,回復(fù)關(guān)鍵字獲取更多免費(fèi)資料?;貜?fù)【加群】,限時免費(fèi)進(jìn)入知識共享群;回復(fù)【3D封裝庫】,常用元器件的3D封裝庫;回復(fù)【電容】,獲取電容、元器件選型相關(guān)的內(nèi)容...
關(guān)鍵字:
C語言
▼點擊下方名片,關(guān)注公眾號▼歡迎關(guān)注【玩轉(zhuǎn)單片機(jī)與嵌入式】公眾號,回復(fù)關(guān)鍵字獲取更多免費(fèi)資料?;貜?fù)【加群】,限時免費(fèi)進(jìn)入知識共享群;回復(fù)【3D封裝庫】,常用元器件的3D封裝庫;回復(fù)【電容】,獲取電容、元器件選型相關(guān)的內(nèi)容...
關(guān)鍵字:
C語言
軟件
c語言入門C語言一經(jīng)出現(xiàn)就以其功能豐富、表達(dá)能力強(qiáng)、靈活方便、應(yīng)用面廣等特點迅速在全世界普及和推廣。C語言不但執(zhí)行效率高而且可移植性好,可以用來開發(fā)應(yīng)用軟件、驅(qū)動、操作系統(tǒng)等。C語言也是其它眾多高級語言的鼻祖語言,所以說...
關(guān)鍵字:
C語言
星標(biāo)「嵌入式大雜燴」,一起進(jìn)步!進(jìn)度條的應(yīng)用在軟件中無處不在,拷貝一個文件需要一個進(jìn)度條,加載一個文件也需要一個進(jìn)度條,來標(biāo)志完成與否。那么,一個進(jìn)度條有哪些元素呢:一個不斷向右生長的容器(直觀的看出當(dāng)前的進(jìn)度)一個數(shù)據(jù)...
關(guān)鍵字:
C語言
所謂的數(shù)組越界,簡單地講就是指數(shù)組下標(biāo)變量的取值超過了初始定義時的大小,導(dǎo)致對數(shù)組元素的訪問出現(xiàn)在數(shù)組的范圍之外,這類錯誤也是C語言程序中最常見的錯誤之一。在C語言中,數(shù)組必須是靜態(tài)的。換而言之,數(shù)組的大小必須在程序運(yùn)行...
關(guān)鍵字:
C語言
一、C語言的共用體union共用體是一種特殊的數(shù)據(jù)類型,允許您在相同的內(nèi)存位置存儲不同的數(shù)據(jù)類型。什么意思呢,就是在同一塊內(nèi)存存儲可以定義多個數(shù)據(jù)類型,但是在使用的時候,只有一個變量有效。這里就有一個問題,變量有大有小呀...
關(guān)鍵字:
C語言
存儲空間
寫好C語言,漂亮的宏定義很重要,使用宏定義可以防止出錯,提高可移植性,可讀性,方便性等等。下面列舉一些成熟軟件中常用的宏定義。1.防止一個頭文件被重復(fù)包含1#ifndef?COMDEF_H2#define?COMDEF_...
關(guān)鍵字:
C語言
01—默認(rèn)字節(jié)對齊C語言結(jié)構(gòu)體字節(jié)對齊是老生常談的問題了,也是高頻面試題,現(xiàn)在我們來深入研究這個問題,徹底弄懂到底是怎么回事,給你一個結(jié)構(gòu)體定義和平臺機(jī)器位數(shù)就能手動計算出結(jié)構(gòu)體占用字節(jié)數(shù),現(xiàn)在我們不使用宏#pragma...
關(guān)鍵字:
C語言
數(shù)字信號處理是將信號以數(shù)字方式表示并處理的理論和技術(shù)。數(shù)字信號處理與模擬信號處理是信號處理的子集。數(shù)字信號處理的目的是對真實世界的連續(xù)模擬信號進(jìn)行測量或濾波。因此在進(jìn)行數(shù)字信號處理之前需要將信號從模擬域轉(zhuǎn)換到數(shù)字域,這通...
關(guān)鍵字:
DSP
PC機(jī)
C語言