42
11 - Estrutura de um programa em C directivas para o compilador main ( ) { declarações instruções }

11 - Estrutura de um programa em C - di.ubi.pt · -o main é a função principal , ou seja o programa propriamente dito, e é formado pelas declarações e instruções entre as

Embed Size (px)

Citation preview

11 - Estrutura de um programa em C

directivas para o compiladormain ( )

{

declaraçõesinstruçõ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ãoprintf (“pf introduza o segundo valor\n”); instruçõesscanf(“%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 valor2estejam 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 pesoestejam 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 utilizarlong 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.