高質量嵌入式Linux c程式設計第三章精簡問題

2021-08-28 19:56:39 字數 1946 閱讀 9748

第三章:運算子,表示式

列舉c語言中的各類運算子

答:(1).算術運算子:+,-,*,/,%,++,--

.關係運算子:>,<,==,>=,<=,!=

.邏輯運算子:&&,||,!

.位操作運算子:&,|,~,^,<<,>>

.賦值運算子:簡單賦值=,符合算術賦值+=,-=,/=,%=復合位運算賦值&=,|=,^=,>>=,<<=

.條件運算子:?:

.求位元組數運算子:sizeof

.特殊運算子:(),,->,.

簡要說明運算子的優先順序的問題

答:同一優先順序的運算子,運算次序由結合方向所決定。簡單記就是:!>算數運算子》關係運算子》&&>||>賦值運算子

條件運算子的特點,優勢及其優先順序的問題

答:條件運算子為?和:,它十乙個三目運算子,並且它是一對運算子,不可拆開使用,條件運算子的結合方向是自右至左。

條件運算子的運算優先順序低於關係運算子和算數運算子,但高於賦值符。

條件表示式的形式及注意事項

答:條件表示式的一般形式:表示式1? 表示式2: 表示式3

注意事項:如果表示式1的值為真,則以表示式2的值作為條件表示式的值,否則以條件表示式3的值為整個條件表示式的值。

i++/i-- 與++i/--i的區分

答:++/--作為字首時,是先自加,在做別的運算

而作為字尾時,先做運算,計算單位結束後在自加,計算單位結束的標誌有「,」「;」「)」。

什麼是位運算,以及位運算的特點?

答:資料的位是可以操作的最小資料單位,理論上可以用『位運算』來完成所有的運算和操作。位操作可以有效地提高程式執行的效率。c語言提供了位運算的功能,可以是c語言能像組合語言一樣,編寫系統程式。

按位與運算及其作用

答:數目運算子「&」,原理;參與運算的兩個數對應的二進位制位相與。只有對應的兩個二進位制位均為1,結果才為1,否則為0.參與運算的數以補碼的形式出現。

按位或運算及其作用

答:雙目運算子「|」,原理:參與運算的兩個數字的二進位制位相或,只要對應的兩個二進位制位有乙個為1,結果位就為1.參與運算的兩個數均以補碼的形式出現。

按位異或運算及其作用

答:雙目運算子「^」,原理是:參與運算的兩個數字對應的二進位制位相異或,當兩對應的二進位相異時,結果為1.參與運算的數以補碼的形式出現

作用:使特定位的值取反;

不引入第三方變數,交換兩個變數的值。

左移右移的注意事項

答:左移「<<」右邊的數指定移動的位數,高位丟棄,低位補0;

右移「>>」右邊的數制定移動的位數對於有符號的數,右移,符號位隨同移動,當為正數時,最高為補0;為負數時,最高位補0還是補1,有編譯系統決定。

使用位操作的優勢及使用技巧

答:優勢:使用位操作可以減少除法和取模的運算,一般的位操作是用來1.控制硬體2.進行資料交換,但是靈活的位操作可以有效地提高程式執行效率。

使用技巧:對於以2的指數次方為「*」「/」「%」因子的數**算,轉化為移位運算「<<」「>>」通常可以提高演算法效率,因為乘除運算指令週期通常比位移運算大。

高質量嵌入式Linux C程式設計學習摘要

1 多執行緒方面 1 pthread create 建立的執行緒預設情況下是非分離狀態的執行緒,如果修改執行緒的狀態屬性,需要使用pthread attr getdatachstate 和pthread attr setdatachstate 來修改執行緒的屬性。pthred create deta...

嵌入式Linux C程式設計

一 前言 一切,都想從不一樣做起。大學,原以為會和我當時高中想象的那樣,可以談場轟轟烈烈的戀愛,可以自由自在的旅行,可以忘乎所以,盡己之所興。如今,大三結束。驀然回首,卻發現自己浪費了那麼多改變自己的機會。如今,大學只剩最後一年,我要用這最後的時間去彌補曾經所浪費的一切,從現在開始,朝著自己的目標勇...

高質量程式設計 筆記

1.高質量軟體開發之道 1.提高軟體質量的基本方法 2.軟體質量屬性 3.質量 生成率和成本 4.軟體過程改進 5.高質量軟體開發的基本方法 2.程式的基本概念 1.程式語言 一套規範的集合,主要包括語言使用字符集 資料型別集合 運算子集合 關鍵字集合 指令集合 語法規則 對特定構造的支援 函式 繼...