Вы находитесь на странице: 1из 35

Computao Cientfica 2

Aula 1 Introduo Programao em


Linguagem C
Prof. Dr. Samuel Loureno Nogueira
2 Semestre de 2016

Contedo
Introduo a programao
Linguagem de programao
Compilador
Algoritmos x programa

Introduo a linguagem C
Histrico
Variveis
Constantes
Comandos de E/S

Linguagem de Programao
um mtodo padronizado para expressar instrues
para um computador.
um conjunto de regras sistemticas e semnticas
utilizadas para definir um programa de computador.
Permite que um programa especifique:
Sobre quais dados um computador vai atuar,
Como estes dados sero armazenados ou transmitidos,
Quais aes devem ser tomadas.

Linguagem de Programao
Cdigo fonte
Conjunto de palavras e regras expressando um algoritmo.

O cdigo fonte posteriormente traduzido para cdigo


de mquina

O cdigo de mquina executado pelo processador.

Compilador
Traduz o cdigo fonte de uma linguagem (C) em a
linguagem de mquina.
Tempo de compilao
Tempo necessrio para realizar a converso do programa fonte
em programa objeto.
Programa
fonte

Compilador

Dados
de sada

Mquina

Programa
objeto

Dados de
entrada

Compilador: Link-edio e Bibliotecas

O que so programas?
Representao, em alguma linguagem, de um
algoritmo
Uma sequncia ordenada e finita de passos
organizados para resolver um problema
Um mesmo algoritmo vrios programas
Experincia do programador, limitaes das linguagens.

Linguagem C
C uma linguagem de programao
Propsito geral
Estruturada
Procedural
Padronizada

As principais padronizaes da linguagem C so:


C99 : em 2000
C11 ou C1X : em 2007

Histrico
Foi criada em 1972
Dennis Ritchie, no AT&T Bell Labs
Desenvolver o sistema operacional UNIX (originalmente em
Assembly)
Superar limitaes da linguagem B (1970)
Tornou-se uma das linguagens de programao mais utilizadas
Influenciou o desenvolvimento de muitas outras linguagens
Exemplo, as linguagens C++ e Java
C++ adiciona conceitos do paradigma orientado a objetos
Java, a mais recente, foi criada por volta de 1995

10

Exemplo
Algoritmo
1) Ler um valor e armazena-lo na varivel A
2) Ler um valor e armazena-lo na varivel B
3) Efetuar a adio das variveis A e B, e atribuir o resultado na
varivel X
4) Apresentar o valor da varivel X aps a operao de adio
dos valores fornecidos.

11

Exemplo
Programa na linguagem C
#include<stdio.h>
int main()
{
int x;
int a;
int b;
scanf("%d", &a);
scanf("%d", &b);
x = a + b;
printf("%d\n",x);
return 0;
}

12

Programa em C
Anatomia de um programa em C

[incluso de bibliotecas]
[declarao de dados globais]
[declarao dos prottipos de funes]
void main (void)
{
[corpo do programa principal]
}
[implementao das funes do programa]

13

Exemplo de programa

#include <stdio.h>

Chamada ao pr-processador
Incluir um cabealho informaes
Uso de <> indica que arquivo est no lugar
padro

Definio do incio de uma funo


Uso de palavras chave int, void, ...
Funo principal que retorna um inteiro e
recebe nenhum parmetro
Indica incio de um bloco de comandos

int main()
{
printf(Hello world!\n);
return 0;
}

Funo para mostrar algo na sada padro


Cadeia a ser exibida termina com uma nova linha (\n)
Maior parte das declaraes em C terminam com
ponto-e-vrgula

Indica final de um bloco de comandos


Sistema operacional pode precisar saber o
que aconteceu
Declarao de retorno

14

Pontos principais
Programa comea a execuo no main
Palavras chaves em minsculo
Declaraes finalizadas com ;
Texto entre aspas duplas
C sensvel a caixa
Minsculas so diferentes de maisculas
A varivel valor diferente da varivel Valor

A sequncia \n coloca o cursor no incio da prxima linha


printf() pode ser usado para exibir texto na tela
As chaves indicam o incio/fim de blocos de comandos

15

Variveis
C oferece quatro tipos bsicos de dados
Inteiro (e.g. 4, -8, 12)
Ponto flutuante (e.g., 0.12, 0.75)
Preciso dupla (e.g. 312E+8, 2E-8)
Caractere (e.g., A, b, $, 3)

obrigatria a declarao de variveis antes de us-las


tipo varivel1, varivel2, ...;

Cuidado com maisculas/minsculas

16

Exemplo de uso
#include <stdio.h>

Declarao de uma varivel com nome


soma capaz de armazenar um inteiro
Operao de atribuio

Mscara de formatao da sada


int main()
{
int soma;
soma = 500 + 15;
printf(A soma de 500 e 15 eh %d\n, soma);
}

A soma de 500 e 15 eh 515

17

Mscaras de formatao
Smbolo % indica o incio da mscara
Cada mscara substituda por um valor presento no printf
:
printf(A soma de 500 e 15 eh %d\n, soma)
:

Algumas mscaras

%d Inteiro decimal
%c Caractere
%s

Cadeia de caracteres

%f

Ponto flutuante

%e Preciso dupla

18

Um pouco sobre variveis


Como escolher um nome para a varivel?
Relacionar nome e significado
Media_dos_valores
Nota1
Nome_do_usurio

Regras para construo dos nomes


Deve comear com uma letra ou _
Pode conter a-z, A-Z, 0-9, _

No so vlidos
Valorsoma$

Uso de $

Marcador de sada

Uso de espao

