C αν ... αλλιώς Δήλωση

Σε αυτό το σεμινάριο, θα μάθετε για τη δήλωση εάν (συμπεριλαμβανομένου εάν… αλλιώς και ένθετη εάν… αλλιώς) στον προγραμματισμό Γ με τη βοήθεια παραδειγμάτων.

C εάν Δήλωση

Η σύνταξη της ifδήλωσης στον προγραμματισμό C είναι:

 if (test expression) ( // statements to be executed if the test expression is true )

Πώς εάν λειτουργεί η δήλωση;

Η ifδήλωση αξιολογεί τη δοκιμαστική έκφραση μέσα στην παρένθεση ().

  • Εάν η δοκιμαστική έκφραση αξιολογηθεί ως αληθής, ifεκτελούνται δηλώσεις μέσα στο σώμα του .
  • Εάν η δοκιμαστική έκφραση αξιολογηθεί ως ψευδής, ifδεν εκτελούνται δηλώσεις εντός του σώματος του .

Για να μάθετε περισσότερα σχετικά με το πότε η έκφραση της δοκιμής αξιολογείται σε true (μη μηδενική τιμή) και false (0), ελέγξτε σχετικούς και λογικούς τελεστές.

Παράδειγμα 1: if δήλωση

 // Program to display a number if it is negative #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // true if number is less than 0 if (number < 0) ( printf("You entered %d.", number); ) printf("The if statement is easy."); return 0; )

Έξοδος 1

Εισαγάγετε έναν ακέραιο: -2 Εισαγάγατε -2. Η δήλωση if είναι εύκολη.

Όταν ο χρήστης εισέλθει στο -2, η δοκιμαστική έκφραση number<0αξιολογείται ως αληθής. Ως εκ τούτου, εισαγάγατε -2 εμφανίζεται στην οθόνη.

Έξοδος 2

 Εισαγάγετε έναν ακέραιο: 5 Η δήλωση if είναι εύκολη.

Όταν ο χρήστης εισέλθει στο 5, η δοκιμαστική έκφραση number<0αξιολογείται ως ψευδής και η δήλωση μέσα στο σώμα ifδεν εκτελείται

C αν… αλλιώς Δήλωση

Η ifδήλωση μπορεί να έχει ένα προαιρετικό elseμπλοκ. Η σύνταξη της if… elseδήλωσης είναι:

 if (test expression) ( // statements to be executed if the test expression is true ) else ( // statements to be executed if the test expression is false )

Πώς εάν… αλλιώς λειτουργεί η δήλωση;

Εάν η δοκιμαστική έκφραση αξιολογηθεί ως αληθής,

  • ifεκτελούνται δηλώσεις μέσα στο σώμα του .
  • Οι δηλώσεις εντός του σώματος elseπαραλείπονται από την εκτέλεση.

Εάν η δοκιμαστική έκφραση αξιολογηθεί ως ψευδής,

  • elseεκτελούνται δηλώσεις μέσα στο σώμα του
  • Οι δηλώσεις εντός του σώματος ifπαραλείπονται από την εκτέλεση.

Παράδειγμα 2: αν… αλλιώς δήλωση

 // Check whether an integer is odd or even #include int main() ( int number; printf("Enter an integer: "); scanf("%d", &number); // True if the remainder is 0 if (number%2 == 0) ( printf("%d is an even integer.",number); ) else ( printf("%d is an odd integer.",number); ) return 0; )

Παραγωγή

 Εισαγάγετε έναν ακέραιο: 7 7 είναι ένας περίεργος ακέραιος.

Όταν ο χρήστης εισέλθει στο 7, η δοκιμαστική έκφραση number%2==0αξιολογείται ως ψευδής. Ως εκ τούτου, η δήλωση μέσα στο σώμα του elseεκτελείται.

C αν… αλλιώς Σκάλα

Η if… elseδήλωση εκτελεί δύο διαφορετικούς κωδικούς ανάλογα με το αν η δοκιμαστική έκφραση είναι αληθής ή ψευδής. Μερικές φορές, πρέπει να γίνει μια επιλογή από περισσότερες από 2 δυνατότητες.

Η κλίμακα if… else σας επιτρέπει να ελέγχετε μεταξύ πολλαπλών εκφράσεων δοκιμής και να εκτελείτε διαφορετικές δηλώσεις.

Σύνταξη αν… αλλιώς Σκάλα

 if (test expression1) ( // statement(s) ) else if(test expression2) ( // statement(s) ) else if (test expression3) ( // statement(s) )… else ( // statement(s) )

Παράδειγμα 3: Γ αν… αλλιώς Σκάλα

 // Program to relate two integers using =,> or < symbol #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); //checks if the two integers are equal. if(number1 == number2) ( printf("Result: %d = %d",number1,number2); ) //checks if number1 is greater than number2. else if (number1> number2) ( printf("Result: %d> %d", number1, number2); ) //checks if both test expressions are false else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Παραγωγή

 Εισαγάγετε δύο ακέραιους αριθμούς: 12 23 Αποτέλεσμα: 12 <23

Ένθετο αν… αλλιώς

Είναι δυνατόν να συμπεριλάβετε μια if… elseδήλωση στο σώμα μιας άλλης if… elseδήλωσης.

Παράδειγμα 4: Ένθετο εάν… αλλιώς

Αυτό το πρόγραμμα δίνονται παρακάτω σχετίζεται δύο ακέραιους αριθμούς χρησιμοποιώντας είτε <, >και =παρόμοιο με το if… elseπαράδειγμα σκάλα του. Ωστόσο, θα χρησιμοποιήσουμε μια ένθετη if… elseδήλωση για την επίλυση αυτού του προβλήματος.

 #include int main() ( int number1, number2; printf("Enter two integers: "); scanf("%d %d", &number1, &number2); if (number1>= number2) ( if (number1 == number2) ( printf("Result: %d = %d",number1,number2); ) else ( printf("Result: %d> %d", number1, number2); ) ) else ( printf("Result: %d < %d",number1, number2); ) return 0; )

Εάν το σώμα μιας if… elseδήλωσης έχει μόνο μία δήλωση, δεν χρειάζεται να χρησιμοποιήσετε αγκύλες ().

Για παράδειγμα, αυτός ο κωδικός

 if (a> b) ( print("Hello"); ) print("Hi");

είναι ισοδύναμο με

 if (a> b) print("Hello"); print("Hi"); 

ενδιαφέροντα άρθρα...