LinuxC關於語句的一些問題

2021-08-09 02:32:51 字數 2345 閱讀 1775

1.從程式流程角度來看,程式的分類?

順序結構、分支結構、迴圈結構。這三種基本結構可以組成所有的各種複雜程式

2.使用空語句的目的

1)純粹消耗cpu時間,起到延時的作用

2)為了程式的結構清楚,可讀性好,以後擴充新功能方便

3.基礎語句

1)表示式語句

由表示式加上分號「;」組成,一般形式為                表示式;

2)函式呼叫語句

由函式名,實際引數加上分號「;」組成,一般形式為      函式名(實際參數列);

執行函式語句就是呼叫函式體並把實際引數賦予函式定義中的形式引數,然後執行被調函式體中的語句,求取函式值,呼叫庫函式,輸出字串。

4.if語句條件判斷的注意點

1)布林變數與零值比較

注意:不可將布林量直接與true、false或者1、0作比較,根據布林型別的語義,零值為假,任何非零值為真

假設布林變數名字為flag,則正確用法為

if(flag)    //表示flag為真

if(!flag)    //表示flag為假

2)整型變數與零值比較

應當將整型變數用「==」或「!=」直接與0比較

例如:if(value==0)或if(value!=0)

3)浮點變數與零值比較

浮點變數不能用==或!=與任何數字比較

而是if((x>=-epsinon)&& (x>=-epsinon))其中epsinon為允許的誤差

4)指標變數與零值比較

指標變數應當用==或!=與null比較

5)補充:if(null==p)語法正確,是為避免程式設計師將p==null寫成p=null, p=null語句是合法的,而程式會指出null=p非法,null==p在糾錯的時候易發現

5.有關goto語句的爭議之處

1)由於goto語句可以靈活跳轉,如果不加限制,它的確會破壞結構化設計風格

2)goto語句常常帶來錯誤或隱患,它可能跳過了某些物件的構造、變數的初始化、重要的計算等語句

6.迴圈語句for與while的相同點與不同點

1.兩者都用於迴圈處理,基本流程相同,都包含初始化語句、迴圈體、迴圈執行條件、調整語句;

2.兩者對break語句的處理機制也相同,直接退出迴圈不進行其他操作。

3.兩者的主要差別就是對迴圈中continue語句的處理機制不同:

for迴圈中,當遇到continue語句時,會執行調整語句。

while迴圈中,當遇到continue語句時,不會執行調整語句。

在迴圈語句的效率中,如果可能將最長迴圈放在最內層,短迴圈放在最外層,可以提高速率。但如果更改後效率差別不大,以簡潔為主

7.break與continue

break語句通常用在迴圈語句和開關語句中,用於跳出當前迴圈

注意:break語句對if-else的條件語句不起作用

在多層迴圈中,乙個break語句只向外跳一層

continue語句作用是跳過迴圈本中剩餘的語句而強制執行下一次迴圈,只用在for,while,do-while等迴圈體中,常與if條件語句一起使用,用來加速迴圈

8.switch語句

優點:是多分枝選擇語句

基本格式:switch()

case 2:

……default: }

注意,每個case結尾加break,否則會導致多分支重疊;不要忘記default分支。

9.if語句使用的注意事項

1)在三種形式的if語句中,在if關鍵字之後均為表示式。 該表示式通常是邏輯表示式或關係表示式,但也可以是其它表示式,如賦值表示式等,甚至也可以是乙個變數。例如:

if(a=5) 語句;

if(b) 語句;

都是允許的。只要表示式的值為非0,即為「真」。如在:

if(a=5)…;

中表示式的值永遠為非0,所以其後的語句總是要執行的,當然這種情況在程式中不一定會出現,但在語法上是合法的。

又如,有程式段:

if(a=b)

printf("%d",a);

else

printf("a=0");

本語句的語義是,把b值賦予a,如為非0則輸出該值,否則輸出「a=0」字串。這種用法在程式中是經常出現的。

2)在if語句中,條件判斷表示式必須用括號括起來,在語句之後必須加分號。

3)在if語句的三種形式中,所有的語句應為單個語句,如果要想在滿足條件時執行一組(多個)語句,則必須把這一組語句用{}括起來組成乙個復合語句。但要注意的是在}之後不能再加分號。

10.goto語句的使用格式

goto  語句標號

另外,標號必須與goto語句處於同乙個函式中,但可以不再乙個迴圈層中。通常goto語句與if語句聯通,當滿足某一條件時,程式調到標號處執行

LinuxC關於運算子的一些問題

1.c語言運算子的分類?1 算術運算子 用於各類數值運算,包括加 減 乘 除 求餘 或稱模運算,自增 自減 2 關係運算子 用於比較運算,包括大於 小於 等於 大於等於 小於等於 和不等於 3 邏輯運算子 用於邏輯運算,包括與 或 非 4 位操作運算子 參與運算的量,按二進位制位進行運算,包括位與 ...

關於面試的一些問題

面試過程中,面試官會向應聘者發問,而應聘者的回答將成為面試官考慮是否接受他的重要依據。對應聘者而言,了解這些問題背後的 貓膩 至關重要。本文對面試中經常出現的一些典型問題進行了整理,並給出相應的回答思路和參 讀者無需過分關注分析的細節,關鍵是要從這些分析中 悟 出面試的規律及回答問題的思維方式,達到...

關於Labview的一些問題

第一章 虛擬儀器及 labview入門 1 虛擬儀器概述 虛擬儀器 virtual instrumention 是基於計算機的儀器。計算機和儀器的密切結合是目前儀器發展的乙個重要方向。粗略地說這種結合有兩種方式,一種是將計算機裝入儀器,其典型的例子就是所謂智慧型化的儀器。隨著計算機功能的日益強大以及...