Sei sulla pagina 1di 40

Associao Educativa Evanglica

UniEVANGLICA Centro Universitrio de Anpolis

INTRODUO LINGUAGEM C

Aula 03
Referncias Bibliograficas
ASCENCIO, A. F. G.; CAMPOS, E. A. V. de. Fundamentos da
Programao de Computadores: Algoritmos, Pascal,
C/C++ (Padro ANSI) e Java. 3 ed. So Paulo: Prentice Hall,
2012.

SCHILDT, Herbert. C Completo e Total. 3 ed. So Paulo:


Makron Books, 1997.

2 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Histrico
A primeira verso de C foi criada por Dennis Ritchie em 1970
nos laboratrios Bell para ser includo como um dos softwares
a serem distribudos juntamente com o sistema operacional
Unix do computador PDP-11, na equipe certificada por Ken
Thompson.
A linguagem C buscou manter o contato com o computador
real e ainda assim dar ao programador novas condies para
o desenvolvimento de programas em reas diversas, como
comercial, cientfica e de engenharia.
Em 1983 e ANSI (American National Standards Institute)
estabeleceu um padro oficial de C o chamado C ANSI, para
resolver problemas de discrepncias da linguagem original.

3 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Introduo
uma linguagem de mdio nvel, ou seja, possui caractersticas de
alto nvel e de baixo nvel.
Linguagem de programao genrica utilizada na criao de diversos
tipos de programas como, por exemplo, Processadores de textos,
Sistemas Operacionais, Programas para Automao Industrial, etc.
uma linguagem Estruturada: Permite a utilizao de sub-rotinas
com variveis locais que no interferem no funcionamento das
demais.
Todo programa em C consiste de uma ou mais funes.
Permite a construo de laos (loops): Estruturas de Repetio.
O C "Case Sensitive": Maisculas e minsculas fazem diferena.
Se declarar uma varivel com o nome soma ela ser diferente de
Soma, SOMA, SoMa ou sOmA.

4 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Ambiente de Programao
Editores de Texto
Editor de texto para uma linguagem de programao, nada mais
que um programa simples que pode ser utilizado pelo
programador para desenvolver seu cdigo, os mais conhecidos
so:
Bloco de notas;
NotPad++.

Ele serve somente para a criao do programa, no possibilitando


ao desenvolvedor nenhuma funo avanada, como compilar ou
debugar o cdigo.

5 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Ambiente de Programao
Compiladores X Interpretadores
Os termos compiladores e interpretadores referem-se
maneira como um programa executado.

Em teoria, qualquer linguagem de programao pode ser


compilada ou interpretada, mas algumas linguagens geralmente
so executadas de uma maneira ou de outra.

A maneira pela qual um programa executado no definida pela


linguagem em que ele escrito.

Interpretadores e compiladores so simplesmente programas


sofisticados que operam sobre o cdigo-fonte do seu programa.
6 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Ambiente de Programao
Compiladores X Interpretadores
Interpretador:
l o cdigo-fonte do seu programa uma linha por vez, executando a
instruo especfica contida nessa linha.
deve estar presente no computador todas as vezes que o programa
for executado.
processo mais lento.

Compilador:
converte o programa em um cdigo-objeto que pode ser executado
diretamente em qualquer computador.
o tempo de compilao s gasto uma vez.

7 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Ambiente de Programao
Compiladores C
Existem diversos compiladores C / C++ disponveis para os
programadores.

A deciso sobre qual compilador utilizar pode ser baseada em


vrios fatores, como por exemplo:
A qualidade do compilador ( rpido? Est em conformidade com a
padronizao da linguagem? A interface com o usurio agradvel -
possui ou no um IDE (Integrated Development Enviroment)? Possui
diversas opes de compilao? etc.)
Sistema(s) Operacional(is) que o compilador funciona (e gera
cdigos)
Custo do compilador
Documentao disponvel e Suporte
8 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Ambiente de Programao
Compilando um programa em C
Compilar um programa em C consiste nestes trs passos:
1. Criar o programa
2. Compilar o programa
3. Linkeditar o programa com as funes necessrias da biblioteca.

Alguns compiladores fornecem ambientes de programao


