Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
As linguagens humanas (como por exemplo o Português, Francês, Inglês, etc), servem
para a comunicação entre dois indivíduos. No caso das linguagens de programação
servem para estabelecer a comunicação entre o Homem e o computador, permitindo
assim o processamento automático da informação.
Problema Resultado
Linguagem de Baixo Nível: São aquelas mais próximas daquelas que o computador
entende. Estão directamente ligadas com a arquitetura do computador. A linguagem
Assembly, é exemplo desse tipo de linguagem, que serve para criar programas para
microcontrolador*, para microprocessador (programa da BIOS*), criar sistemas
operativos (ex: Unix), etc.
Página 1 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Linguagem de Alto Nível: São aquelas que usam palavras próximas da linguagem
humana. Não estão directamente ligadas com a arquitetura do computador.
Exemplo:
- Propósito Geral: Pascal (para ensino das técnicas de programação), C, C++, Java,
Python, Visual Basic, Delphi, Asp, PHP, etc.
- Uso Científico (cálculos científicos): Fortran.
- Uso Comercial (processamento de registros): Cobol, Clipper, etc.
- Uso Específico (para área de Inteligência Artificial): List, Prolog, etc.
Nota: Toda linguagem de alto nível precisa ser traduzida para linguagem de máquina.
LBN -» LM LAN -» LM
Ex: Java
- Interpretador: Trata uma instrução de cada vez, isto é, lê uma instrução, converte em
linguagem máquina, executa-a, passa para a instrução seguinte e repete o processo.
Vantagens: Mais fácil detectar e corrigir erros de sintaxe, maior rapidez de teste do
programa.
Desvantagens: Necessária a presença do interpretador para correr o programa, é mais
lento a executar e possui maiores custos.
Página 2 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Sistema de Numeração
Página 3 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Tabela ASCII
A linguagem C foi criada no início dos anos 70, por Dennis Ritchie nos laboratórios da
Bell Telephones nos E.U.A. usando o computador PDP-11 com sistema operativo Unix.
Foi uma evolução da linguagem B desenvolvida por Ken Thompson, inspirada na
linguagem BCPC inventada por Martin Richards. Alguns anos mais tarde Brian
Kerninghan junta-se a Ritchie para aprimorar a linguagem e daí também resulta o
primeiro livro “The C Programming Language”.
Introdução a Linguagem C
Página 4 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Características da Linguagem C
Evolução – C é uma linguagem estável, mas a evolução das linguagens fez com que C
evoluísse no sentido das linguagens orientadas à obejectos, dando origem a uma nova
linguagem o C++. C é um subconjunto de C++, ou seja, C++ contém todas as
características de C (sintaxe, funções, tipos de dados, operadores, etc) e mais um
conjunto de características próprias (encapsulamento, polimorfismo, herança, etc). A
linguagem Java baseia-se nas linguagens C e C++.
Gestão Clientes
Apagar Validar
Clientes Fornecedores Faturas
ses Alterar Inserir
Exemplo: #define PI 3.
#define SOMA(a,b) ((a)+(b))
Página 5 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Palavras Reservadas: São nomes definidos por uma linguagem de programação e que
têm significado específico dentro da linguagem.
auto – const – double – float – int – short – struct – unsigned – break – continue – else –
for – long – signed – switch – void – case – default – enum – goto – register – sizeof –
typedef – volatile – char – do – extern – exit – if – return – static – union – while.
Operadores
Operador de Atribuição “ = ”
Uma atribuição é uma expressão cujo valor resultante corresponde ao valor atribuído. A
ordem de precedência é da direita para a esquerda.
Exemplos: x = 2; // x recebe 2
x = y = 10; // 10 é atribuído a y e depois o valor de y é atribuído a x
Página 6 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Operadores Aritméticos: + , - , * , / , %
Obs: O operador % (módulo) geralmente é usado para variáveis do tipo inteiro e retorna
o resto de uma divisão.
int x; int a;
x = 5 / 2; // x recebe 2 a = 1234 % 10; // a recebe 4
x = 5 % 2; // x recebe 1 a = 1234 % 100 // a recebe 34
x = 2 / 5; // x recebe 0 a = 1234 / 10 // a recebe 123
x = 2 % 5; // x recebe 2 a = 1234 / 100 // a recebe 12
Exemplo3: // OperadorAritmetico.c
#include <stdio.h>
#include <stdlib.h>
int main(){
int x;
x = 5 / 2;
printf("5 / 2 = %i \n",x);
x = 5 % 2;
printf("5 %% 2 = %i \n",x);
x = 2 / 5;
printf("2 / 5 = %i \n",x);
x = 2 % 5;
printf("2 %% 5 = %i \n",x);
x = 123456789 / 10;
printf("123456789 / 10 = %i \n",x);
x = 123456789 / 100;
printf("123456789 / 100 = %i \n",x);
x = 123456789 % 10;
printf("123456789 %% 10 = %i \n",x);
x = 123456789 % 100;
printf("123456789 %% 100 = %i \n",x);
system("PAUSE");
return 0;
}
Página 7 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Operadores Relacionais
Operadores Lógicos
a b a && b a || b a !a
v v v v v f
v f f v f v
f v f v
f f f f
Exemplo:
int x = sizeof(int); // armazena em x o tamanho de um int.
float f;
x = sizeof f; // armazena em x o tamanho de um float.
Operadores de Endereço:
Página 8 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Operadores de Bit:
<< Desloca bits para esquerda, permite realizar multiplicações por 2, 4, 8, etc
>> Desloca bits para direita, permite realizar divisões por 2, 4, 8, etc
& “E” lógico (AND)
| “OU” lógico (OR)
^ “OU” exclusivo (XOR) // acento circunflexo
~ “NÃO” lógico (NOT) // til
int a = 5; // 00000101
int b = 6, x; // 00000110
101 =5
110 =6
& 100 = 4 dois bits em 1
| 111 = 7 apenas um bit em 1
^ 011 = 3 bits diferentes
Exemplo4: // OperadorDeBit.c
Página 9 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = 5;
int b = 6, x;
printf("a = %i b = %i \n\n",a,b);
x = a << 1;
printf("a << 1 = %i \n",x);
x = a << 2;
printf("a << 2 = %i \n",x);
x = a >> 1;
printf("a >> 1 = %i \n",x);
x = a >> 2;
printf("a >> 2 = %i \n",x);
x = a & b;
printf("a & b = %i \n",x);
x = a ^ b;
printf("a ^ b = %i \n",x);
x = ~b;
printf("~b = %i \n\n",x);
system("PAUSE");
return 0;
}
Funcionamento:
1. A condição é avaliada.
2. Se o resultado for verdadeiro a expressão1 é atribuída a variável.
3. Se o resultado for falso a expressão2 é atribuída a variável.
Exemplo5: // OperadorCondicional.c
#include <stdio.h>
#include <stdlib.h>
int main(){
int a= 20, b= 10, x;
x= a<b? a:b;
Página 10 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
printf("X = %i \n",x); // 10
system("PAUSE");
return 0;
}
Incremento
y = x; Ex: int a, b, x = 5;
y = x++; // equivalente a a = x++; // a igual a 5
x++; b = x; // b igual a 6
Página 11 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Decremento
y = x; Ex: int a, b, x = 5;
y = x--; // equivalente a a = x--; // a igual a 5
x--; b = x; // b igual a 4
x--; Ex: x = 5;
y = --x; // equivalente a a = --x; // a igual a 4
y = x; b = x; // b igual a 4
Exemplo6: // OperadorIncDec.c
#include <stdio.h>
#include <stdlib.h>
int main(){
int a, b, x;
x = 5;
a = x++;
b = x;
printf("a = %i \t b = %i \n\n",a,b);
x = 5;
a = ++x;
b = x;
printf("a = %i \t b = %i \n\n",a,b);
x = 5;
a = x--;
b = x;
printf("a = %i \t b = %i \n\n",a,b);
x = 5;
a = --x;
b = x;
printf("a = %i \t b = %i \n\n",a,b);
system("PAUSE");
return 0;
}
Página 12 de 13
Programação I (C)
Universidade Metodista de Angola Prof. Gilberto Cunha
Nota: São avaliados de acordo com o que tem maior precedência, da esquerda para
direita na expressão.
Ex: 2 + 3 * 4 / 2 % 4 = 6+4
2 + 12 / 2 % 4 = x = --------- = 5 -» x = 6 + 4 / 2; // = 8 Errado!
2+ 6 %4= 2
2+ 2 =4 x = (6 + 4) / 2; // = 5
Exemplo7: // OrdemDePrecedencia.c
#include <stdio.h>
#include <stdlib.h>
int main(){
int x;
x = 2 + 3 * 4 / 2 % 4;
printf("X = %i \n\n",x);
x = (6 + 4) / 2;
printf("X = %i \n\n",x);
system("PAUSE");
return 0;
}
Variáveis:
Página 13 de 13