March 12
L'istruzione else Se è il singolo più importante costrutto programma in C, e dal momento che si creerà e utilizzarlo praticamente in ogni programma, è anche il luogo si è più probabile imbattersi in problemi.
1 Inizia con le basi. La struttura di base di ogni Se Else in C assume questa forma:
se l'azione (condizione);
2 Staffa vostra azione in modo corretto. L'azione può essere un singolo comando, o più spesso una serie di comandi, tra parentesi graffe.
3 Rendetevi conto che una condizione tutt'altro che restituisce 0 (false) o qualsiasi altra cosa (vero).
4 Sappiate che il tipo più comune è il confronto tra variabili o valori:
== uguaglianza
! = Diseguaglianza
> Maggiore di
<Meno
> = Maggiore o uguale a
<= Minore o uguale a
5 Confronta tipi numerici e di carattere, se lo desiderano, ma attenzione: personaggi confrontano sulla base del set di caratteri in uso su quel sistema, e che può essere diverso, un giorno su qualche altro sistema operativo.
6 Non cercare di confrontare direttamente le matrici o strutture. Invece, scrivere una funzione che effettuerà il confronto.
7 Capire che le librerie standard C includono tali funzioni per le stringhe. Vedere strcmp (), stricmp (), e strncmp ().
8 Utilizzare l'assegnazione di restituire il valore che è stato assegnato.
if ((x = malloc (100)) == NULL) abort (); Il valore restituito da malloc () è sia salvato x e confrontato con NULL, rendendo il codice più conciso.
9 Utilizzare una tecnica di vero e provato: E 'comune avere funzioni restituiscono 1 in caso di successo e 0 in caso di fallimento, e li usa come una condizione.
10 Rendetevi conto che in C, tutto ha un valore, quindi tutto può essere la condizione. Per esempio, un confronto a 0 è solitamente ridondante.
if (x) printf ( "x non è zero \ n");
11 Usa il ! (Non) all'operatore di negare, o indietro, una condizione.
se printf ( "x è zero \ n") (x!);
12 Utilizzare && (e) e || (O) per combinare le condizioni logicamente. && Richiede entrambe le condizioni vere per essere vero; || è vero se uno dei due è.
13 Utilizzare le parentesi per controllare come vengono valutate le condizioni.
if (x == 5 e y == 6 o z == 7) è ambiguo;
if ((x == 5 e y == 6) o z == 7) è chiaro.
14 Approfitta delle limitazioni di C. C sarà sempre valutare le parti di un && o || da sinistra a destra, e fermare valutare volta conosce la risposta. Utilizzare questo a vostro vantaggio. Per esempio,
if (x e * x) previene errori di runtime nel caso in cui x è nullo, in quanto C avrà smesso di valutazione prima della dereference.
15 Aggiungere un'azione alternativa se la condizione è falsa, semplicemente aggiungendo la parola il resto dopo l'azione, poi un'altra azione, in questo modo:
se l'azione (condizione); azione altro;
16 Sappiate che entrambe le azioni possono essere, e in genere sono, interi gruppi di comandi inclusi tra parentesi graffe, in questo modo:
if (condizione) {
fare cose;
} altro {
fare altre cose;
}
17 Rendetevi conto che è comune per l'istruzione else per includere un altro caso, per selezionare quello giusto da tutta una serie di casi. Considerate questo esempio:
if (x <= 80) {
grade = 'C';
} Else if (x <= 90) {
grade = 'B';
} altro {
grade = 'A';
}