integrados que incluem um editor. Com outros, necessrio usar
um editor separado para criar o programa.
Os compiladores s aceitam a entrada de arquivos de texto
padro.
O mtodo exato para compilar um programa depende do
compilador que est sendo utilizado.

9 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Ambiente de Programao
Programa Compilador: DevC++
Compilador Free Software (GPL3 - General Public License), para
Windows, com um IDE 'respeitvel' (editor, compilador e debug
integrados).
Interface intuitiva e semelhante ao programa desenvolvedor de
algoritmos Visualg.
Este compilador o mais recomendado para quem quiser
trabalhar no Windows.

Para efetuar o download gratuito, acesse:


http://www.baixaki.com.br/download/dev-c-.htm

10 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Estrutura do Programa
Identificao
Todo programa em C consiste em uma ou mais funes.

A nica funo que necessariamente precisa estar presente a


denominada main(), que a primeira funo a ser chamada
quando a execuo do programa comea.

Em um cdigo de C bem escrito, main() contm, em essncia, um


esboo do que o programa faz. O esboo composto de
chamadas de funes.

Declaraes de funes adicionais podem preceder ou suceder a


funo main().
11 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Estrutura do Programa
Regras Gerais
Toda funo deve ser iniciada por uma chave de abertura { e
encerrada por uma chave de fechamento };
Toda funo procedida de parnteses ();
Todo programa dever conter a funo main();
As linhas de cdigo so sempre encerradas por um ponto e
vrgula ;;
A formatao dos programas completamente livre, mas temos
por convenincia manter a legibilidade;
Os comandos so executados na ordem em que so escritos;
Os comentrios devem ser delimitados por /* no incio e */
no final. Pode ser usado, tambm, // para comentrios de uma
linha apenas.
12 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Estrutura do Programa
Forma Geral de um programa em C
/* Os comentrios podem ser colocados em qualquer parte do programa */
declaraes globais

tipo_devolvido nome_funo1(lista de parmetros) {


declarao de variveis locais
---
--- sequencia de comandos
---
}

void main(){
declarao de variveis locais
---
--- sequencia de comandos
---
}
13 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Estrutura do Programa
Blocos de Declaraes
Declaraes globais:
Neste local, so declaradas as variveis que podero ser utilizadas por
qualquer funo do programa. Esta declarao feita no incio do
corpo do programa, externa qualquer funo que possa vir a ser
implementada. O problema deste tipo de declarao, a sobreposio
de valores, pois eles seriam atribudos s variveis sempre que elas
fossem utilizadas por uma funo, e permaneceria com este valor at
que outra funo faa referncia a ela.

14 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Estrutura do Programa
Blocos de Declaraes
Declaraes Locais:
Neste local, so declaradas as variveis que podero ser utilizadas
apenas pela funo que a declarou. Esta declarao feita dentro de
uma funo especfica, anteriormente implementao dos comandos
que a funo deve exercer. Uma varivel declarada localmente, s
perde o ltimo valor atribudo a ela pela funo, se a prpria funo
zerar este valor, ou com a finalizao do programa. Podem ser
declaradas variveis de mesmo nome em funes diferentes dentro
do mesmo programa, porm, isso implicaria no mesmo problema de
uma declarao global.

15 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Elementos da Linguagem
Palavras Reservadas
So palavras que no podem ser utilizadas como identificadoras
de variveis, constantes ou funes, pois elas, combinadas com a
sintaxe formal de C, formam essa linguagem de programao.
Destas, 27 foram definidas pela verso original de C. As cinco
restantes foram adicionadas pelo comit ANSI: enum, const,
signed, void e volatile.

Lista de 32 Palavras Reservadas:


auto break case char const continue default do
double else enum extern float for goto if
int long register return short signed sizeof static
struct switch typedef union unsigned void volatile while

16 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Elementos da Linguagem
Relembrando...
Varivel: Nome dado uma palavra que assumir um determinado
valor no decorrer da execuo do programa.
As variveis no C podem ter qualquer nome se as seguintes
condies forem satisfeitas:
O nome deve comear com uma letra ou sublinhado (_) e os caracteres
subsequentes devem ser letras, nmeros ou sublinhado (_).
O nome de uma varivel no pode ser igual a uma palavra reservada, nem
igual ao nome de uma funo declarada pelo programador, ou pelas
bibliotecas do C.
Variveis de at 32 caracteres so aceitas.
Constante: Varivel cujo valor no se altera durante a execuo
do programa.
Seguem, para nomenclatura, as mesmas regras das variveis.

