嵌入式常見筆試題總結(4)

1:用C語言實現大小端的測試

?? Int CheckCpu()

????? {

union

{

int a;

char b;

}c;

c.a=1;

if(c.b==1)

printf(“小端”)

else printf(“大端”);

}

2volatile的作用有哪些?

Volatile第一變量相當于告訴編譯器這個變量的值會隨時發生變化,每次使用之前都要去內存里從新讀取它的值,并不要隨意針對它做優化,主要用在:

1:一個中斷子程序中會訪問到的非自動變量;

2:多線程應用中被幾個線程共享的變量;

3:并行設備的硬件寄存器。

3C語言中static關鍵字的作用有哪些?

???? 1:在函數體中,一個被聲明為靜態的變量在這個變量在調用過程中維持其值不變;

???? 2:在模塊內(但在函數體外),一個被聲明為靜態的變量,可以被這個模塊內的所用函數使用,但不能被模塊外的函數使用,它是一個本地的全局變量;

???? 3:在模塊內,一個被聲明為靜態變量的函數,智能被這個模塊內的函數調用;

???? 4static全局變量與局部變量的區別:static全局變量只能被初始化一次,防止其他單元文件中被引用;

???? 5static局部變量與局部變量的區別:static局部變量只能被初始化一次,下一次依據上一次結果的值;

????? 6static函數與普通函數的區別:static在內存中只用一份,普通函數在每一次調用中維持一份拷貝。

4:請問下面三種變量的區別:

?? Int const *p :?????指向常整型的指針;

?? Int *const p???指向整型的常指針;

?? Int *const *p???指向常整型的常指針;

5:在ARM系統中,在函數調用的時候,參數是通過哪種方式傳遞的。

????當參數小于等于4的時候是通過r0~r3來進行傳遞的,當參數大于4的時候是通過壓棧的方式進行傳遞。

6:中斷與異常有何區別.

?????異常在處理的時候必須考慮與處理器的時鐘同步,實際上異常也稱為同步中斷,在處理器執行到因編譯錯誤而導致的錯誤指令時,或者在執行期間出現特殊錯誤,必須靠內核處理的時候,處理器就會產生一個異常;所謂中斷是指外部硬件產生的一個電信號從CPU的中斷引腳進入,打斷CPU的運行。所謂異常是指軟件運行過程中發生了一些必須作出處理的事件,CPU自動產生一個陷入來打斷CPU的運行。

7:用預處理指令#define表示一年中有多少秒

#define SECONDS_PER_YEAR???? (60*60*24*365)UL

???注意后面必須加UL,表示計算的結構是常整型。

8:簡述SPI,UART,I2C三種傳輸方式。

SPI:高速同步串行口,首發獨立,可同步進行

???? SPI接口主要應用在EEPROMFlash,實時時鐘,A/D轉化器,數字信號處理,是一種全雙工同步通訊總線,該接口一般使用四條線:串行時鐘線(sck),主出從入線,主入從出線,低電平有效地的從機選擇線。

I2C協議:是單片機與其他芯片進行通訊的協議:1:只要求兩條總線線路,一條是串行時鐘線,一條是串行數據線;?2:通過軟件設定地址?? 3:是一個多主機總線,如果兩個或更多主機同時初始化數據傳送可通過沖突檢測和仲裁防止數據破壞;?4I2C總線傳輸的是數據的總高位

UART:主要是由一個modem(調制解調器),可以將模擬信號量轉化成數字信號量。

9:中斷不能返回一個值,中斷不能傳遞參數。

10:嵌入式系統總要求用戶對變量或者寄存器進行位操作,給定一個整型變量a

????? define BIT3 (oxo1<<3)

??????? static int a ;

???? void set_bit3(void)

??????? {

a|=BIT3;

}

void clear_bit3(void)

?????? {

a&=~BIT3;

}

作為一個嵌入式程序員,這種程序是小菜一碟,至所以給出這個程序,是想規范大家寫程序方法,這里主要是用到了一個宏定義:BIT3??這樣的話就可以增加程序的可讀性

同時移植性也增強。

11:嵌入式系統中經常要求程序去訪問某特定內存的特點,在某工程中,要求設定一個絕對地址0x6799的整型變量的值為0xaa66.

????? Int *ptr

????? ptr=int*0x67a9

????? *ptr=aa66

12:引用和指針有什么區別?

????? 1:應用必須初始化,指針不必;

?????? 2:引用處畫化后不能改變,指針可以被改變;

?????? 3:不存在指向空值的引用,但存在指向空值的指針;

?? 13:全局變量與局部變量在內存中是否有區別,是什么區別?

????????全局變量存儲在靜態數據庫,局部變量存儲在堆棧;

14:寫出floatboolint類型與零的比較,假設變量為X

?????? Int???? ifx==0

?????? Float??? ifx>0.0000001&&x<0.0000001

?????? Bool:????? if(x==false)

15:Intertnet采用哪種網絡協議,該協議的主要層次結構?

