Notas de leitura do "C ++ Primer" - Instruções do capítulo 5

Autor: Ma Zhifeng
link: https: //zhuanlan.zhihu.com/p/23669058
Fonte: sabe quase com
direitos autorais do autor. Para reimpressões comerciais, entre em contato com o autor para autorização. Para reimpressões não comerciais, indique a fonte.

declaração:

  • O conteúdo do artigo foi coletado e compilado do "C ++ Primer Chinese Edition (5ª edição)", e os direitos autorais pertencem ao livro original.
  • O livro original tem interpretações mais detalhadas e maravilhosas, por favor, compre livros genuínos para aprender.
  • Este artigo é apenas para aprendizagem e comunicação, qualquer forma de reimpressão é proibida
  • Sentença simples
    • Declaração de expressão
    • Extrato vazio
    • Frase composta
  • Escopo da declaração
  • Declarações condicionais
    • E se
    • interruptor
  • Declaração iterativa
    • enquanto
    • para
    • Alcance para
    • fazer enquanto
  • Declaração de salto
    • pausa
    • continuar
    • vamos para
    • Retorna
  • instrução try e tratamento de exceção
    • declaração de tentativa
    • lançar expressão
    • Classe de exceção

Declaração de expressão

Adicione um ponto e vírgula no final da expressão para se tornar uma declaração de expressão

O efeito é executar a expressão e descartar o resultado da avaliação

Extrato vazio

Contém apenas um único ponto e vírgula

Se escrevermos um ponto e vírgula extra

int i = 0;;

Na verdade, são duas frases e o próximo ponto e vírgula é uma frase vazia

Esta situação não terá efeito, mas

while( i < 10 ) ;  
    ++i;

As instruções vazias constituem o corpo do loop while, levando a um loop infinito

Declaração composta (bloco)

Instruções e sequências de declaração entre chaves, também chamadas de blocos

Bloco não termina com ponto e vírgula

Escopo da declaração

Um bloco é um escopo

As variáveis ​​definidas em if, switch, while, for pertencem ao escopo local

Declarações condicionais

MZF: Adicionar mais colchetes tornará as coisas muito mais fáceis

E se

se as declarações podem ser aninhadas

if(condition)  
    if(condition)  
        statement  
else  
    if(condition)  
        statement  
    else if(condition)  
        statement

Usaremos recuo para corresponder if ... else. Na verdade, se o número de if for maior do que else, é chamado de problema de else pendente . Else sempre corresponde ao if mais próximo não correspondido

Então, o primeiro else realmente corresponde ao if interno, e toda a frase se torna complicada e difícil de entender

Adicionar mais colchetes tornará as coisas mais fáceis

if(condition)  
{  
    if(condition)  
    {  
        //do something  
    }  
}  
else  
{  
    if(condition)  
    {  
        //do something  
    }  
    else if(condition)  
    {  
        //do something  
    }  
}

A instrução entre chaves tem apenas escopo de bloco, então para o primeiro else, o if interno é invisível, ele corresponderá ao primeiro if, que é exatamente o que queremos

interruptor

O rótulo do caso deve ser uma expressão constante de número inteiro

Uma forma simples e clara de escrever

switch( i ) 
{  
    case 0:  
        {  
            //do something 
        }  
        break;  
    case 1:  
        {  
            //do something  
        }  
        break;  
    case 2:  
        {  
            //do something  
        }  
        break;  
    default:  
        {  
            //do something  
        }  
        break;  
}

Se um rótulo de caso corresponder com sucesso, todas as ramificações de caso serão executadas sequencialmente a partir do rótulo, a menos que o processo seja explicitamente interrompido

Portanto, adicione mais colchetes e quebre , o evento se tornará simples

Declaração iterativa

  • enquanto
  • para
  • Alcance para
  • fazer enquanto

Estamos todos familiarizados com essas frases, basta ler o livro novamente

O cabeçalho da instrução for pode omitir qualquer (ou todas) as instruções init, condição e expressão

A instrução do while executa o corpo do loop primeiro e depois verifica a condição, então não importa se a condição é verdadeira, o corpo do loop será executado pelo menos uma vez

Observe que do while não termina com chaves, deve ser seguido por um ponto e vírgula

do  
    statement  
while(condition);

Declaração de salto

  • break é responsável por encerrar a instrução while, do while, for ou switch mais próxima
  • continue termina a iteração atual e inicia imediatamente a próxima iteração
  • Somente quando o switch está aninhado dentro da instrução de iteração, você pode usar continue no switch
  • Não use instruções goto no programa

instrução try e tratamento de exceção

Anormal refere-se ao comportamento anormal do programa durante a execução. Esses comportamentos estão além do escopo da função normal da função e, às vezes, além das expectativas do programador.

Em circunstâncias normais, uma exceção causará o encerramento de todo o programa

Você pode usar o bloco try para lidar com exceções.

O bloco da instrução try começa com a palavra-chave try e termina com uma ou mais cláusulas catch

As exceções lançadas no bloco try têm a chance de ser tratadas pela cláusula catch

Nossos programadores também podem lançar exceções ativamente.Por exemplo, quando a conexão do banco de dados no programa de detecção é desconectada, podemos lançar exceções para notificar outras partes do programa para processamento.

Use a expressão throw para lançar uma exceção

Para concluir o tratamento da exceção, além do bloco de instrução try e da expressão de lançamento, também precisamos de uma classe de exceção, que é responsável por transportar informações específicas sobre a exceção

A biblioteca padrão define algumas classes de exceção, mas na maioria dos casos, precisamos personalizar nossas próprias classes de exceção

Acho que você gosta

Origin blog.csdn.net/qq_26751117/article/details/53175593
Recomendado
Clasificación