17 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Elementos da Linguagem
Tipos de Dados
Existem cinco tipos bsicos de dados em C: caractere, inteiro,
ponto flutuante, ponto flutuante de preciso dupla e sem valor
(char, int, float, double e void, respectivamente). Todos os demais
tipos de dados em C so baseados em um desses tipos. O
tamanho e a faixa desses tipos de dados variam de acordo com o
tipo de processador e com a implementao do compilador C.
Valores do tipo char so normalmente usados para conter
valores definidos pelo conjunto de caracteres ASCII. Valores fora
dessa faixa podem ser manipulados diferentemente entre as
implementaes de C.
Inteiros geralmente correspondem ao tamanho natural de uma
palavra do computador. O formato exato de valores em ponto
flutuante depende de como eles so implementados.
18 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Elementos da Linguagem
Tipos de Dados
A faixa dos tipos float e double dada em dgitos de preciso.
As grandezas dos tipos float e double dependem do mtodo
usado para representar os nmeros em ponto flutuante. Qualquer
que seja o mtodos, o nmero muito grande.
O tipo void declara explicitamente uma funo que no retorna
valor algum ou cria ponteiros genricos.

Exceto o void, os tipos de dados bsicos podem ter vrios


modificadores precedendo-os. Um modificador usado para
alterar o significado de um tipo bsico para adapt-lo mais
precisamente s necessidades de diversas situaes.

19 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Elementos da Linguagem
Tipos de Dados
Tipo Tamanho aproximado em bits Faixa Mnima
char 8 -127 a 127
unsigned char 8 0 a 255
signed char 8 -127 a 127
int 16 -32.767 a 32.767
unsigned int 16 0 a 65.535
signed int 16 -32.767 a 32.767
short int 16 -32.767 a 32.767
unsigned short int 16 0 a 65.535
signed short int 16 -32.767 a 32.767
long int 32 -2.147.483.647 a 2.147.483.647
signed long int 32 -2.147.483.647 a 2.147.483.647
unsigned long int 32 0 a 4.294.967.295
float 32 6 dgitos de preciso
double 64 10 dgitos de preciso
long double 80 10 dgitos de preciso
20 Profa. Ma. Natasha Sophie Pereira 09/08/2017
Dicas Gerais
Algoritmo Linguagem C Algoritmo Linguagem C
= == escreval \n
= inteiro int
<> != real / numerico float / double
>, <, >=, <= >, <, >=, <= literal / caracter char
E && logico -
Ou || se / senao if /else
No ! escolha / caso switch / case
+, -, *, /, % +, -, *, /, % outrocaso default
inicio/entao/faca { repita do
fim/fimXX } ate while
escreva printf enquanto while
leia scanf para for

21 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Vejamos um primeiro programa em C:

#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

Compilando e executando este programa voc ver que ele coloca a


mensagem Ola! Eu estou vivo! na tela.

22 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Vejamos um primeiro programa em C:

#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

23 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
A linha #include <stdio.h> diz ao compilador que ele deve incluir
o arquivo-cabealho stdio.h.
Neste arquivo existem declaraes de funes teis para entrada
e sada de dados (std = standard, padro em ingls; io =
Input/Output, entrada e sada ==> stdio = Entrada e sada
padronizadas).
Toda vez que voc quiser usar uma destas funes deve-se incluir
este comando.
A linguagem C possui diversos Arquivos-cabealho.

24 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Vejamos um primeiro programa em C:

#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

25 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
Quando fazemos um programa, uma boa idia usar comentrios
que ajudem a elucidar o funcionamento do mesmo.
No caso acima temos um comentrio: /* Um Primeiro Programa
*/.
O compilador C desconsidera qualquer coisa que esteja
comeando com /* e terminando com */.
Um comentrio pode, inclusive, ter mais de uma linha.
Para especificar comentrios de apenas uma linha, comum
utilizar // e para comentrios de mais de uma linha, utiliza-se /* e
*/

