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

Oficina de C - Uniban

Aula 01
Oficina de Linguagem C – Professor Fábio Vitor
Objetivo

Instruir o aluno dos conceitos


básicos da linguagem C

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:
* Salve seus trabalhos no pen-drive para
poder utilizá-los posteriormente;

* Anote a sintaxe dos comandos que ainda


não conhece;

* Salve os programas no formato da


linguagem C (*.c).
Oficina de Linguagem C – Professor Fábio Vitor
Duplicação neste material

Este tutorial é voltado para uso acadêmico


e pode ser reproduzido e alterado de forma
parcial ou integral.

Oficina de Linguagem C – Professor Fábio Vitor


Ambiente de desenvolvimento

A primeira coisa a fazer antes de


desenvolver programas usando a linguagem
C é instalar um compilador.

Pode-se, adicionalmente, instalar um


ambiente de desenvolvimento. Na Uniban
utilizamos o Dev-C++.

Oficina de Linguagem C – Professor Fábio Vitor


Características do Dev-C++

O Dev-C++ é um programa:

• Leve;
• Freeware;
• Multiplataforma;
• Que possui um compilador interno, o gcc.

Oficina de Linguagem C – Professor Fábio Vitor


Inicializando o Dev-C++

Para abrir o Dev-C++ basta seguir os


passos abaixo:

• Clique no botão Iniciar,


• Selecione o menu Programas,
• Clique no menu Bloodshed Dev-C++,
• Clique na opção Dev-C++.

Oficina de Linguagem C – Professor Fábio Vitor


Notificação da versão
Aparecerá uma mensagem informando que
a versão em uso é beta.

Oficina de Linguagem C – Professor Fábio Vitor


Configurando o ambiente

Será solicitado o idioma a ser utilizado.


Escolha Português.

Oficina de Linguagem C – Professor Fábio Vitor


Anexando protótipos
Nesta janela o usuário escolhe se quer
habilitar a opção de protótipos que agilizam
a localizar funções, classes e variáveis.

Oficina de Linguagem C – Professor Fábio Vitor


Armazenando seu perfil
O Dev oferece a opção de armazenar o
perfil escolhido (opções anteriores) em
cache.

Oficina de Linguagem C – Professor Fábio Vitor


Finalizando a configuração
Aparecerão, em seguida, as janelas do
andamento do processo de configuração do
perfil e a de finalização do mesmo.

Oficina de Linguagem C – Professor Fábio Vitor


Iniciando o programa...
Após o término das configurações será
inicializado o Dev-C++ e aparecerá a janela
de Dicas. Esta é opcional e pode ser
desabilitada.

Oficina de Linguagem C – Professor Fábio Vitor


Enfim, o Dev...
A figura abaixo representa o Dev em execução.

Oficina de Linguagem C – Professor Fábio Vitor


Palavras reservadas
Antes de iniciar qualquer programa, saiba que
não podemos criar funções, métodos e
variáveis com os seguintes nomes:

Oficina de Linguagem C – Professor Fábio Vitor


Estrutura de um programa
Todo programa em C deve conter o conteúdo
abaixo:

main(){
}
Onde :
 main() representa a função principal do programa,
 { representa o início da instrução da função main()
e
 } representa o fim do mesmo.

Oficina de Linguagem C – Professor Fábio Vitor


Exemplo de um programa em C

main()
{
}

Oficina de Linguagem C – Professor Fábio Vitor


Um programa “mais” funcional...

