Você está na página 1de 9

Estrutura de um programa em linguagem C

Estrutura de um programa em Exemplo de um programa em


linguagem C linguagem C

Directivas de Pré-Processamento
#include <stdio.h>
#include <stdilib.h>
Declarações Globais

Declarações das funções


int main(void)
{
int main(void)
{ printf(“Hello World\n”);

Definições Locais
return 0;

Instruções

}
}

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 1


Gustavo Sebastião
Estrutura Básica de um programa em Linguagem C

Directivas de Pré-Processamento Nessas directivas contém funções, e ferramentas pré-definidas


e prontas a serem usadas.
Definição/Declaração de variáveis globais
Declarações Globais
Definições de estruturas de forma global, ou seja,
válida em todos os sub-blocos do programa
Declarações das funções Na realidade as funções podem ser declaradas antes ou
depois da função main
int main(void) Programa em linguagem C contém sempre a função main
{
As funções são delimitadas por chavetas { }.
Definições Locais Definição/Declaração de variáveis locais

Instruções
Conjunto de instruções que irão constituir o programa
(Obs: uma instrução especifica a tarefa que o processador
} irá executar)

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 2


Gustavo Sebastião
Exemplo:Cálculo da área do circulo
Descrição Narrativa Pseudo-código
Programa Calculo_da_area_do_círculo
Cálculo da área do círculo
Obter o raio do círculo
Area, Raio: Real
Solução usando
PI = 3.14159
Inicio
Calcula_Area.c Linguagem C
Se o raio for negativo, escrever “raio invalido”
Ler(Raio);
Se não, calcular a área do circulo usando Se (Raio < 0) então
a expressão (A=π.R2) Escreve(“Raio invalido”);
Senão
Terminar o Algoritmo. #include <stdio.h>
Area ← PI * Raio * Raio;
Escrever(Area); #include <stdlib.h>
Fim Se
Fluxograma Convencional Fim
int main( ){
int raio;
inicio int Area;

Ler(Raio)
scanf(“%d”,&raio);

if(raio < 0){


Sim Não printf(“raio inválido”);
Raio < 0?
}
else{
Escrever(“raio inválido”) Area ← π. Raio. Raio Area = 3.14 * raio * raio;
printf(“%f”,Area);
}
Escrever(Area) exit(0);
}

Fim

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 3


Gustavo Sebastião
Exemplo:Cálculo da Média do aluno
Descrição Narrativa Pseudo-código

Cálculo da média de um aluno Programa Calculo_da_media_de_um_aluno


N1, N2, MEDIA : Real; Solução usando
Calcula_Media_do_Aluno.c Linguagem C
Obter as suas duas notas de prova Inicio
Ler (N1, N2);
Calcular a média aritmética
MEDIA← (N1+N2)/2;
Se a média for maior que 9.5 Se (MEDIA >= 9.5) então
Escreva(“Aprovado”);
O aluno aprovou
Senão
Senão, o aluno reprovou
#include <stdio.h>
Escreva(“Reprovado”);
#include <stdlib.h>
Fim Se
Fim
Fluxograma Convencional int main( ){
int N1,N2;
inicio float Media;

Ler(N1,N2)
scanf(“%d %d”,&N1, &N2);

Media = (N1+N2)/2;
Media ← ( N1 +N2 ) / 2
if(Media >= 9.5){
printf(“Aprovou”);
S N }
Media >= 9.5 ?
else{
printf(“Reprovou”);
“Aprovado” “Reprovado” }
exit(0);
}

Fim

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 4


Gustavo Sebastião
Próximos tópicos a serem estudados
Solução usando Linguagem C
Calcula_Area.c Nome do programa

#include <stdio.h>
#include <stdlib.h>
Directivas (inclusão de bibliotecas)

