O meu primeiro programa em C

O meu primeiro programa em C

O seguinte programa está escrito na linguagem de Programação C.
       #include <stdio.h>

        main()
        {
           printf("Este é o meu primeiro programa em C.\n");
        }
Ao ser executado, o programa vai escrever o seguinte no ecrã:
        Este é o meu primeiro programa em C.

Explicação do programa.

O início da execução de todos os programas em C começa depois da palavra,
         main()
As duas chavetas, { e }, assinalam o início e o fim do programa. O objectivo da declaração,
         #include <stdio.h>
é permitir o uso da instrução printf a qual permite escrever para o ecrã. Praticamente todos os programas em C tem esta linha no inicio do programa. O texto a ser impresso pelo printf() deve ser escrito entre aspas. Este programa só tem uma instrução,
         printf("Este é o meu primeiro programa em C.\n");
O printf() vai escrever no ecrã tudo o que aparece entre aspas, exceptuado alguns caracteres especiais tais como o \n e %. O \n significa o caracter newline e indica ao computador para mudar de linha. Isto é, o programa escreve no ecrã,
         Este é o meu primeiro programa em C.
e o cursor fica colocado no início da linha seguinte.

O meu segundo programa

O programa seguinte é diferente do primeiro mas ambos produzem exactamente o mesmo output.
        #include <stdio.h>

        main()
        {
           printf("Este é o");
           printf(" meu primeiro");
           printf(" programa em C.");
           printf("\n");
        }
Reparem que todas as instruções terminam com ponto e vírgula (;)
Outro aspecto importante é que as palavras-chave, tais como main e printf são escritas em minúsculas.

Programa para somar 2 números

O programa seguinte pede ao utilizador para introduzir dois números e apresenta no ecrã a respectiva soma.
        #include <stdio.h>

        main()
        {
           int a, b, s;

           printf("Introduza um número:\n");
           scanf("%d", &a);
           printf("Introduza outro número:\n");
           scanf("%d", &b);
           s = a + b;
           printf("A soma de %d com %d dá %d\n", a, b, s);
        }
Ao ser executado, o programa vai fazer o seguinte (o que aparece em bold é escrito pelo utilizador):
        Introduza um número:
        7
        Introduza outro número:
        18
        A soma de 7 com 18 dá 25

Explicação do programa.

Tal como nos exemplos anteriores, o programa começa a ser executado depois da palavra main(). O programa começa por declarar três variáveis do tipo inteiro:
        int a, b, s;
Podem pensar numa variável como se fosse uma caixa que pode ter um valor lá dentro.



As variáveis correspondem a localizações na memória do computador. Cada variável tem um tipo de dados associado. No exemplo acima, as 3 variáveis são do tipo inteiro. Isso é especificado com a palavra int no início da declaração das variáveis. Ao declararmos uma variável do tipo int, estamos a dizer ao computador que o conteúdo da variável vai ser um valor inteiro (por exemplo, 75).
Depois da declaração das variáveis, o programa tem 6 instruções, que são executadas sequencialmente uma após outra. A primeira instrução é um printf tal e qual como vimos na aula passada. Depois do primeiro printf vem a instrução:
        scanf("%d", &a);
O scanf() é a instrução que permite que o utilizador introduza dados através do teclado. A instrução tem um aspecto feio, mas não se assustem.
O scanf() tem 2 argumentos (2 partes) separados por uma vírgula. O primeiro argumento aparece entre aspas, e especifica o tipo de variável que vem a seguir. No exemplo temos "%d", que corresponde ao tipo de dados inteiro. O segundo argumento (&a) especifica a variável na qual se vai guardar a informação introduzida pelo utilizador (para já podem ignorar o significado do sinal &, mas lembrem-se que sempre que utilizarem o scanf devem escrever &x, onde x é o nome da variável onde querem guardar a informação introduzida).
Quando a instrução scanf() é executada, o computador fica à espera que o utilizador introduza qualquer coisa através do teclado. Aquilo que o utilizador introduzir vai passar a ser o valor da variável especificada no scanf. No nosso exemplo, se o utilizador introduzir o número 7 o estado das variáveis passa a ser:



A instruções 3 e 4 são semelhantes às duas primeiras. Se o utilizador introduzir o número 18 o estado das variáveis passa a ser:

A quinta instrução é uma instrução de atribuição:
       s = a + b;
Neste tipo de instrução, aquilo que está no lado esquerdo do sinal de igual é sempre uma variável. Aquilo que está do lado direito do sinal de igual é uma expressão. Ao encontrar este tipo de instrução, o computador efectua o cálculo da expressão do lado direito (a + b), e coloca o resultado dentro da variável que está no lado esquerdo (s). Por isso é que se chama uma instrução de atribuição, está-se a atribuir à variável s o valor de a + b.


A última instrução do programa é:
       printf("A soma de %d com %d dá %d\n", a, b, s);
Esta instrução de printf() tem um formato ligeiramente diferente daquele que vimos nos exemplos anteriores. O primeiro argumento do printf é:
       "A soma de %d com %d dá %d\n"
Reparem que existem 3 sinais de %d. Esses %d são uma espécie de buracos que serão substituídos pelos valores de a, b, e s, respectivamente.
Se os valores de a, b, e s forem 7, 18, e 25, a instrução:
       printf("A soma de %d com %d dá %d\n", a, b, s);
iria escrever no ecrã:
       A soma de 7 com 18 dá 25
e a instrução:
       printf("A soma de %d com %d dá %d\n", b, a, s);
iria escrever no ecrã:
        A soma de 18 com 7 dá 25

O programa acima soma 2 números inteiros. Se o utilizador introduzir um número real, por exemplo 3.7, o programa não vai ter o comportamento esperado. De seguida, apresenta-se um programa que soma 2 números reais. A única diferença é que as variáveis são declaradas como float e todos os %d são substituídos por %f.
        #include <stdio.h>

        main()
        {
           float a, b, s;

           printf("Introduza um número:\n");
           scanf("%f", &a);
           printf("Introduza outro número: "\n);
           scanf("%f", &b);
           s = a + b;
           printf("A soma de %f e %f é %f\n", a, b, s);
        }

Comentários