Introdução A Linguagem C
Introdução A Linguagem C
Introdução A Linguagem C
Sumário
1
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Objectivos da Semana 1
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Sumário
2
➢ Apresentação
➢ Objectivos da Semana 1
➢ Bibliografia
➢ Introdução à linguagem C
• Disciplina:
Programação para Engenharia
• Professor da Disciplina:
Sediangani Daniel Nunes Sofrimento
Grau Académico: Licenciatura em Engenharia informática (Portugal)
Experiência profissional:
• Web developer na Empresa Create It(Portugal)
• Web developer na Empresa Bee Engineering (Portugal)
• Web developer na Empresa Novabase (Portugal)
Outros:
Certificado Microsoft de programação Web e C#
Sumário
4
➢ ApresentaçãoObjectivos da Semana
➢ Objectivos da Semana 1
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Objectivos da Semana 1
5
➢ Apresentação
➢ Programa
➢ Objectivos da Semana 1
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Bibliografia
7
Principal
➢ Apresentação
➢ Programa
➢ Objectivos da Semana 1
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Introdução 9
➢ Compilador
• É um programa que traduz o programa escrito por nós em código fonte (source
code) para código máquina, pronto para ser executado pelo computador;
• Lê todo o programa “source”, valida a sintaxe e traduz tudo para linguagem
máquina, introduzindo algumas optimizações;
Compilação
➢ Compilação
swap (int v[], int k) {
int temp;
Programa em temp = v[k]; Compilador
linguagem C v[k] = v[k+1];
v[k+1] = temp;
}
...
Programa em add $2, $4,$2
linguagem Assembler
lw $15, 0($2)
Assembly lw $16, 4($2)
...
00000000101000010000000000011000
00000000100011100001100000100001
Programa em 10001100011000100000000000000000
linguagem 10001100111100100000000000000100
máquina 10101100111100100000000000000000
Conceitos básicos 16
➢ Interpretador
• Traduz e executa linha a linha. Os erros de sintaxe referem-se apenas à linha que
está a ser executada;
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Expressão
❑ Conjunto de acções que, após calculado, pode produzir um resultado ou valor
➢ { – início
➢ } – final
Estruturas Básicas do C 19
➢ Instrução
➢ Comentários
❑ são úteis para os humanos mas são ignorados pelo computdor.São em geral
usados para descrever o código
❑ Formatos
▪ Multilinha
Ex: /* int x = 2;
int idade = 26; */
▪ Linha a Linha
Ex: // int x = 2;
// int idade = 26;
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Tipos de dados em C 24
➢ void
Vamos começar por
▪ Multiplicidade = 0 aqui!
❑ Em C podem ser
▪ com sinal – representam números quer negativos, quer positivos
▪ Sem sinal – representam apenas valores absolutos (números >= 0
Limites dos Tipos Inteiros 29
Caracter Significado
\a beep
\b Backspace
\f Form feed
\n Newline
\r Carriage return
\t Tab horizontal
\v Tab vertical
\\ Barra invertida
Declaração de variáveis do tipo caracter 35
❑ char c1;
▪ int verdade = 1;
▪ int falso = 0;
Reais 37
❑ Existem 3 tipos
❑ float
❑ double
❑ long double
Limites dos Números Reais 38
Dimensão dos Tipos de Dados 39
❑ Exemplos:
❑ enum mes {Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out,
Nov, Dez };
❑ + Exemplos
❑ enum mes {Jan=1, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out,
Nov, Dez };
❑ Atenção que em ambos os casos o nome do tipo deve ser sempre precedido
de enum:
▪ enum booleano
▪ enum mes
Sumário 43
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis e Constantes
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comando de entrada e saída
➢ Comandos de atribuição
Variáveis 44
• O nome de uma variável começa obrigatariamente por uma letra ou pelo carácter
“_” (underscore). Os restantes caracteres podem ser letras, algarismos ou o
underscore.
• O nome (identificador) de uma variável não pode ser uma palavra reservada da
linguagem .
tipo_de_dado nome_variavel;
Exemplo:
int x ; double y;
double z; int mes;
❑ Constants (variáveis que não podem ver o seu valor alterado ao longo da execução
do código
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Compontentes e Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis e Constantes
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Operadores 48
❑ Operadores aritméticos
▪ Binários
▪ Incremento ou decremento
Operadores 48
++op vs op++
❑ Exemplo 1 ❑ Exemplo 2
• Para simplificar, podemos pensar que a expressão ++cont significa “incremente cont
imediatamente” enquanto que a expressão cont++ significa “use agora o valor de cont
e depois incremente-o”.
Operadores 49
❑ Operadores relacionais
Operadores 50
❑ Operadores de atribuição
▪ Operador de atribuição normal =
❑ Operadores Lógicos
Operador Ternário 52
?:
❑Exemplo 1
8
Operador Ternário 53
?:
❑Exemplo 2
▪ 'x' > 'T' ? 10 : 5
▪ 1 ? 10 : 5 = 10
Sumário 54
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Compontentes e Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Conversão entre tipos de dados
➢ Comandos de entrada e saída
Conversão entre tipos de dados 55
❑ byte > short > int > long > float > double
O oposto é falso
Conversão de Tipos Explícita 58
Operador Cast
➢ O operador cast têm a função de forçar uma variável a ser de um tipo diferente do que
foi declarado.
➢ Os valores para n1, n2, n3, e n4 são todos inteiros logo a soma destes também dá um
número inteiro. Essa soma foi dividida por um número inteiro (4), que é um número
inteiro.
➢ Em C, uma operação realizada apenas com números inteiros não passa um valor de
outro tipo como resposta.
➢ Para forçarmos que uma variável seja de um outro tipo temos de recorrer ao operador
Cast.
➢ Sintaxe do Cast
➢ Apresentação
➢ Programa
➢ Bibliografia
➢ Introdução à linguagem C
➢ Breve história e conceitos básicos
➢ Instalação e utilização do compilador (Devcpp-4.9.9.4)
➢ Compontentes e Estrutura de um programa em C
➢ Tipos de dados em C
➢ Variáveis
➢ Operadores e expressões
➢ Comandos de entrada e saída
Saída de dados 62
▪ Exemplo:
printf(“Olá Mundo!”);
❑ De notar que a cadeia de caracteres pode conter sequências de escape, por exemplo
printf(“Ola\nMundo!”);
Mostrará no monitor:
Olá
Mundo!
❑ Por exemplo, um programa em C que imprima no ecrã "Eu nasci em 2112, no dia
21 do mes 12”
printf("Eu nasci no ano %d, no dia %d do mes %d", 2112, 21, 12);
Saída de dados 64
scanf(“%caracter_equivalente_ao_tipo_da_variavel ”, &nome_da_variavel)
int numero;
scanf(“%d”, &numero);