int main( ){
int raio; Declaração de variáveis
int Area;

scanf(“%d”,&raio); Função que permite a entrada de dados no programa


if(raio < 0){ Estrutura de controlo de execução das instruções
printf(“raio inválido”);
}
else{
Area = 3.14 * raio * raio; Atribuição de valores às variáveis e utilização de operadores (*)
printf(“raio inválido”);
}
exit(0); Utilização de funções presentes nas bibliotecas pré-definidas
}

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 5


Gustavo Sebastião
Estrutura de um programa

Regras gerais usadas em linguagem C

• Toda função tem um corpo delimitado por { }.

• Toda função é precedida de parênteses ().

• Todo programa em linguagem C deverá conter uma função m ain .

• As linhas de códigos/instruções são sempre encerradas por


ponto-e-virgula (;).
• Os comentários são delimitados por /* */ ou ainda //

– Exemplo: /* engenharia informática */

– ou //engenharia informática

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 6


Gustavo Sebastião
Estrutura de um programa

stdlib.h

#define CONSTANTE 323


#include <stdio.h>
#include <stdilib.h> int atoi(const char *s);

float atof(const char *s);

(...) Essas directivas


são ficheiros que
int main(void) contêm algumas
{ funções pré-definidas

printf(“Hello World\n”); stdio.h

int printf(char *format,...);

return 0; int scanf(char *format,...);

int fgetc(FILE *filestream); O programador


(...) pode usar qualquer
} uma das funções
existentes nesses
ficheiros

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 7


Gustavo Sebastião
Estrutura de um programa

Bibliotecas do Unix
• Principais bibliotecas do sistema Unix/Linux
Nome das bibliotecas Função Tipo de funções no interior da biblioteca
stdio.h Standard input/output printf(); scanf(); fopen(); fclose(); fprintf();puts(); getchar();
stdlib.h Nºconversion, storage,alocation atoi(); atof(); rand(); exit(); malloc(); abs(), etc.
string.h Manipulação de strings strcpy(); strcmp(); strlen();strcat() - concatenation,etc.
math.h Funções matemáticas sin(); cos(); exp(); sqrt(); fabs(); log(); pow(); sinh(), etc.
time.h Manipulação de tempo/data clock(); time();
signal.h Mandar signals aos processos
limits.h Limites das constantes INT_MAX 32767, INT_MIN 32767, CHAR_BIT  8 bits

Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 8


Gustavo Sebastião
Algumas funcões em C Funcionalidade
printf(): print + format Imprime uma string ou um valor de uma variável no ecrã
scanf() scan +format : lê dados do teclado e guarda-os numa variável
fopen() Abre um ficheiro existente, se não existir cria o ficheiro
fclose() Fecha o ficheiro
fprintf() Imprime dados no ficheiro
puts(): put string Escreve uma cadeia de caracteres no ecrã seguido de um carácter ‘\n’
getchar() Lê um carácter (no buffer, etc)
atoi(): ask to int Converte uma string em um número inteiro
atof(): ask to int Converte uma string em um número real
rand(): random Gera números aleatórios
exit() Sair do Programa ou terminar o programa
malloc:memory allocation Alocação dinâmica de memória
abs() Determina o valor absoluto de um número
strcpy(): string copy Copia os dados de uma string para outra
strcmp():string compare Compara duas strings
strlen(): string length Determina o tamanho da string
strcat(): string concatenation Efectua concatenação ou junção entre duas strings
sin(); Determina o valor de sin(x) para um dado x (x em radianos)
cos(); Determina o valor de cos(x) para um dado x (x em radianos)
exp(); Determina o valor de exp(x) para um dado x
sqrt(); Calcula a raiz quadrada de um dado número positivo
fabs(); Determina o valor absoluto de um número
log(); Determina o valor do logaritmo decimal de um dado valor x>0
pow(); Para efectuar operações de potenciação
sinh() Determina o valor de um seno hiperbólico dado o ângulo x [radianos]
clock() -
time() -
Universidade Metodista de Angola, Departamento de Engenharias, Programação I, 9
Gustavo Sebastião

Você também pode gostar