Você está na página 1de 10

Linguagem C

A linguagem C existe para a programação de sistemas, como por exemplo:


sistemas de operação, editores, compiladores, entre outros.
Esta foi desenvolvida nos anos 70 para o sistema UNIX, sendo que nos anos 80 foi
popularizada em sistemas como os PCs MS-DOS, Windows e Apple.

Existem assim linguagens baseadas em C, sendo elas:

● C++, estende a linguagem C com abstrações para modalidades como as


classes, programação em objetos;

● Java, linguagem baseada em C++ com gestão de mémoria e execução em


máquinas virtuais;

● C#, linguagem derivada do C++/ e Java com execução na plataforma .NET;

● Go, linguagem de programação de sistemas com sintaxe leve e mecanismos


para concorrência.

Caraterísticas da Linguagem C:

● Linguagem relativamente pequena;


● Baixo-Nível;
● Permissiva.

Vantagens da Linguagem C:

Eficiência:

● Pois permite ao programador controlar o uso de recursos como por exemplo


o tempo e a memória;
● Importante em sistemas críticos.

1
Portabilidade:

● Existem compiladores C para praticamente todos os processadores de


sistema operativos.

Expressividade:

● Suporta operações do nível da máquina;

Bibliotecas:

● A linguagem C não inclui funções para matemáticas;


● São disponibilizadas bibliotecas externas.

Desvantagens da Linguagem C:

● Obriga o programador a especificar muitos detalhes de implementação;


● Os programas em C podem ser difíceis de compreender e modificar.

Execução:

Para executar um programa em C, inicialmente tem que ser traduzido para


código-máquina, sendo que esta tradução é efetuada por um programa compilador.

Fases de tradução:

● Pré-processamento;

● Compilação;

● Ligação.

Diretivas:

Uma diretiva é indicada por um linha começada por #, como por exemplo:

#include <stdio.h>

2
Funções:

Uma função agrupa uma sequência de instruções com um nome, a implementação


da linguagem C disponibiliza várias bibliotecas com funções pré- definidas, sendo
que o resultado de uma função é especificado com a instrução return.

Função Main:

Um programa completo deve definir uma função main que é executada quando o
programa inicia, o valor retornado de main representa o código de erro para o
sistema operativo, o programa finaliza quando o retornamos o valor 0.

int main(void)
{
....
return 0;
}

Instruções:

O corpo de uma função é uma sequência de instruções,sendo que o exemplo


seguinte só mostra dois tipos de instruções, sendo elas, printf e return. Cada
instrução tem que terminar com um ponto-e-vírgula (;)

printf(" ");
printf(".\n");
return 0;

É possível existir comentários nas linhas de código, sendo esta uma boa prática dos
programadores, contudo para se fazer um comentário em linhas de código é
necessário usar /* para começar o comentário e acabar com */.

/* Isto é um comentário */

/*
Autor: Margarida Oliveira

3
Ficheiro: comentário.c

*/

é possível ainda fazer um comentário de um linha só como por exemplo:

// Isto é um comentário

Estes dois tipos de comentários não vão interferir no código que precisamos para
que o programa corra.

Tipo:

As variáveis em C têm um tipo associado, sendo que o tipo numéricos básicos são:
int e float.​
Uma variável de tipo int pode guardar valores inteiros, positivos e negativos, uma
variável float guarda valores de vírgula flutuantes.

Declarações:

As variáveis tem sempre que ser declaradas antes de serem usadas como por
exemplo;

int idade;
float salario;

É possível declarar múltiplas variáveis do mesmo tipo de uma só vez como por
exemplo:

int num_bi,idade,num_telefone;
float salario,peso,altura;

Sendo que estas declarações têm que ocorrer antes das instruções dadas.

int main(void) {
/* declarações de variáveis */
int num_bi,idade,num_telefone;
float salario,peso,altura;
/* seguem-se instruções */

}

4
Atribuição:

Podemos definir ou modificar o valor de uma variável usando uma atribuição.,sendo


que a atribuição têm de ocorrer depois da declaração​.

int altura; // declaração


