11 - Estrutura de um programa em C
directivas para o compilador main ( )
{
declarações instruções }
-É possível utilizar comentários, exemplo:
/* Comentário */
que não são traduzidos pelo compilador, pois servem apenas para tornar o código-fonte mais “claro”.
- A principal directiva é o
#include
que serve para incluir no programa funções especiais, - E a que sempre utilizaremos é:
#include <stdio.h>
Que inclui funções de input e output ( printf e scanf ).
- também é útil:
#include <math.h>
que inclui as funções matemáticas:
sqr sqrt pow sin cos tan log
- o main é a função principal , ou seja o programa propriamente dito, e é formado pelas declarações e instruções entre as chaves { }
- as declarações devem aparecer por primeiro, e indicam todas as variáveis que o programa pode utilizar.
- o nome de uma variável deve sempre começar por uma letra (“outros” caracteres também são permitidos, mas nunca poderá ser um dígito).
- as declarações e as instruções são sempre separadas por ; (ponto e vírgula).
- a execução do programa começa na primeira instrução e segue sequencialmente até à última. Este fluxo pode ser quebrado por intruções especiais que estudaremos mais adiante.
exemplo:
#include <stdio.h>
main ( ) {
int a, b, soma;
printf (“pf introduza o primeiro valor\n”);
scanf(“%d”,&a);
printf (“pf introduza o segundo valor\n”);
scanf(“%d”,&b);
soma = a + b;
printf (“a soma é %d\n”,soma);
}
onde temos que:
#include <stdio.h> é uma directiva ...
int a, b, soma; é uma declaração ...
printf (“pf introduza o primeiro valor\n”);
scanf(“%d”,&a); são
printf (“pf introduza o segundo valor\n”); instruções scanf(“%d”,&b);
soma = a + b;
printf (“a soma é %d\n”,soma);
...
E não esqueça!
A execução do programa começa na primeira instrução e segue
sequencialmente até à última.
12 – Tipos de dados
• Inteiros
• Reais
• Caracteres
12.1 – Inteiros
Operações:
+ soma 10 + 3 ( = 13)
- subtração 12 – 2 ( = 10)
* multiplicação 5 * 10 ( = 50) / divisão inteira 20 / 3 ( = 6)
% resto divisão inteira 20 % 3 ( = 2)
12.1.1 – Declaração de variáveis
Para declarar uma variável inteira utilizamos a seguinte sintaxe:
int var1 [var2, var3,...];
Exemplos
int i;
int a,b,f;
int soma, x, produto;
12.1.2 – Escrita e leitura de inteiros
• A escrita e a leitura de inteiros é feita através do formato:
%d
Exemplos
printf (“%d %d %d\n”,a,8,f);
- são escritos: o valor da variável inteira a , o número 8 e o valor da variável inteira f
(nesta ordem e separados por espaço).
- é obrigatório que as variáveis a e f estejam previamente declaradas!
Exemplos
scanf (“%d %d”,&valor1, &valor2);
- são lidos : um valor inteiro para a variável inteira valor1 e um valor inteiro para a
variável inteira valor2 (nesta ordem).
- observe que é necessário o & antes de cada variável
- é obrigatório que as variáveis valor1 e valor2 estejam previamente declaradas!
12.2 – Reais
Operações:
+ soma 1.2 + 3.0 ( = 4.2)
- subtração 4.12 – 2.3 ( = 1.82)
* multiplicação 5.2 * 10.0 ( = 52.0) / divisão (real) 10.0 / 4.0 ( = 2.5)
12.2.1 – Declaração de variáveis
Para declarar uma variável real utilizamos a seguinte sintaxe:
float var1 [var2, var3,...];
Exemplos
float x;
float w, y, z;
float altura, peso, a;
12.2.2 – Escrita e leitura de reais
• A escrita e a leitura de reais é feita através do formato:
%f
Exemplos
printf (“%f %f %f\n”,x,y,4.2);
- são escritos: o valor da variável real x , o valor da variável real y e o número 4.2 (nesta ordem e separados por espaço).
- é obrigatório que as variáveis x e y estejam previamente declaradas!
Exemplos
scanf (“%f %f”,&altura, &peso);
- são lidos : um valor real para a variável real altura e um valor real para a variável real
peso (nesta ordem).
- observe que é necessário o & antes de cada variável
- é obrigatório que as variáveis altura e peso estejam previamente declaradas!
12.3 – Caracteres
Um caracter ocupa um byte. E é
representado entre plicas (aspas simples).
Por exemplo:
’a’ , ’A’ , ’x’ , ’n’
Observe que existe diferença entre maiúsculo e minúsculo!
Alguns caracteres especiais:
\a sinal sonoro (bell)
\b volta uma posição (backspace)
\n nova linha (new line)
\t tabulação (tab)
12.3.1 – Declaração de variáveis
Para declarar uma variável caracter utilizamos a seguinte sintaxe:
char var1 [var2, var3,...];
Exemplos
char c;
char a, b, d;
char resposta, marca, p;
12.3.2 – Escrita e leitura de caracteres
A escrita e a leitura de caracteres é feita através do formato:
%c
Exemplos
printf (“%c %c %c\n”,a,b,’E’);
- são escritos: o valor da variável caracter a , o valor da variável caracter b e o caracter E (nesta ordem e separados por espaço).
- é obrigatório que as variáveis a e b estejam previamente declaradas!
Exemplos
scanf (“%c%c”,&resposta, &marca);
- são lidos : um caracter para a variável caracter resposta e um caracter para a variável caracter marca (nesta ordem).
- observe que é necessário o & antes de cada variável
- é obrigatório que as variáveis resposta e marca estejam previamente declaradas!
12.4 – Expressões aritméticas
• Um expressão aritmética contém valores numéricos (inteiros e reais)
• e operadores (+, - ,*, / , % ).
O computador calcula o valor de uma expressão segundo as seguintes regras:
- se contiver apenas inteiros tem valor inteiro, - se contiver um (ou mais) real tem valor real, - ( * , / , % ) tem mais prioridade que ( + ,- ), - os cálculos são da esquerda para à direita
(na mesma prioridade),
- os parenteses indicam que os cálculos devem ser feitos por primeiro.
Exemplos:
2/4 ( = 0)
2.0/4 ( = 0.5) 2 + 3*4
(2 + 3)*4 ( = 20 )
8/4/2 ( = 1 )
8/(4/2)
( = 14 )
( =4 )
12.5 – A instrução de atribuição
Sintaxe:
variável = expressão Funcionamento:
a variável recebe o valor da expressão
;
Exemplo:
...
int a; float x; char c;
a = 6/4; x = 2.2 + 3.0*1.5; c = ’Z’;
...
Observações
- Tanto um inteiro como um real utilizam 4 bytes.
(se for necessário podemos utilizar
long int e double que utilizam 8 bytes e
permitem números com um maior número de dígitos)
Observações
- Nos exemplos anteriores para a escrita, não foram utilizados mensagens ou textos
explicativos, mas nos nossos programas devemos sempre utilizar estas mensagens.
Importante - Programa
É um ficheiro que estando na memória do computador tem a capacidade de
comandar a CPU.
Executar programa é dar uma ordem ao sistema operativo para que coloque o
programa na memória e lhe passe o
comando ($ ./prog )
.Importante - INPUT
É a entrada de dados para o programa (memória do computador)
e é feita do terminal para as variáveis (que são “pedaços” de memória com um nome)
a instrução que faz entrada de dados é o:
scanf
Importante - OUTPUT
É a saída de dados do programa (memória do computador)
e são: as mensagens (textos) e os conteúdos (valores) das variáveis, que vão da memória para o terminal.
a instrução que faz a saída de dados é o:
printf
Importante - Atribuição
É maneira de “darmos” um valor a uma
variável (pedaço de memória com um nome) ou: através de uma instrução de atribuição
(exemplo: x = 2; )
ou: através de um input
(exemplo: scanf(“%d”,&a);
obs - a rigor, o scanf é um pequeno programa que contém uma atribuição (a = ...).
Não esqueça! OUTPUT
escrever
“escreva um valor”
equivale a:
printf(“escreva um valor\n”);
e significa que a mensagem
“escreva um valor” será escrita no terminal
Não esqueça! - INPUT
ler a
equivale a:
scanf(“%d”,&a);
e significa que a varíavel a receberá o valor escrito no terminal.
Não esqueça - OUTPUT
escrever
“a soma é” soma
equivale a:
printf(“a soma é %d\n”,soma);
e significa que a mensagem “a soma é” e o conteúdo da variável soma serão escritos no terminal.