?? TCP/IP協議

應用層/傳輸層/網絡層/數字鏈路層/物理層。

16IP地址有兩部分組成:網絡號和主機號

17:程序的局部變量存儲在(棧)中,全局變量存儲于(靜態存儲區),動態申請數據存儲于(堆中);

18:編寫一個字符串復制函數:strcpyconst char *strconst char *str1

???????? void strcpy(const *char str,const chat *str1)

??????????? {

?????????????? if(*str1==’\0’) return;

char *sp1,*sp2;

sp1= str;

sp2=str1;

while(*sp2!=’\0’)

{

*sp1=sp2;

sp1++;

sp2++;

}

}

19:編寫一個函數實現字符串翻轉?void rechangechar *str

?????????? void rechangechar *str

?????????????? {

Int len

char t

len=strlenstr);

forint i=0len/2i++

{

t=str[i];

str[i]=str[len-i-1];

str[len-i-1]=t;

}

}

20:編寫一個函數實現字符串比較?int strcmpchar *str1char *str2,相等返回1,不相等返回0

?? int strcmpchar *str1char *str2

{

if*str1==\0||*str2==’\0’?return;

while(*str1=’\0’&&*str2=’\0’&&*str1==*str2)

{

str1++

str2++

}

if(*str1==*str2)

return 1;

else return 0;

}

}

21:進程和線程的區別:

???? 1:調度:線程作為調度和分配的基本單元,進程作為擁有資源的基本單位;

????? 2:并發性:不僅進程可以并發執行,同一進程內的線程也可以并發執行。

????? 3:擁有資源:進程是擁有資源的基本獨立單元,線程不擁有資源,但可以訪問進程內的資源;

4:在創建或撤銷線程時,由于系統都要為之分配和回收內存資源,導致系統的開銷明顯大于創建或撤銷線程時的開銷。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457951.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457951.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457951.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《java入門第一季》之類String類小案例

String類有許多獲取方法&#xff0c;API文檔里面可查看。針對獲取方法&#xff0c;給出小案例。 /** 需求&#xff1a;遍歷獲取字符串中的每一個字符* 分析&#xff1a; 用到兩個方法&#xff1a;char charAt(int index) 表示獲取字符串指定索引的字符int length() …

同字母異序詞 python_49. 字母異位次分組(Python)

題目 給定一個字符串數組&#xff0c;將字母異位詞組合在一起。字母異位詞指字母相同&#xff0c;但排列不同的字符串。 說明 所有輸入均為小寫字母。 不考慮答案輸出的順序。 示例 輸入: ["eat", "tea", "tan", "ate", "nat&quo…

嵌入式常見筆試題總結(5)

1、 如何在C中初始化一個字符數組。這個問題看似很簡單&#xff0c;但是我們要將最簡單的問題用最嚴謹的態度來對待。關鍵的地方&#xff1a;初始化、字符型、數組。最簡單的方法是char array[];。這個問題看似解決了&#xff0c;但是在初始化上好像還欠缺點什么&#xff0c;個…

SQL Server - 高可用與災難恢復(HADR)技術 -- AlwaysOn可用性組(理論篇)

因為篇幅原因&#xff0c;AlwaysOn可用性組被拆成了兩部分&#xff1a;理論部分和實戰部分。而實戰部分又被拆成了準備工作和AlwaysOn可用性組搭建。 三篇文章各自的鏈接&#xff1a; SQL Server ->> 高可用與災難恢復&#xff08;HADR&#xff09;技術 -- AlwaysOn&…

嵌入式常見筆試題總結(6)

一、常識理論題 1、 簡述嵌入式操作系統有哪些&#xff0c;你用過哪幾種&#xff0c;簡述其特點、優勢及劣勢&#xff1f;(5分) 2、 請描述控制及提高嵌入式軟件質量有哪些辦法&#xff0c;在開發過程中怎么才能保證嵌入式軟件的可靠性&#xff1f;&#xff08;5分&#xff09;…

python 3.6.5編譯安裝_Linux系統安裝Python3.6.5

Linux系統安裝Python3.6.5 1、下載Python3.6.5 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 如果報command not found則執行&#xff1a;yum -y install wget命令后再進行下載 也可下載好安裝包進行手動上傳 2、安裝Python3.6可能使用的依賴 yum install o…

從傳統運維到云運維演進歷程之軟件定義存儲(一)

運維是企業業務系統從規劃、設計、實施、交付到運維的最后一個步驟&#xff0c;也是重要的步驟。運維從橫向、縱向分可以分為多個維度和層次&#xff0c;本文試圖拋開這紛繁復雜的概念&#xff0c;講述一個傳統的企業級運維人員轉型到云運維人員&#xff0c;尤其是軟件定義存儲…

Abp Uow 設計

初始化入口 在AbpKernelModule類中&#xff0c;通過UnitOfWorkRegistrar.Initialize(IocManager) 方法去初始化 1 /// <summary>2 /// This class is used to register interceptor for needed classes for Unit Of Work mechanism.3 /// </summary>4 …

