Fundamentos del lenguaje C: declaración de rama (selección)

Tabla de contenido

1. ¿Qué es una declaración de rama?

2. Rama Dos Hermanos

        1. declaración si no

        2. declaración de cambio de caso


1. ¿Qué es una declaración de rama?

  •  Si trabaja duro para aprender programación y domina suficientes conocimientos de programación, podrá obtener una buena oferta en los reclutas de primavera y otoño, y alcanzar la cima de la vida.
  • Si no estudias mucho y desperdicias tus estudios, entonces graduarte equivale a estar desempleado e ir a casa a mover ladrillos.

  

 Esta es la declaración de rama (select).

2. Rama Dos Hermanos

1. declaración si no

El significado en inglés de if-else es "if-other", que es una declaración selectiva y solo ejecutará selectivamente una de las declaraciones de acuerdo con el resultado de la expresión .

Estructuras gramaticales:

si (expresión)

        declaración;

si (expresión)

        declaración;

demás

        declaración; 

 si (expresión)

        declaración;

más si (expresión)

        declaración; 

demás

        declaración;

En lenguaje C, 0 es falso y un valor distinto de cero es verdadero , al igual que el resultado de la expresión. 

#include<stdio.h>
int main()
{
    int age;
    scanf("%d",&age);
    if(age >= 0 && age < 18)
        printf("小孩");
    else if(age >= 18 && age < 40)
        printf("青年");
    else if(age >= 40 && age < 60)
        printf("中年");
    else if(age >= 60)
        printf("老年");
    else
        printf("输入年龄错误,请重新输入");
    return 0;
}

Esta es una simple declaración de selección edad por edad.

Una cosa a la que se debe prestar especial atención es que cuando la declaración controlada por nuestro if-else es más de una , debe estar entre {} , si solo hay una declaración, se puede omitir .

Mira otro fragmento de código:

#include<stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    if(a == 0)
        if(b == 2)
            printf("hehe");
    else
        printf("haha");
    return 0;
}

¿Qué tipo de resultados imprimirá ese fragmento de código?

La respuesta es: no se imprimirá nada. ¿por qué?

De hecho, la especificación de escritura del código se verá así:

#include<stdio.h>
int main()
{
    int a = 1;
    int b = 2;
    if(a == 0)
    {
        if(b == 2)
            printf("hehe");
        else
            printf("haha");
    }
    return 0;
}

Si if y else aparecen en un par, else formará una selección con el if más cercano . No debe estar alineado a la izquierda para formar un par. Recuerde el principio de proximidad .

Esto nos enseña que la escritura de código debe estar estandarizada, para que otros puedan leer su código más fácilmente, para que usted sea un excelente programador .

2. declaración de cambio de caso

El significado en inglés de switch-case es "switch-instance" , podemos entender que cuando necesitamos usar una determinada instancia , solo necesitamos presionar el interruptor .

Estructuras gramaticales:

cambiar (expresión entera)

{

        caso entero expresión constante:

                declaración;

}

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 1:
        printf("星期一\n");
    case 2:
        printf("星期二\n");
    case 3:
        printf("星期三\n");
    case 4:
        printf("星期四\n");
    case 5:
        printf("星期五\n");
    case 6:
        printf("星期六\n");
    case 7:
        printf("星期日\n");
    }
    
    return 0;
}

Como en el código anterior, escribimos una declaración para seleccionar una semana. De acuerdo con nuestra explicación de switch-case, cada caso es una instancia , y la 'a' en () es el interruptor que queremos presionar , presione el interruptor, luego ingrese la instancia correspondiente .

Pero tal fragmento de código tiene una desventaja:

Como se indicó anteriormente, cuando elegimos imprimir solo "jueves" , se imprime junto con los siguientes . ¿A qué se debe esto?

De hecho, esto es un defecto de la declaración switch-case en sí . Aunque puede controlar por qué entrada entramos, no puede realizar directamente la salida por donde entramos , por lo que es necesario utilizar break para resolver este defecto.

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
        break;
    case 5:
        printf("星期五\n");
        break;
    case 6:
        printf("星期六\n");
        break;
    case 7:
        printf("星期日\n");
        break;
    }
    
    return 0;
}

Como arriba, usamos break , una palabra clave "violenta" , para romper la declaración de cambio, para darnos cuenta de dónde entra y dónde sale. Esto logrará el resultado que queremos. Por lo tanto, break es una parte integral de la declaración switch-case .

Además de break, hay otra palabra clave, que también es parte integral de la declaración switch-case .

Es decir: default, que en inglés significa “no coincide” , es decir, cuando no coinciden todos los casos, es hora de que actúe.

#include<stdio.h>
int main()
{
    int a;
    scanf("%d", &a);
    switch (a)
    {
    case 6:
    case 7:
        printf("weekend\n");
        break;
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        printf("weekday\n");
        break;

    default:
        printf("输入错误,请重新输入");
    }
    
    return 0;
}

Cuando ingreso un carácter distinto del 1 al 7, necesito que el valor predeterminado sugiera que ingresé un error .

Al mismo tiempo, el código anterior también parece decirles a todos que las expresiones constantes enteras detrás del caso pueden estar desordenadas , pero se recomienda que las escriba en orden por el bien del orden.

 


Bueno, este es el final de compartir el conocimiento de la declaración de rama (selección). Si tiene alguna pregunta o adición, bienvenido a comentar y enviar mensajes privados.

Amigos a quienes les gustan los artículos del blogger, no olviden hacer clic tres veces , ¡nos vemos en el próximo número!

Supongo que te gusta

Origin blog.csdn.net/2303_78442132/article/details/132245548
Recomendado
Clasificación