3o_tempo
printf

Comeo com nmero


Nome reservado (comando)

19

Palavras reservadas da linguagem C

20

Comentrios
Um programa deve ser documentado
Boa prtica
Facilidade de manuteno
/* Este programa calcula a soma de dois
nmeros inteiros
*/
#include <stdio.h>
int main(void)
{
int soma; // Varivel que guarda a soma
soma = 500 + 15; // Soma dos valores
printf(A soma de 500 e 15 eh %d\n",
soma);
return 0;
}

Exemplo1.c

21

// Meu primeiro programa em C


#include <stdio.h>
int main()
{
int soma;
float dinheiro;
char letra;
double pi;

Aqui esta um inteiro (10) e um nmero de ponto flutuante (2.210000)


Eis a letra A e o valor de pi: 3141500e-6

soma = 10;
// Atribuir um inteiro
dinheiro = 2.21; // Atribuir um float
letra = A;
// Atribuir um caracter
pi = 31415E-4; // Eis o pi!
printf(Aqui esta um inteiro (%d) e um , soma);
printf(nmero de ponto flutuante (%f)\n, dinheiro);
printf(Eis a letra %c e o valor de pi: %e\n, letra,
pi);
return 0;
}

22

Tipos de Dados da Linguagem C

Tamanho
1 byte
4 bytes
4 bytes
8 bytes
0 byte

Tipo
char
int
float
double
void

Significado
caractere
inteiro
ponto flutuante
ponto flutuante de dupla preciso
ausncia de tipo

23

Declarao de Variveis
tipo_de_dado lista_de_variveis;
int idade, valor;

tipo_de_dado nome_da_varivel = valor;


int idade = 10;

24

Escopo de Variveis
Varivel local
Quando s existe dentro
do bloco no qual ela foi
criada

Varivel global
Quando utilizada, estar
disponvel ao programa

inteiro

int main ()
{
int valor;
}

#include <stdio.h>
int numero;
int main ()
{
numero = 20;
putch (numero);
}

25

Constantes
Caractere (char): d, & - envolvidos por aspas
simples;
Inteiro (int): 20, 17 - nmeros sem componente
fracionrio
Real (float,double): 23.56 - nmero com componente
fracionrio
Strings (char vet[20]): Universidade Federal" caracteres envolvidos por aspas duplas

26

Exemplo de constantes
#include <stdio.h>
const float pi = 3.1415;
int main ()
{
float area, raio = 3;
area = pi * raio * raio;
printf(A area de um circulo de raio = %5.2f eh %5.2f, raio,
area);
getch();
}

27

Comandos de E/S
printf ("srie_de_controle", lista_de_argumentos)
Responsvel pela sada formatada de dados na tela,
onde
"srie_de_controle"
uma srie de caracteres e comandos de formatao de dados
que devem ser impressos

lista_de_argumentos
variveis e constantes que devem ser trocados pelos formatos
correspondentes na srie de controle

28

Comandos de E/S
#include <stdio.h>
const float pi = 3.1415;
int main ()
{
float area, raio = 3;
area = pi * raio * raio;
printf(\nCalculo -> area = pi*raio*raio);
Srie de controle
printf(\nRaio do circulo = %5.2f, raio);
Srie de controle
}

Lista de argumentos

29

Comandos de E/S
scanf("srie_de_controle", lista_de_endereos_dos_argumentos)
Responsvel pela leitura (entrada) formatada de dados na tela
Os formatos usados na srie de controle da funo scanf so
semelhantes aos formatos usados pela funo printf

30

Comandos de E/S

#include <stdio.h>
int main ()
{
char nome [20];
int anonascimento, idadeatual;
printf ("\nQual e o seu nome: ");
gets(nome);
printf("Em que ano voce nasceu: ");
scanf("%d", &anonascimento);
idadeatual = 2016 anonascimento;
printf("%s, voce tem %d anos", nome, idadeatual);
getch();
}

31

Comandos de E/S
gets()
Efetua a leitura de um string de caracteres digitado por

meio do teclado at que seja digitado <ENTER>

O caractere da tecla <ENTER> no faz parte do string

No seu lugar colocado o caractere de fim de


cadeia ('\0')
getch()
Efetua a leitura de um caractere do teclado

32

Comandos de E/S
putch()
Escreve um caractere a partir da posio corrente do

cursor na tela

int putch(char Caractere)

puts() escreve um string na tela seguido por uma nova


linha ('\n')
Mais rpida que a funo printf()
Mas somente opera com argumentos string (cadeias de
caracteres

int puts(char *string);

Comandos de E/S
33

#include <stdio.h>
int main ()
{
char op;
puts(MENU);
puts(1.Cadastra usuario);
puts(2.Consulta usuario);
puts(3.Remove usuario);
puts(4.Sair);
puts(Opcao:);
op = getch();
printf(\n\nOpcao digitada: %c, op);
getch();
}

34

Exerccio
Escreva um programa que obtenha os seguintes dados
de uma pessoa
Nome (string)
Telefone (string)
Ano nascimento (int)
Salrio (float)

A seguir, limpe a tela e escreva os dados lidos mudando


o ano de nascimento pela idade da pessoa

35

Bibliografia
MIZRAHI, Victorine Viviane. Treinamento em linguagem C. So
Paulo: MacGraw Hill, 1990, v.1, 241p.
KERNIGHAN, B. W.; RITCHIE, D. M. C: a linguagem de programao,
padro ANSI. Rio de Janeiro: Campus, 1995. 289p.
CHILDT, H.. C Completo e Total. So Paulo: Makron Books, c1991.

Вам также может понравиться