python3.8 實現鼠標自動移動_“新生報到”!【移動機器人 HD-1500】負載1500kg,實現了重型貨物運輸的自動化...

2020年第三季度歐姆龍自動化&#xff08;中國&#xff09;有限公司新品【移動機器人 HD-1500】即日起在中國市場首次對外發布&#xff0c;實現了重型貨物運輸的自動化。這款最新的自動化移動機器人重型載荷能力為1500 kg&#xff01;更高的載荷能力可以令客戶實現以前無法實現的…

Linux 關閉服務后 鼠標 鍵盤用不了

大部分情況下我們做實驗都是使用虛擬機&#xff0c;但是個人比較本實在太老了&#xff0c;性能有限&#xff0c;所以虛擬機里面的系統啟動神慢&#xff0c;怎么辦&#xff1f;把系統中自己用不到的服務全部關閉掉唄&#xff0c;如下for i in chkconfig --list | awk {print $1}…

對session的理解

java Servlet API引入session 機制來跟蹤客戶的狀態&#xff0c;session指的是在一段時間內&#xff0c;單個客戶和web服務器之間一連串的交互過程&#xff0c;在一個session中&#xff0c;一個客戶可能會多次請求同一個網頁&#xff0c;也可能請求多個不同服務器資源&#xff…

android 監聽本機網絡請求_fiddler如何抓取https請求實現fiddler手機抓包-證書安裝失敗100%解決...

一、HTTP協議和HTTPS協議。(1) HTTPS協議HTTP協議SSL協議&#xff0c;默認端口&#xff1a;443(2) HTTP協議&#xff08;HyperText Transfer Protocol&#xff09;&#xff1a;超文本傳輸協議。默認端口&#xff1a;80&#xff0c;其中包含請求和響應兩部分&#xff0c;其中請求…

c語言筆試題總結2

下列各題A)、B)、C)、D)四個選項中&#xff0c;只有一個選項是正確的&#xff0c;請將正確選項涂寫在答題卡相應位置上&#xff0c;答在試卷上不得分。(1)算法的時間復雜度是指_______。A)執行算法程序所需要的時間B)算法程序的長度C)算法執行過程中所需要的基本運算次數D)算法…

C#的四舍五入函數

2019獨角獸企業重金招聘Python工程師標準>>> 1.四舍六入&#xff08;國外的四舍五入&#xff09; Math.Round&#xff08;num&#xff09;; 2.四舍五入 Math.Round(num,MidpointRounding.AwayFromZero); 轉載于:https://my.oschina.net/CrazyBoy1024/blog/746268

C語言筆試題總結3

4. static有什么用途&#xff1f;&#xff08;請至少說明兩種&#xff09;1.限制變量的作用域2.設置變量的存儲域7. 引用與指針有什么區別&#xff1f;1) 引用必須被初始化&#xff0c;指針不必。2) 引用初始化以后不能被改變&#xff0c;指針可以改變所指的對象。2) 不存…

【BZOJ2243】 [SDOI2011]染色

Description 給定一棵有n個節點的無根樹和m個操作&#xff0c;操作有2類&#xff1a; 1、將節點a到節點b路徑上所有點都染成顏色c&#xff1b; 2、詢問節點a到節點b路徑上的顏色段數量&#xff08;連續相同顏色被認為是同一段&#xff09;&#xff0c;如“112221”由3段組成&am…

jquery easyui DataGrid 數據表格 屬性

擴展自 $.fn.panel.defaults &#xff0c;用 $.fn.datagrid.defaults 重寫了 defaults 。 依賴 panelresizablelinkbuttonpagination用法 1. <table id"tt"></table> 1. $(#tt).datagrid({ 2. url:datagrid_data.json, 3. columns:[…

C語言筆試題總結

1. 下面這段代碼的輸出是多少(在32位機上). char *p; // 4 char *q[20]; // 80 char *m[20][20]; // 1600 int (*n)[10]; // 4 struct MyStruct { char dda; double dda1; int type ; }&#xff1b; MyStruct k; // 24 printf("%d %d %d %d",sizeof(p),siz…

第五次作業

學習時間新增代碼行博客發表量知識總結 第十周5801HTML5 C和C 一般用于服務端的服務程序開發&#xff0c;硬件編程開發&#xff0c;系統等等大量框架要用到的。JAVA&#xff0c;學好這個可以開發移動設備程序&#xff0c;JSP網頁程序。C#&#xff0c;學了這個可以開發Winform&a…

數字信號處理的fpga實現_FPGA數字信號處理:通信類I/Q信號及產生

大俠好&#xff0c;歡迎來到FPGA技術江湖&#xff0c;江湖偌大&#xff0c;相見即是緣分。大俠可以關注FPGA技術江湖&#xff0c;在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源&#xff0c;或者一起煮酒言歡。大俠好&#xff0c;“寧夏李治廷”再一次和各位見…