altura = 8; // atribuição

Imprimir valores:

Podemos usar a função de biblioteca printf para imprimir valores das variáveis,
como por exemplo:

int num_bi;
num_bi = ;12456778
printf("Número BI: %d\n", num_bi);

%d é um campo que é substituído pelo valor duma variável inteira em decimal;


%f apresenta o resultado arredondado a 6 casas decimais.

Ler valores:

A função de biblioteca scanf é usada para ler valores da entrada-padrão,tal como


printf, como por exemplo ler um valor inteiro e guardar o resultado na variável n.

int n;
scanf("%d", &n);

É necessário colocar o sinal & antes do nome da variável a ler,para ler um float não
necessitamos de especificar casas decimais.

float x;
scanf("%f", &x);

Inicializações:

5
As variáveis em C não são inicializadas automaticamente, sendo que uma variável a
que não atribuímos um valor diz-se não-inicializada:

int x, y;
y = x + 1; // variável x não-inicializada

Operadores relacionais:

Os operadores binários para comparações entre expressões numéricas:

menor que: <


maior que: >
menor ou igual: >=
igual: ==
diferente: !=

Instrução if:

A instrução if executa condicionalmente uma instrução conforme o resultado de uma


expressão

if ( line_num == MAX ) line_num = 0;


// continuação do programa

Alternativa else

● A instrução if pode incluir uma alternativa else:


● Podemos incluir instruções if dentro de outros ifs

if (i > j) {
if (i > k) {
max = i;
} else {
max = k;
}
} else {
if (j > k) {
max = j;
} else {
max = k;

6
}
}

Operadores lógicos:

● Os operadores lógicos são frequentemente usados para combinar


comparações
● Por exemplo, para testar se uma variável i está dentro de um intervalo:

if (0 <= i && i < n) ...

Para testar a condição oposta (i está fora do intervalo):

if (0 > i || i >= n) ...

Funções:

● Uma função agrupa uma sequência de instruções com um nome;


● Cada função pode receber argumentos e retornar um valor;
● Cada função é um subprograma com as suas declarações e instruções
próprias.

Exemplo:

Uma função que calcula a média aritmética de dois valores:

float media(float a, float b)


{
float m = (a + b) / 2.0;
return m;
}
O identificador da função é média, o tipo float antes do identificador indica o tipo do
resultado, os parâmetros a e b são os dois valores de tipo float que devem
fornecidos para executar a função

Instrução return:

7
● Uma função com tipo diferente de void deve usar a instrução return para
especificar o resultado, como por exemplo:

return expressão ;

Não são necessário parêntesis à volta da expressão

Por vezes a expressão é uma constante ou variável, mas pode ser uma expressão
complexa, como por exemplo:

return 0;
return n;
return (x + y) / 2.0;

Função auxiliar:

Vamos definir uma função auxiliar:

void imprime_algarismo(int a);

O argumento é um inteiro (o valor do algarismo), sendo que a função imprime o


texto e não retorna um valor útil (resultado void).

Ciclos:
Um ciclo é uma instrução que executa várias vezes outras instruções (o corpo do ciclo),os
ciclos em C são controlados por uma expressão, sendo esta avaliada a cada iteração.

● Se o seu valor for zero o ciclo termina, sendo que se for diferente de zero, o ciclo
continua.

Instruções de ciclos:

while: ​É usado para ciclos em que a expressão é testada antes de executar o corpo do
ciclo.

n = 10;
i = 1;
while (i < n) /* expressão de controlo */
i = i * 2; /* corpo do ciclo */

8
do...while: ​É usado para ciclos em que a expressão é testada depois de executar o corpo
for.

for (i = 0; i < 10; i++)


printf("%d\n", i);

Instrução break: ​Usualmente um ciclo termina apenas quando a condição, esta é testada
antes de uma iteração de while ou for

Depois de uma iteração de do...while, também podemos usar a instrução break para
terminar um ciclo em qualquer momento.

int i, n;
... /* obter valor de `n' */
for (i = 2; i < n; i++) {
if (n%i == 0) break;
}

9
10

Você também pode gostar