8 c c 程式設計師面試寶典 switch語句

2021-07-07 04:25:21 字數 1431 閱讀 5690

8.c/c++程式設計師面試寶典-switch語句

對於多選擇分支的情況,可以用if語句的if...else...if形式或if語句巢狀處理,但大多數情況下卻略顯麻煩。為此,c++提供了另一種方法,switch語句,也成為開關語句。

面試題65  switch語句的執行順序是什麼***

分析:在使用深層巢狀的if else語句時,往往語法是正確的,但在邏輯方面卻沒有正確地反映程式設計師的意圖。例如,錯誤的else if匹配很容易被忽略。即使新增新的條件和邏輯關係,或者對語句做其他修改,都很難保證正確。switch語句提供了一種更方便的方法來實現深層巢狀的if else邏輯。

switch語句的示例**如下:

char ch;

int a1=0,e1=0,i1=0,//初始化變數資料

c1=0,u1=0;

while(cin>>ch)

} 通過對switch後的圓括號內表示式的值,與其後的花括號中用case列出來的關鍵字做比較,實現switch語句的分支功能。圓括號內的表示式必須產生乙個整數結果,其值與每個case的值進行比較。關鍵字case和它所關聯的值稱為case標號。每個case標號的值都必須是乙個常量表示式,當case標號的值和switch後圓括號的產生的結果對應時,則執行相應的case後的操作。

另外,在switch語句中,還有乙個default語句,表示如果圓括號內表示式的值與case的關鍵字都沒有匹配的情況下,可以設定乙個預設執行的語句。示例**如下:

#include"stdio.h"

main()

if(flay)

else

} 以上**實現的是輸入乙個年月,然後輸出該月有多少天,如果是閏年的話,則2月份有29天。

【答案】如果表示式與其中乙個case標號的值匹配,則程式將從該標號後面的第乙個語句開始一次執行各個語句,直到switch結束或遇到break語句為止。如果沒有發現匹配的case標號,則在存在****ult語句時執行default語句,否則程式從switch語句後面的第一條語句繼續執行。

面試題66  如何在switch語句內部定義變數**

分析:在c++中,對於switch結構,能而且只能在它的最後乙個case標號或default標號後面定義變數。示例**如下:

case true:

string file_name = get_file_name();

break;

default:

... ...

這個規則的制定是為了避免出現**跳過變數的定義和初始化的情況。另外也可以引入塊語句,並且在該塊語句中來定義變數,從而保證變數在使用前可以被定義和初始化。示例**如下:

case true:

break;

case false:

【答案】在switch結構中可以在最後乙個case標號或default標號後面定義變數,或者引入塊語句來定義變數。

C C 程式設計師面試寶典 2

9.關聯式資料庫的正規化 10.資料庫操作中的事務 事務的4個特性 11.數字矩陣的生成 對應的 如下 include include include define print arr2d arr,n else print arr2d arr,n 1 2 6 7 15 3 5 8 14 16 4 9...

程式設計師面試寶典 C C 記憶體分類

在進行c c 程式設計時,需要程式設計師對記憶體的了解比較精準。經常需要操作的記憶體可分為以下幾個類別。棧區 stack 由編譯器自動分配和釋放,存放函式的引數值 區域性變數的值等。其操作方式類似於資料結構中的棧。堆區 heap 一般由程式設計師分配和釋放,若程式設計師不釋放,程式節束時可能由操 作...

程式設計師面試寶典

據統計,80 的簡歷都是不合格的。不少人事管理者抱怨收到的許多簡歷在格式上很糟糕。簡歷應該如何做到在格式上簡潔明瞭,重點突出?求職信應該如何有足夠的內容推銷自己?如何控制長度,言簡意賅?相信讀了本章你會對簡歷的撰寫有乙個新的認識。2.1 簡歷注意事項 1 簡歷不要太長 一般的簡歷普遍都太長。其實簡歷...