main()
{
  printf(“Boa tarde!\n");
system(“pause”);
}

Oficina de Linguagem C – Professor Fábio Vitor


Como criar um programa
Para criar um programa clique no menu
Arquivo,
Arquivo depois em Novo e escolha a opção
Arquivo Fonte Ctrl+N.
Ctrl+N

Oficina de Linguagem C – Professor Fábio Vitor


Criando o primeiro programa
Digite o conteúdo do nosso exemplo

Oficina de Linguagem C – Professor Fábio Vitor


Como salvar o código digitado
Antes de executar pela primeira vez, o
programa deve ser salvo. Para isto, clique no
menu Arquivo e escolha a opção Salvar
Como... Ctrl+F12

Oficina de Linguagem C – Professor Fábio Vitor


Salvando o código
Nesta janela o programador tem a opção de
escolher o local onde será salvo o arquivo, além de
definir o nome e o tipo (escolha C source files (*.c))
do mesmo.

Oficina de Linguagem C – Professor Fábio Vitor


Explicação do programa anterior
main()  Função principal.
{  Inicia as instruções internas da função.
  printf(“Boa tarde!\n");  Mostra na tela a mensagem Boa
tarde! e executa uma quebra de
linha.
  system(“pause”);  Paraliza o programa. O sistema aguarda
o usuário apertar alguma tecla para que
os demais comandos sejam executados.
}  Finaliza as instruções internas da função.

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:
* C é uma Linguagem Estruturada (também
conhecida como Procedural), ou seja,
executa os comandos seqüencialmente
(linha por linha).

* Seus programas são compilados, ou seja,


existe um compilador que irá gerar um
programa executável.

Oficina de Linguagem C – Professor Fábio Vitor


A importância das bibliotecas

As bibliotecas são programas que podemos


importar em nossos sistemas e utilizar uma
ou várias de suas funcionalidades.

Aprenderemos o uso de algumas das


principais conforme o “progresso” da
Oficina.

Oficina de Linguagem C – Professor Fábio Vitor


Sintaxe para uso de bibliotecas

Como a linguagem C é estruturada,


tratamos as bibliotecas como cabeçalhos.
Abaixo temos a sintaxe para incluir uma
biblioteca:

#include <nome_da_biblioteca>

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:
* #include insere o conteúdo de um arquivo de
texto no arquivo corrente. Esses arquivos são
usualmente designados por cabeçalhos (header
files) e têm a extensão .h

<nome_da_biblioteca> significa:

 Indica o início do nome do cabeçalho (biblioteca).

ome_da_biblioteca  Nome do arquivo a ser adicionado (.h).


 Indica oOficina
fim dodenome do cabeçalho
Linguagem (biblioteca).
C – Professor Fábio Vitor
Usando uma biblioteca
Agora que já sabemos como adicionar uma
biblioteca vamos aprender como utilizar:
Aproveitando o programa anterior:
#include <stdio.h>
main()
{
  printf(“Boa tarde!\n");
  system(“pause”);
}

Oficina de Linguagem C – Professor Fábio Vitor


Uso da biblioteca stdio.h
Utilizamos o mesmo programa do exemplo anterior, mas
acrescentamos a biblioteca stdio.h. Vamos entender o por
quê?
Esta biblioteca serve para trabalharmos com entrada e
saída de dados. O significado de seu nome é:
std (significa standard  padrão em inglês)
io (significa i/o  abreviação de input e output, ou seja,
entrada e saída)
Logo stdio significa entrada e saída padronizada.

Obs.: Lembrando que .h significa que o arquivo será


interpretado como um cabeçalho.

Oficina de Linguagem C – Professor Fábio Vitor


Stdio.h em nosso exemplo

Agora ficou fácil...

Se stdio.h é utilizada para entrada e saída


de dados, sempre que desejarmos que o
programa mostre na tela alguma coisa
deveremos usar esta biblioteca.

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:
A linguagem C é Case Sensitive, ou seja,
diferencia letra minúscula de letra
maiúscula.

Por exemplo: main() o C “entende” como


uma função. Já Main(), mAIN(), MAIN(), etc.
são desconsiderados pela linguagem;
porém poderão ser utilizados com uma
outra finalidade.
Oficina de Linguagem C – Professor Fábio Vitor
Definições de palavras importantes
Variável: espaço reservado na memória o qual
serve para armazenar valores.
Constante: semelhante a uma variável, porém
possui um valor fixo.
Sintaxe: forma correta de se escrever uma linha de
comando.
Argumento: valor de entrada que será recebido por
uma função ou método.
Identar: alinhar o código interno a direta de sua
estrutura principal.
Oficina de Linguagem C – Professor Fábio Vitor
Tipos de Dados em C
Em C podemos trabalhar com números e com caracteres
em geral.
Os tipos numéricos mais usados são:
int  Número inteiro
double  Ponto flutuante duplo
float  Ponto flutuante
Já o tipo char pode representar um caracter único ou um
array de caracteres (string)
Também é muito o usado o tipo void,
void o qual pode ser
considerado como um “tipo especial” ou “tipo vazio”...
Oficina de Linguagem C – Professor Fábio Vitor
Modificadores

Para cada um dos tipos de variáveis existem os


modificadores de tipo.

Os modificadores de tipo do C são quatro:

igned, unsigned, long e short.

Oficina de Linguagem C – Professor Fábio Vitor


Ação dos Modificadores

float  não se pode aplicar nenhum

double  somente pode ser usado o long

inteiro  pode-se utilizar os 4 modificadores.

Oficina de Linguagem C – Professor Fábio Vitor


Tabela de tipo de dados

Oficina de Linguagem C – Professor Fábio Vitor


Tabela com os principais tipos

Oficina de Linguagem C – Professor Fábio Vitor


Variáveis

As variáveis podem ser declaradas fora das


funções (globais) que valem para todas as
funções do programa. Podem ser
declaradas dentro de uma função (locais)
sendo desconhecida no restante do
programa. Além disso podem ser usadas
para passagem de valores entre funções
(parâmetros).
Oficina de Linguagem C – Professor Fábio Vitor
Declarando variáveis
Para usar uma variável ela deve ser declarada.

A declaração de variáveis é muito simples. A sintaxe


é a seguinte:
tipo nome_da_variável;

Podemos declarar em uma linha várias variáveis,


desde que sejam no mesmo tipo; separando-as por
vírgula(,):
tipo nome_da_variável1, nome_da_variável2;
Oficina de Linguagem C – Professor Fábio Vitor
Tome nota:
* Toda variável ocupa um espaço na
memória e seu endereço é o primeiro byte
por ela ocupado.

* Uma variável do tipo inteiro ocupa 2


bytes, uma do tipo float 4 bytes e do tipo
char 1 byte.

Oficina de Linguagem C – Professor Fábio Vitor


Nome de variáveis

Para criar variáveis deve-se seguir as


seguintes regras:
– O nome deve começar com uma letra
ou underline(_);
– O(s) próximo(s) caracter(es) deve(m) ser
letra, número ou underline(_);
– O nome da variável deve ser diferente das
palavras reservadas em c.

Oficina de Linguagem C – Professor Fábio Vitor


Exemplos de Definição de Variáveis

int x;
char z;
int a,b,c;
float y;
short int varw;
char nome[60];

Oficina de Linguagem C – Professor Fábio Vitor


Constantes
São muito semelhantes às variáveis, podem seu
valor é fixo (não será alterado).
Ex.: const int CONSTANTE = 100;
const char TREINAMENTO[7]=“oficina”;

Obs: Uma constante também pode ser declarada


no início do programa como se fosse um
cabeçalho, através do comando #define.
Ex.: #define PI 3.14159265

Oficina de Linguagem C – Professor Fábio Vitor


Recebendo valores do usuário
Para trabalharmos com interação com o
usuário, na maioria das vezes utilizamos a
função printf() para orientá-lo e a função scanf()
para atribuir o valor digitado para uma variável.
#include <stdio.h>
main()
Ex.: {
int x:
  printf(“Digite um número...”);
  scanf (“%d”,&x);
}

Oficina de Linguagem C – Professor Fábio Vitor


Observação

Para atribuirmos o valor digitado a uma


variável temos que saber qual o conversor
necessário, para associá-lo a uma função.

Oficina de Linguagem C – Professor Fábio Vitor


Conversores (Operadores)
%c representa um caracter
%d representa um número do tipo inteiro
%f representa um número em ponto flutuante
%s representa uma string
%u representa um número do tipo inteiro sem sinal
%lf representa um número do tipo double
%x representa um número hexadecimal
&x representa a posição na memória utilizada pela variável

Oficina de Linguagem C – Professor Fábio Vitor


Utilizando um conversor

Um conversor (operador interpretador)


serve para “transformar” um tipo de dado.
Por exemplo, para atribuir um valor do tipo
(digitado pelo usuário) para a variável x
usamos a função scanf() juntamente com o
conversor para número inteiro.

Oficina de Linguagem C – Professor Fábio Vitor


Trabalhando com funções

Primeiramente temos que entender o


conceito delas:

Função é um bloco de comandos que pode


ser utilizado por diversas vezes. A definição
de função é muito parecida com a de
método, porém este sempre possuirá um
vínculo.
Oficina de Linguagem C – Professor Fábio Vitor
Função printf()
Uma das mais importantes e poderosas instruções,
servirá basicamente para promover leitura de
dados via teclado e para saída de dados
(mensagens que servirão como informações na
tela).
Sua sintaxe é:
printf(“string de controle”,lista de argumentos);
Ex.: printf(“O valor da variável x é:”,x);
Obs.: A lista de argumentos é opcional.

Oficina de Linguagem C – Professor Fábio Vitor


Função scanf()
Esta função serve para atribuir a uma variável
um valor.
Sua sintaxe é:
scanf(“conversor”,&nome_da_variável);
Ex.: scanf(“%d”,&x);

Obs.: O & (e comercial) é que vinculará o item


convertido com a variável. Somente com
strings ele (&) não é utlizado.
Oficina de Linguagem C – Professor Fábio Vitor
Programa utilizando printf() e scanf()
Digite o programa abaixo, salve como
idade.c e verifique o resultado.

main()
{
int idade;
char nome[30];
printf("Digite sua idade: ");
scanf("%d",&idade);
printf(“Digite seu Nome: ");
scanf("%s",nome);   
printf("%s Sua idade eh %d anos. \n", nome, idade);
}

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:

As funções devem retornar um valor do


mesmo tipo que foi definido para ela.

Caso queira criar uma função que não


retorne valores, deve criá-la com o tipo
void.
void

Oficina de Linguagem C – Professor Fábio Vitor


Primeira dúvida...???
Se toda função tem um retorno e main() é
uma função por que não usamos um
return?

R: Ocorre que a linguagem C reconhece a


função main() como do tipo inteiro (int) e
“atribui” o valor zero(0) como returno.

Oficina de Linguagem C – Professor Fábio Vitor


Sendo assim...
Os programas abaixo, para a linguagem C,
têm o mesmo “significado”:
#include <stdio.h> #include <stdio.h>
main() int main()
{ {
  printf(“Boa tarde!\n");   printf(“Boa tarde!\n");
  system(“pause”);   system(“pause”);
} return (0);
}

Oficina de Linguagem C – Professor Fábio Vitor


Criando uma função
Para criar uma função, basta escolher um nome que
lembre o assunto (para que ela serve) e posteriormente
abrirmos e fecharmos parênteses, sendo que todos os
comandos internos dela ficarão entre { e }. O nome da
função deverá ser com letras minúsculas.
Ex.: Função para mostrar a descrição desta oficina:
int descoficina()
{
printf(“Oficina de Linguagem C - UNIBAN”);
printf(“\nObjetivo: Ensinar os conceitos básicos de C.”);
return (0);
}

Oficina de Linguagem C – Professor Fábio Vitor


Entendendo a nossa função...

int descoficina()  Define o tipo e o nome da função .


{  Inicia as instruções internas da função.
printf(“Oficina de Linguagem C - UNIBAN”);  Mostra a mensagem na
tela.
printf(“\nObjetivo: Ensinar os conceitos básicos de C.”)  Mostra a
mensagem na tela.
return (0);  A função retorna o valor 0.
}  Finaliza a função.

Oficina de Linguagem C – Professor Fábio Vitor


Operadores

C é uma das linguagens com maior número


de operadores, devido possuir todos os
operadores comuns de uma linguagem de
alto nível, porém também possuindo os
operadores mais usuais a linguagens de
baixo nível.

Oficina de Linguagem C – Professor Fábio Vitor


Operadores aritméticos

Oficina de Linguagem C – Professor Fábio Vitor


Operadores lógicos e relacionais

Em C o resultado da comparação será ZERO se


resultar em FALSO e DIFERENTE DE ZERO em uma
situação resultante em VERDADEIRO.
Oficina de Linguagem C – Professor Fábio Vitor
Operador sizeof

Este operador retorna o tamanho da


variável ou tipo que está em seu operando.

Oficina de Linguagem C – Professor Fábio Vitor


Exercício
Crie um programa que solicite ao usuário as
seguintes informações:
• Nome;
• Endereço;
• Cidade;
• Estado (sigla);
• Idade;
• Time que torce.

Oficina de Linguagem C – Professor Fábio Vitor


Tome nota:

* As funções podem possuir variáveis com


o mesmo nome, desde que sejam
declaradas internamente.

Oficina de Linguagem C – Professor Fábio Vitor


Exercício 2
Vamos criar uma função e utilizar o operador
de multiplicação.

Nome da função: quadnumero


Tipo: inteira
Detalhe: recebe um argumento (número
digitado)
Informações internas: Mostra na tela o
quadrado do número digitado e retorna 0.
Oficina de Linguagem C – Professor Fábio Vitor
Impressão de números reais
Digite o programa abaixo e verifique o
resultado na tela:
#include <stdio.h>
main()
{
float nota1, nota2, media;
nota1 = 6.1;
nota2 = 7.2;
media = (nota1 + nota2)/2;
printf("Media Final = %f\n", media);
system("pause");
}

Oficina de Linguagem C – Professor Fábio Vitor


Resultado da impressão
O programa trouxe como resposta o valor
6.650000, ou seja, resultado com 6 casas
decimais. Isto ocorre porque sempre que
pedirmos para imprimir através da função
printf() com %f o float será impresso assim
(com 6 casas).

Oficina de Linguagem C – Professor Fábio Vitor


Formatação especial na função printf()
Para formatar de maneira diferente devemos
citar quantas casas decimais desejamos
utilizar. Devemos também citar o número total
de caracteres do número a ser impresso.
Exemplo:    %5.2f   especifica que se quer
imprimir um float com 2 casas decimais e com
um tamanho total de 5 caracteres.

Oficina de Linguagem C – Professor Fábio Vitor


Regras para impressão de um número real
1) O número de casas decimais é sempre respeitado. Se for preciso, zeros
serão acrescentados à direita do número
2) O tamanho total significa o número de caracteres do número
incluindo o ponto decimal e um eventual sinal de menos (-), se for o
caso;
3) Se a soma do número de caracteres da parte inteira, mais o ponto
decimal, mais a parte fracionária, mais um eventual sinal de menos
ainda for menor do que o tamanho total especificado no formato, então,
espaços em branco serão acrescentados à esquerda da parte real do
número.
4) Se a soma do número de caracteres da parte inteira, mais o ponto
decimal, mais a parte fracionária, mais um eventual sinal de menos for
maior do que o tamanho total especificado no formato, então, apenas o
número de casas decimais é respeitado.
Oficina de Linguagem C – Professor Fábio Vitor
Exercício 3

Crie um programa que receba 2 valores do


tipo float, multiplique a soma dos mesmos
pela constante CONT que possui o valor 10
e chame a função triplo, a qual calculará o
triplo do valor da operação anterior e
mostrará o resultado na tela.

Oficina de Linguagem C – Professor Fábio Vitor


Exercício 4

Crie uma função que receba 4 números


inteiros e retorne como resultado a soma
dos mesmos.

Oficina de Linguagem C – Professor Fábio Vitor