Diario en lenguaje C 9 3 declaraciones if (programación de estructura de rama)

si

1. Si declaración

Libro P39 Ejemplo 3-3:

#include <iostream>
usando el espacio de nombres estándar;
vacío principal()
{     int a, b, max;     cout << "Ingrese dos números: " << endl;      cin >> a >> b;     máx = a;     si (máx < b) máx = b;     cout << "max=" << max << endl; }






Problemas encontrados en este proyecto:

1. ¿Debe escribirse en forma de "sentencia if (<expresión>)"?

si <expresión>

declaración

El formulario también puede ser, por ejemplo:

#include <iostream>
usando el espacio de nombres estándar;
vacío principal()
{     int a, b, max;     cout << "Ingrese dos números: " << endl;      cin >> a >> b;     máx = a;     si (máx < b)           máx = b;     cout << "max=" << max << endl; }







2. Al ingresar cin, siga ingresando >>, no cambie repentinamente para ingresar "," en el medio

Esto dará un error: la variable no está inicializada. ejemplo:

#include <iostream>
usando el espacio de nombres estándar;
int main()
{     int a, b, max;     cout << "Ingrese dos números: " << endl;     cin >> a, b;     máx = a;     si (máx < b) máx = b;     cout << "max=" << max << endl; }






 3. Al ingresar cin, ingrese múltiples variables y use "enter (tecla de avance de línea)" para distinguir diferentes variables en lugar de "," para distinguir, por ejemplo:

 En este momento, no importa qué valor se ingrese a la variable b, el resultado es solo un

(Porque el uso de "," se ignora de forma predeterminada después de "," o el valor predeterminado es 0 después de ",")

4. La declaración "si... entonces..." en VISUAL BASIC no funciona en C++

(entonces no se puede ingresar después de la instrucción if), por ejemplo:

#include <iostream>
usando el espacio de nombres estándar;
int main()
{     int a, b, max;     cout << "Ingrese dos números: " << endl;      cin >> a >> b;     máx = a;  si (max < b) entonces max = b;     cout << "max=" << max << endl; }




  

2. La sentencia if...else

 Libro P39 Ejemplo 3-4:

#include <iostream>
usando el espacio de nombres estándar;
int main()
{     int a, b;     cout << "Ingrese dos números:" << endl;      cin >> a >> b;     if (a > b)         cout << "max=" << a << endl;      else         cout << "max=" << b << endl; }







3. if...else...if declaración

 Libro P40 Ejemplo 3-5:

#include <iostream>
usando el espacio de nombres estándar;
int principal()
{     char c;     cout << "ingrese un caracter: " << endl;      cin >> c;     if (c < 32)         cout << "Este es un carácter de control". <<endl;     else if (c >= '0' && c <= '9')         cout << "Esto es un dígito". <<endl;     else if (c >= 'A' && c <= 'Z')         cout << "Esta es una letra mayúscula". << finl;          else if (c >= 'a' && c <= 'z')         cout << "Esta es una letra minúscula. 













Aviso:

Las cadenas de entrada se tratan como letras mayúsculas/minúsculas de salida, por ejemplo:

 En mi opinión, esta afirmación if...else...if en realidad no es if...else...if en esencia, sino if...else if

Debido a que el efecto de la instrucción if...else...if (como sigue y el libro P40), el diagrama de flujo dibujado no es el mismo:

ejemplo:

#include <iostream>
usando el espacio de nombres estándar;
int principal()
{     int a;     cin >> un ;     si (a==1)         cout << 1<< endl;      else         cout<< 2 << endl;     if (a == 2)         cout <<3 << endl; }








resultado:

Para verificar si la segunda declaración if se ejecuta después de que ocurra la primera declaración if, diseñamos el siguiente programa:

uno.

#include <iostream>
usando el espacio de nombres estándar;
int principal()
{     int a;     cin >> a;     if (a == 1)     {         cout << 1 << endl;         a++;//a=a++(先运算,后自增)     }     else         cout << 2 << endl;     if (a == 2)         cout << 3 << endl; }











dos.

#include <iostream>
usando el espacio de nombres estándar;
int principal()
{     int a;     cin >> a;     if (a == 1)     {         cout << 1 << endl;          ++a;     }     else         cout << 2 << endl;     if (a == 2)         cout << 3 << endl; }











Los resultados son todos:

ingresar producción
1

1

3

2

2

3

El mismo resultado de los dos programas muestra que:

Cuando se ingresa a = 1, el programa primero ejecuta la primera declaración if, realiza un autoincremento y luego ejecuta la segunda declaración if

Es decir: la segunda declaración if se ejecuta después de que se ejecuta la primera declaración.

Demuestra nuestro diagrama de flujo anterior para este programa. No está mal.

Por tanto, para el sentido expresado en el libro, la frase razonable correspondiente debería ser:

if...else if declaración

Aquí estamos discutiendo la situación en la que "{ }" no está incluido en la función función en C++.

Para conocer algunas reglas en lenguaje C y el uso interno de "{ }", consulte:

Lenguaje C: diferencia entre if, if...else, if...else if...else, if...if...if declaración_Siwen~'s Blog-CSDN Blog_if if

Supongo que te gusta

Origin blog.csdn.net/Zz_zzzzzzz__/article/details/126124234
Recomendado
Clasificación