1. LINGUAGEM C - AULA 02 1 DE 5
Linguagem C– Aula 02 – Prof. Wellington Telles
Algoritmo
Para se executar um conjunto de instruções temos que ter mente:
• Qual a lógica do processo?
• Qual será a sequência baseado na lógica?
• Qual/quais serão as entradas de dados?
• Qual/quais serão as saídas?
Esse é um princípio básico pensado de forma macro.
É possível escrever um algoritmo em um pseudocódigo em português (Portugol):
programa
{
funcao inicio (){
inteiro idade, idade_pai, diferenca
escreva ("Qual a sua idade?")
leia (idade)
escreva("Idade do seu pai?")
leia (idade_pai)
diferenca = idade_pai - idade // calcula diferença
escreva ("A diferença de idade é:",diferenca)
}
}
Essa linguagem é uma boa forma de aprender
programação sem aprender outro idioma, mas é claro
que fica limitada a alguns detalhes.
Compilador
Um compilador é um programa de computador (ou um
grupo de programas) que, a partir de um código fonte
escrito em uma linguagem compilada, cria um programa
semanticamente equivalente, porém escrito em outra linguagem, código objeto. Classicamente, um compilador traduz
um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina,
específica para um processador e sistema operacional. (https://pt.wikipedia.org/wiki/Compilador).
DEVC++
Dev-C++ (também conhecido como Dev-Cpp) é um ambiente de desenvolvimento integrado livre que utiliza os
compiladores do projeto GNU para compilar programas para o sistema operacional Microsoft Windows. Suporta as
linguagens de programação C e C++, e possui toda a biblioteca ANSI C. A IDE (Integrated Development Environment
ou Ambiente de Desenvolvimento Integrado) é escrita em Delphi. O projeto volta a ser atualizado por outro
desenvolvedor, depois de um tempo significativo parado.
Criando um Projeto
Arquivo > Novo > Projeto
2. LINGUAGEM C - AULA 02 2 DE 5
O código inicial:
/* */ comentários
#include inclui as bibliotecas (conjunto de subprogramas prontas para usar)
main principal
argc argumento de linhas (int)
argv conteúdo dessas linhas (char)
return 0 retorna 0 quando não houver erro
Primeiro Programa
É comum batizar os programadores com o programa “Hello World”, então vamos a ele:
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[])
{
printf("Hello World");
return 0;
}
Printf print formatted data impressão de dados formatados
Gerando um Erro
Vamos remover o ponto e vírgula da linha printf
Expected ‘;’ before ‘return’ esperado ; antes do return, na linha 9 e coluna 2
3. LINGUAGEM C - AULA 02 3 DE 5
Modificando o Programa
Vamos acrescentar a função System:
int main(int argc, char *argv[])
{
printf("Hello World");
system("pause");
return 0;
}
Como corrigir? Pular uma linha:
int main(int argc, char *argv[])
{
printf("Hello Worldn");
system("pause");
return 0;
}
O diretório
Alguns arquivos são gerados pelo programa incluindo o código em C, o objeto e o executável:
DEV arquivo de projeto do DEVC++
EXE arquivo executável
C código fonte em C
Makefile.win arquivo de compilação
O arquivo objeto
Código Objeto: Em programação de computadores, código objeto ou arquivo objeto é o nome dado ao código
resultante da compilação do código fonte. Normalmente, o código fonte é formado por uma sequência de instruções
no formato especificado por alguma linguagem de programação. Para cada arquivo de código fonte é gerado um
arquivo com código objeto, que posteriormente é "ligado" aos outros, através de um linker, resultando num arquivo
executável ou biblioteca.
Acentuação
Altere o seu programa para:
int main(int argc, char *argv[])
{
printf("Olá mundon");
system("pause");
return 0;
}
Veja o resultado ao lado.
A acentuação não está correta, pois está pegando outra tabela de acentuação.
Como corrigir, modifique o código para:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(int argc, char *argv[])
{
// A linha abaixo configura o idioma português
setlocale(LC_ALL,"Portuguese");
printf("Olá mundon");
system("pause");
return 0;
}
Teste o programa novamente.
4. LINGUAGEM C - AULA 02 4 DE 5
Mudando a cor do texto
É possível alterar a cor do texto, mas a sua tabela está em hexadecimal (0 a F):
Através do comando system(“color XY”);
Aonde X é a cor do plano de fundo e Y é a cor do texto.
Ao colocar apenas um, a cor do texto é modificada.
Veja o exemplo abaixo:
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"Portuguese");
system("color A");
printf("Olá mundon");
system("pause");
return 0;
}
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"Portuguese");
system("color 1E");
printf("Olá mundon");
system("pause");
return 0;
}
Limpar a Tela
system (“cls”);
cls Clear Screen Limpa Tela
Modifique o programa para:
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"Portuguese");
system("color F0");
printf("Olá mundon");
system("pause");
system("cls");
system("color 0F");
printf("Prof. Wellington Tellesn");
system("pause");
return 0;
}
Variáveis
Variável é um local da memória capaz de armazenar um tipo específico de dados. Elas só existem durante a execução
do programa e são associadas a um “nome” chamado de identificador durante o desenvolvimento.
Tipos de Variáveis
Tipo Valores Válidos
char Caracteres (letras, número, símbolos)
int Inteiros (-32767 até 32767)
float Ponto flutuante até 6 dígitos de precisão (de -3.4 x 1038
até +3.4 x 10+38
)
double Ponto flutuante até 10 dígitos de precisão (de -1.7 x 10308
até +1.7 x 10+308
)
Ainda há variável do tipo string (cadeia de caracteres) que é um vetor de caracteres.
5. LINGUAGEM C - AULA 02 5 DE 5
Declaração de Variáveis
As variáveis devem ser declaradas antes de serem usadas.
Exemplos:
int idade;
char nome[40];
float saldo;
Aplicação das Variáveis
Vamos fazer um programa que o usuário entra com o nome e o programa irá dizer bem-vindo para o usuário.
Digite o programa abaixo:
int main(int argc, char *argv[])
{
char nome[40];
setlocale(LC_ALL,"Portuguese");
printf("Digite o seu nome: ");
gets(nome);
system("cls");
printf("Bem-vindo %sn",nome);
system("pause");
return 0;
}
Atribuição de Valores
As variáveis podem receber valores diretamente através do sinal de igual.
Exemplo:
int main(int argc, char *argv[])
{
int maior, idade;
printf("Digite sua idade: ");
gets(idade);
maior = 18;
return 0;
}
Outra forma:
int main(int argc, char *argv[])
{
int idade;
int maior = 18;
printf("Digite sua idade: ");
gets(idade);
return 0;
}