Comandos de C

    Um comando é um trecho do programa que ao ser executado, atualiza variáveis.

 

Comando de Atribuição:

    Semanticamente, uma operação de atribuição modifica o estado atual do programa de execução. Por conseguinte, a atribuição é dependente do conceito de variáveis. Em uma atribuição:

  • A expressão é avaliada no estado atual do programa;
  • À variável é atribuído o valor calculado, substituindo o valor anterior da variável.
  • A linguagem C possui as Atribuições:
  1. Simples:

a = 3;

  1. Múltipla:

a = b = 10;

  1. Condicional: os comandos condicionais devem ser parametrizados por expressões booleanas ou inteiras. Existem 2 tipos: if (else) e Switch (case e o default).

 

  1. Atribuição composta:

a += 1;

  1. Atribuição unária:

a++ ou ++a;

  1. Atribuição expressão:

 if (x = y) z;

 

 

Comandos Seqüenciais:

    O modo mais comum de fluxo de controle é a composição seqüencial de comandos, existindo em toda LP imperativa. Em C:

n = 1; n += 3;

// aqui o n = 1 é executado antes de n += 3.

 

Comandos Condicionais (Seleções):

    Um comando condicional permite a especificação de caminhos alternativos para o fluxo de controle do programa.

    Em C possui três tipos de comandos de seleção:

  • Seleção de Caminho Condicionado: Esse comando permite que um trecho de programa seja  executado  se  determinada  condição  é satisfeita.

  • Seleção de Caminho Duplo: Existe uma escolha entre dois ramos de programa a serem executados conforme satisfação ou não de condição.

  • Seleção de Caminhos múltiplos: existe uma escolha entre vários ramos de programa a serem executados conforme valor de expressão.

 

 

Comandos Iterativos (Repetições):

    Um comando iterativo permite a especificação de ciclos no fluxo de controle do programa.

  • Iteração indefinida: Quando o número de iterações não é determinado previamente. Em geral, existem 2 tipos de comandos de iteração indefinida (um com pré-teste e outro com pós-teste) nas LPs. Por exemplo:

    No comando com pré-teste, o corpo do loop só é executado se a condição de parada é verdadeira pelo menos uma vez. No comando com pós-teste, o corpo do loop é sempre executado pelo menos uma vez.

  • Iteração definida: quando o número de iterações é determinado previamente. Iteração definida é caracterizada pelo uso de uma variável de controle.

for ( I = 1; I <= 19; I++) …

 

Chamadas de Procedimentos:

    Consiste na aplicação de um conjunto de argumentos a uma abstração de procedimento. Possui a seguinte forma: P (Pr1, Pr2, ..., Prn), onde P determina a abstração a ser aplicada e os parâmetros reais Pri determinam os argumentos.
    O objetivo de uma chamada de procedimento é atualizar variáveis. Isto é feito atualizando variáveis passadas como argumentos ou alterando o valor de variáveis não locais.

                                                              void imprime (int numero) {

                                                                       printf ("Numero %d\n", numero);

                                                              }

 

Sequenciadores:

    Para permitir um fluxo de controle com entradas e saídas múltiplas, aproximadamente todas LPs imperativas provêem comandos sequenciadores:

  • Escapes: permitem aos comandos ter uma saída diferente da usual. O escape mais comum é aquele que permite sair de comandos iterativos e comandos condicionais de múltiplos caminhos.

  • Desvios Incondicionais: transferem a execução do programa para um ponto especificado através de um rótulo. O comando de desvio (conhecido como goto) confere um grande poder e flexibilidade ao programador. Por outro lado, a excessiva liberdade que este comando fornece ao programador acaba por se tornar nociva a boa qualidade de programação, facilitando a ocorrência do que se convencionou chamar de programação macarrônica.

 

 

 

 

 

Fontes:

https://www2.lsd.ufcg.edu.br/~renato/relatorioPLP.pdf

https://www.dcomp.ufs.br/~alberto/2013-1/plp/slides/Aula16-LingImperativa_Comandos.pdf

https://www.inf.pucrs.br/~pinho/LaproI/ComandosDeDecisao/Decisao.htm

https://www.inf.ufes.br/~fvarejao/lp/cap4.doc