26 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Vejamos um primeiro programa em C:

#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

27 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
A linha int main() indica que estamos definindo uma funo de
nome main.
Todos os programas em C tm que ter uma funo main
(Principal), pois esta funo que ser chamada quando o
programa for executado.
O contedo da funo delimitado por chaves { }. O cdigo que
estiver dentro das chaves ser executado sequencialmente
quando a funo for chamada.
A palavra int indica que esta funo retorna um inteiro.
A ltima linha do programa, return(0); , indica o nmero inteiro
que est sendo retornado pela funo, no caso o nmero 0.

28 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Vejamos um primeiro programa em C:

#include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Ola! Eu estou vivo!\n");
return(0);
}

29 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
A nica coisa que o programa realmente faz chamar a
funo printf(), passando a string (uma string uma
cadeia de caracteres) "Ola! Eu estou vivo!\n" como
argumento.
O \n a constante barra invertida de "new line" e ele
interpretado como um comando de mudana de linha,
isto , aps imprimir Ola! Eu estou vivo! o cursor passar
para a prxima linha.
importante observar tambm que os comandos do C
terminam com ;.

30 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Outro programa em C:

#include <stdio.h>
int main ()
{
int Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
scanf ("%d",&Dias);
Anos=Dias/365.25; // Conversao Dias->Anos
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}

31 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Outro programa em C:

#include <stdio.h>
int main ()
{
int Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
scanf ("%d",&Dias);
Anos=Dias/365.25; /* Conversao Dias->Anos */
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}

32 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
So declaradas duas variveis denominadas Dias e Anos.
A primeira um int (inteiro) e a segunda um float
(ponto flutuante nmero real).
feita ento uma chamada funo printf(), que coloca
uma mensagem na tela.

33 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Outro programa em C:

#include <stdio.h>
int main ()
{
int Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
scanf ("%d",&Dias);
Anos=Dias/365.25; /* Conversao Dias->Anos */
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}

34 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
Queremos agora ler um dado que ser fornecido pelo
usurio e coloc-lo na varivel inteira Dias. Para tanto
usamos a funo scanf().
A string "%d" diz funo que iremos ler um inteiro.
O segundo parmetro passado funo (&)
imprescindvel ao se utilizar a funo scanf(), ele diz que
o dado lido dever ser armazenado na varivel Dias.
Observe que, no C, quando temos mais de um parmetro
para uma funo, eles sero separados por vrgula.

35 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Outro programa em C:

#include <stdio.h>
int main ()
{
int Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
scanf ("%d",&Dias);
Anos=Dias/365.25; /* Conversao Dias->Anos */
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}

36 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
Temos ento uma expresso matemtica simples que
atribui Anos o valor de Dias dividido por 365.25
365.25 uma constante ponto flutuante 365,25.
Como Anos uma varivel float o compilador far uma
converso automtica entre os tipos das variveis.

37 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Outro programa em C:

#include <stdio.h>
int main ()
{
int Dias; /* Declaracao de Variaveis */
float Anos;
printf ("Entre com o nmero de dias: "); /* Entrada de Dados */
scanf ("%d",&Dias);
Anos=Dias/365.25; /* Conversao Dias->Anos */
printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos);
return(0);
}

38 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Primeiros Passos
Analisando o programa por partes:
A segunda chamada funo printf() tem trs
argumentos, uma string, e duas variveis (Dias e Anos, das
quais devem ser lidos os valores do inteiro e do float,
respectivamente.
A string formada por:
\n\n - diz funo para pular duas linhas;
%d - colocar um inteiro na tela;
dias equivalem a - colocar a mensagem dias equivalem a ;
%f - colocar um valor float na tela;
anos. - colocar a mensagem anos. ;
\n - e pular outra linha.

39 Profa. Ma. Natasha Sophie Pereira 09/08/2017


Perguntas???

No andem ansiosos por coisa


alguma, mas em tudo, pela orao e
splicas, e com ao de graas,
apresentem seus pedidos a Deus.
Filipenses 4:6 (NVI)

40 Profa. Ma. Natasha Sophie Pereira 09/08/2017

Potrebbero piacerti anche