Upload
victormatheus-santos
View
216
Download
0
Embed Size (px)
DESCRIPTION
C, language C
Citation preview
Introduo Programao
Introduo a Linguagem C
Construes Bsicas
2Programa em C
#include
int main ( ) {
float celsius ;
float farenheit ;
celsius = 30;
farenheit = 9.0/5 *celsius + 32;
printf (30 graus celsius = %f graus farenheit,farenheit);return 0;
}
#include
floatfloat
int main
Palavras Reservadas
E ainda expresses...
celsiusfarenheit
printf
Identificadores criados pelo programador
Identificadores criados por terceiros (chamadas
de funes)
3Tpicos da Aula
Hoje aprenderemos a escrever um programa em C,para isto veremos
Caractersticas da linguagem
Estrutura de um programa
Ciclo de construo de um programa em C
Estruturas bsicas de uma linguagem de programao
Identificadores,Variveis,Tipos de dados, Atribuio
Conceito de funes
Depois escreveremos um programa em um ambiente
de programao
Apresentao de um ambiente de programao
Executando um programa
4Linguagem C - Caractersticas
Linguagem de programao de finalidadegeral criada por Dennis Ritchie em 1972
Criada para desenvolver o sistema operacionalUnix
Padronizada em 1989 pela ANSI
Tornou-se muito popular
Ela faz parte das linguagens denominadasimperativas
Aes que o computador deve executar soespecificadas como comandos que alteram oestado da memria
5Linguagem C - Caractersticas
Combina o alto nvel com o baixo nvel,permitindo a manipulao direta de bits, bytese endereos de memria
Possui fluxos de controle e estruturas dedados presentes na maioria das linguagensimperativas
Agrupamento de comandos
Tomadas de decises (if-else)
Laos para permitir a repetio de comandos
6Linguagem C - Caractersticas
Possui apenas 32 palavras-chaves
(reservadas)
Permite economia de expresso e gera
cdigos reduzidos
Possibilita alocao dinmica de memria
Permite estruturar o software em mdulos,
arquivos fontes, bibliotecas
7Linguagem C - Crticas
D-se muita liberdade ao programador
Programas ininteligveis, acesso direto
memria
No h verificao de tipos e nem de limites
de arrays (veremos depois)Simplifica o projeto do compilador C
Mensagens de erro muito vagas (limitao do
compilador )
8Estrutura de um Programa
Em C, a construo fundamental a funo:Um programa constitudo de uma ou mais funes
Uma destas funes deve ser a funo main
O programa inicia sua execuo na funo main
Mas, o que uma funo?
um conjunto de instrues para realizar uma ou mais tarefas que so agrupadas em uma mesma
unidade e que pode ser referenciada por um nome nico
9Estrutura de um Programa
Dentro de uma funo pode haver:Declaraes, expresses, chamadas de outras funes,comandos, etc
Uma funo em C pode retornar algum valor, assim
como acontece com funes matemticas
Inteiro, real, caractere, etc
Porm, uma funo no precisa necessariamente
retornar um valor
Quando no retorna um valor, dizemos que a funo do
tipo void
10
Estrutura de um Programa
funo 1
int main ()
{
}
Comandos,
declaraes, chamada
de funes, etc
funo 2
funo n
return 0;
.
.
.
.
.
.
11
Exemplo de um Programa em C
#include
int main()
{
int resultado;
resultado = 6 + 7;
printf(%d,resultado);
return 0 ;
} Chamada de funo
Expresso aritmtica
Declarao de variavel
Comando
12
Estrutura de uma Funo
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
Assinatura da funo
Corpo da
funo
Uma funo deve conter:Uma assinatura
Um corpo
13
Estrutura de uma Funo
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
Lista de parmetros
Assinatura de uma funo deve informar:Tipo de valor retornado (se for o caso)
Nome
Lista de parmetros formais (se houver)
Nome do parmetro e tipo do parmetro
Tipo retornado Nome
Parnteses
obrigatrios
14
Estrutura de uma Funo
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
Corpo da
funo
dentro das
chaves { }
Instrues devem ser separadas
por ponto e vrgula (;)
Corpo de uma funo contm:Instrues
Declaraes, comandos, expresses, etc
O comando return, caso o tipo de retorno seja diferente de
void
15
Funes de Bibliotecas
A linguagem C oferece um conjunto de funes j
definidas que so organizadas em bibliotecas
Programador pode utilizar (chamar) estas funes no programa
Reduzem o tempo de desenvolvimento do programa
Algumas das funes oferecidas permitem:
realizar operaes de E/S
manipulao de caracteres (strings)
aplicaes matemticas, etc.
16
Funes de Bibliotecas
Informaes sobre as funes de bibliotecas so
encontradas em vrios arquivos
header files ou arquivos com extenso .h
Para usar estas bibliotecas, o programa deve indicar os
nomes dos arquivos que as contm
Estas bibliotecas so adicionadas ao programa usando
a diretiva de pr-processamento # include
Por exemplo: # include < stdio.h >
No possui ponto_e_vrgula ( ; )
stdio.h uma biblioteca que contm funes de
entrada/sada, tal como a funo printf que permite
mostrar alguma mensagem no monitor
17
Outro Exemplo de Programa em C
#include
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
int main ( )
{
int resultado;
resultado = multiplicacao(6,7);
printf(6 vezes 7 eh %d,resultado);return 0 ;
}
Inclui a biblioteca stdio
Chama funo da biblioteca stdio
Chama a funo multiplicacao
Argumentos da
funo
18
Diretivas de Pr-Processamento
O pr-processador um programa que examina o
programa fonte em C e executa certas modificaes
com base em instrues chamadas de diretivas
Exemplos: include, define, etc
Uma diretiva deve vir precedida de #
Deve ser escrita em uma nica linha
Se passar de uma linha deve-se usar a barra invertida (\) ao
final da linha e contiunuar na seguinte
Diretivas no fazem parte da linguagem C
Servem para auxiliar o desenvolvimento do programa fonte
19
Exemplo da Diretiva include
#include
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
int main ( )
{
int resultado;
resultado = multiplicacao(6,7);
printf(6 vezes 7 eh %d,resultado);return 0 ;
}
Inclui a biblioteca stdio
Chama funo da biblioteca stdio
20
Variveis
Programas manipulam dados (valores) e
esses dados so armazenados em variveis
Uma varivel uma posio na memria
referenciada por um identificador (nome)
Uma varivel deve ser declarada informando
o tipo de dado que ela armazenar e o nome
dela
int total;
int count, temp, result;
Muitas variveis podem ser criadas em uma declarao
tipo nome
21
Variveis
Uma declarao de varivel instrui o
compilador:
a reservar um espao de memria suficiente para
armazenar o tipo de dado declarado
o nome ao qual iremos referenciar esta posio
de memria
S aps a declarao da varivel, que esta
pode ser referenciada (utilizada)
Quando uma varivel referenciada no
programa, o valor armazenado nela
utilizado
22
Variveis
Onde se declara variveis?
No corpo de uma funo (varivel local)
Recomenda-se que as declaraes de
variveis sejam as primeiras instrues da
funo
Na lista de parmetros de funes
Parmetros formais
Fora das funes (varivel global)
23
Declarao de Variveis
#include
int resultado;
int multiplicacao (int p1, int p2)
{
int produto;
produto = p1 * p2;
return produto;
}
int main () {
resultado = multiplicacao(6,7);
printf(6 vezes 7 eh %d,resultado);return 0 ;
}
Declarao de variveis nos
parmetros formais
Declarao de varivel local
Declarao de
varivel global
24
Atribuio
Um comando de atribuio modifica o valor
armazenado na varivel
O operador de atribuio o sinal de =
total = 55;
total = 65;
Varivel total armazena valor 55
Valor 65 sobrescreve o
valor armazenado antes
S se deve atribuir a uma varivel valores compatveis com o tipo
declarado da varivel
int total;
25
Inicializao de Variveis
Uma varivel pode ser inicializada com o comando
de atribuio na hora de sua declarao
int total = 55; Inicializa total com valor 55
Declara varivel total do tipo int
Em C, variveis locais no so inicializadas automaticamente
26
Constantes
Uma constante um identificador semelhante a
uma varivel, exceto pelo fato de s poder
armazenar o mesmo valor durante toda sua
existncia
Uma constante declarada usando a palavra
reservada const
Deve-se inicializar a constante no ato da sua
declarao
const float PI = 3.1416;
PI = 3.141618; Esse comando gera um
erro de compilao
No se pode mudar o valor de uma constante
27
Constantes
So teis para dar um significado mais
compreensvel a determinados valores
Exemplo : PI mais compreensvel que o valor 3,1416
Facilitam a manuteno do programa
Caso uma alterao no programa seja necessria que
acarrete uma mudana no valor da constante e esta
constante seja referenciada em vrios lugares do programa,
s precisamos alterar o programa em um lugar
Explicitam formalmente que um determinado valor
no pode ser alterado
Evitam erros de outros programadores
28
Constantes
comum utilizar-se tambm a diretiva de pr-
processamento define para definir constantes
#define PI 3.1416
int main() {
float raio = 5;
float area = PI*raio*raio;
float comp = 2*PI*raio;
return 0;
}
int main() {
float raio = 5;
float area = 3.1416*raio*raio;
float comp = 2*3.1416*raio;
return 0;
}
No pr-processamento, ocorre
a substituio
29
Linguagem C - Tipos de Dados
Cada dado possui associado a ele um tipo e pode
possuir um qualificador
C possui 5 tipos bsicos de dado
char: tipo caractere (tamanho de um byte)
int: tipo inteiro (nmeros sem parte decimal)
float: tipo ponto flutuante de preciso simples
double: tipo ponto flutuante de preciso dupla
void: no possui valor
Mais utilizado para indicar que uma funo no retorna
nenhum valor
Qualificadores: short, long, unsigned, signed
Precedem o tipo na declarao do tipo
Ex: unsigned int valor ;
30
Tipo Tamanho Representatividade
char 1 byte -128 a 127
unsigned char 1 byte 0 a 255
short int 2 bytes -32768 a 32767
unsigned short int 2 bytes 0 a 65535
long int (ou int) em
ambientes de 32 bits
4 bytes -2147483648 a
2147483647
unsigned long int 4 bytes 0 a 4294967295
Linguagem C - Tipos de Dados
O tipo de dado define o tamanho do dado e a formade armazenamento
Valores Inteiros e suas Representatividades
31
Tipo Tamanho Representatividade
float 4 bytes 3.4 X10-38 a 3.4 X1038
double 8 bytes 1.7 X 10-308 a 1.7X10308
long double 10 bytes 3.4 X 10-4932 a 3.4X104932
Valores Reais e suas Representatividades
Linguagem C - Tipos de Dados
32
Tipos de Dados Numricos
Nmeros com e sem sinal
C permite que o programador defina se uma
varivel de tipo numrico deva ou no reservar o
bit de sinal (nmeros negativos)
Notao
signed tipo
unsigned tipo
Se nenhum modificador for indicado, o compilador
C reservar o bit de sinal
33
Tipo de Dados Caractere
Representado pelo tipo char
a,b, 1, \n etc
internamente representa um cdigo da tabelaASCII
ASCII: na verdade aceita at 255 caracteres
(unsigned char)
char letra = A; char letra = 65;
Instruo equivalente
34
Identificadores
Identificadores so palavras que o
programador utiliza em programas
Consiste de um ou mais caracteres.
o primeiro caractere deve ser letra ou "_
demais so uma combinao de letras, nmeros e
"_"
Identificadores no podem comear com um
dgito
Exemplo de identificadores vlidos: _a, a3_,bom_dia
Exemplo de identificadores invlidos: 2a, a-b, a_ b
C case-sensitive
Os identificadores casa e CASA so diferentes
35
Identificadores
Identificadores podem ser:
Nomes que o programador escolheu
Exemplo: nome de uma varivel, funo, constante, etc
Nomes que terceiros escolheram
Exemplo: nome de uma funo de uma biblioteca
utilizada
Palavras reservadas da linguagem
No podem ser usadas de outra forma
Exemplo: main, const, int, etc
36
Identificadores em C
#include
int main ( ) {
float celsius ;
float farenheit ;
celsius = 30;
farenheit = 9.0/5 *celsius + 32;
printf (30 graus celsius = %f graus farenheit,farenheit);return 0;
}
#include
floatfloat
int main
Palavras Reservadas
E ainda expresses...
celsiusfarenheit
printf
Identificadores criados pelo programador
Identificadores criados por terceiros (chamadas
de funes)
37
Executando de um Programa em C
Escrever o programa em um arquivo texto
(cdigo fonte)
Salvar o arquivo com a extenso .c
Compilar o programa fonte para gerar o
cdigo executvel (*.exe)
Um programa em C pode ser composto de vrios
cdigos fontes (vrios arquivos .c)
comum a gerao de um cdigo objeto (*.obj ou
*.o) para cada cdigo fonte e a posterior gerao
do cdigo executvel (linkedio)
38
Construo de Programas em C
EditorCodigo,
Palavras reservadas
Programafonte
Edio
ProgramaFonte
Compilador ProgramaObjeto
Compilao
ProgramasObjeto
ProgramaExecutvel
Link-Edio
Adio /Localizao de cdigos objetos das bibliotecas
ProgramaFonte
Pr-processador
ProgramaFonte
ModificadoPr-processamento
39
Ambiente de Programao
Para acelerar o desenvolvimento de programas,
comum utilizar ambientes de programao ou IDEs
(Integrated Development Environment)
Integra vrias ferramentas em um nico ambiente
Editores de texto
Compiladores
Bibliotecas
E muito mais ...
CodeBlocks, DevC++, Visual Studio, Eclipse etc
39
40
Resumindo ...
Caractersticas da linguagem
Estrutura de um programa
Ciclo de construo de um programa em C
Estruturas bsicas de uma linguagem de
programao
Identificadores,Variveis,Tipos de dados, Atribuio
Conceito de funes