Diário da linguagem C 9 3 instruções if (programação de estrutura de ramificação)

se

1. Se declaração

Livro P39 Exemplo 3-3:

#include <iostream>
usando namespace std;
void main()
{     int a, b, max;     cout << "Por favor, insira dois números: " << endl;      cin >> a >> b;     máx = a;     se (max < b) max = b;     cout << "max=" << max << endl; }






Problemas encontrados neste projeto:

1. Deve ser escrito na forma de "instrução if (<expressão>)"?

se <expressão>

declaração

O formulário também pode ser, por exemplo:

#include <iostream>
usando namespace std;
void main()
{     int a, b, max;     cout << "Por favor, insira dois números: " << endl;      cin >> a >> b;     máx = a;     se (max < b)           max = b;     cout << "max=" << max << endl; }







2. Ao inserir cin, continue inserindo >>, não mude repentinamente para "," no meio

Isso dará um erro: a variável não foi inicializada. exemplo:

#include <iostream>
usando namespace std;
int main()
{     int a, b, max;     cout << "Por favor, insira dois números: " << endl;     cin >> a , b;     máx = a;     se (max < b) max = b;     cout << "max=" << max << endl; }






 3. Ao inserir cin, insira várias variáveis ​​e use "enter (tecla de alimentação de linha)" para distinguir variáveis ​​diferentes em vez de "," para distinguir, por exemplo:

 Neste momento, não importa qual valor é inserido na variável b, o resultado é apenas um

(Porque o uso de "," é ignorado por padrão após "," ou o padrão é 0 após ",")

4. A instrução "if...then..." no VISUAL BASIC não funciona em C++

(então não pode ser inserido após a instrução if), por exemplo:

#include <iostream>
usando namespace std;
int main()
{     int a, b, max;     cout << "Por favor, insira dois números: " << endl;      cin >> a >> b;     máx = a;  se (max < b) então max = b;     cout << "max=" << max << endl; }




  

2. A instrução if...else

 Livro P39 Exemplo 3-4:

#include <iostream>
usando namespace std;
int main()
{     int a, b;     cout << "Insira dois números:" << endl;      cin >> a >> b;     if (a > b)         cout << "max=" << a << endl;      else         cout << "max=" << b << endl; }







3. declaração if...else...if

 Livro P40 Exemplo 3-5:

#include <iostream>
usando namespace std;
int main()
{     char c;     cout << "insira um caractere: " << endl;      cin >> c;     if (c < 32)         cout << "Este é um caractere de controle." <<endl;     else if (c >= '0' && c <= '9')         cout << "Este é um dígito." <<endl;     else if (c >= 'A' && c <= 'Z')         cout << "Esta é uma letra maiúscula." << endl;          else if (c >= 'a' && c <= 'z')         cout << "Esta é uma letra minúscula. 













Perceber:

Strings de entrada são tratadas como letras maiúsculas/minúsculas de saída, por exemplo:

 Na minha opinião, esta declaração if...else...if na verdade não é if...else...if em essência, mas if...else if

Como o efeito da instrução if...else...if (como segue e o livro P40) o fluxograma desenhado não é o mesmo:

exemplo:

#include <iostream>
usando namespace std;
int main()
{     int a;     cin >> a ;     if (a==1)         cout << 1<< endl;      senão         cout<< 2 << endl;     if (a == 2)         cout <<3 << endl; }








resultado:

Para verificar se a segunda instrução if é executada após a primeira instrução if, projetamos o seguinte programa:

um.

#include <iostream>
usando namespace std;
int main()
{     int a;     cin >> a;     if (a == 1)     {         cout << 1 << endl;         a++;//a=a++(先运算,后自增)     }     else         cout << 2 << endl;     if (a == 2)         cout << 3 << endl; }











dois.

#include <iostream>
usando namespace std;
int main()
{     int a;     cin >> a;     if (a == 1)     {         cout << 1 << endl;          ++a;     }     senão         cout << 2 << endl;     if (a == 2)         cout << 3 << endl; }











Os resultados são todos:

digitar saída
1

1

3

2

2

3

O mesmo resultado dos dois programas mostra que:

Quando a=1 é inserido, o programa primeiro executa a primeira instrução if, realiza o auto-incremento e, em seguida, executa a segunda instrução if

Ou seja: a segunda instrução if é executada após a execução da primeira instrução.

Isso prova nosso desenho de fluxograma anterior para este programa. Não está errado.

Portanto, para o significado expresso no livro, a sentença razoável correspondente deveria ser:

declaração if...else if

Aqui estamos discutindo a situação em que "{ }" não está incluído na função function em C++.

Para algumas regras em linguagem C e uso interno de "{ }", consulte:

Linguagem C: diferença entre if, if...else, if...else if...else, if...if...if statement_Siwen~'s Blog-CSDN Blog_if

Acho que você gosta

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