PROGRAMAÇÃO DE
COMPUTADORES I
APRESENTAÇÃO DA LINGUAGEM
Breve história:
O C nasceu na década de 70. Seu inventor,
Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX.
O C é derivado de uma outra linguagem: o B,
criado por Ken Thompson. O B, por sua vez, veio da linguagem BCPL, inventada por Martin Richards.
APRESENTAÇÃO DA LINGUAGEM
O C é uma linguagem de programação genérica que é
utilizada para a criação de programas diversos como processadores de texto, planilhas eletrônicas, sistemas operacionais, programas de comunicação,
programas para a automação industrial,
gerenciadores de bancos de dados, programas de projeto assistido por computador, programas para a solução de problemas da Engenharia, Física, Química e outras Ciências, etc ...
É bem provável que o Programa que você está usando
APRESENTAÇÃO DA LINGUAGEM
ATENÇÃO!!
• O C é "Case Sensitive“, isto é, maiúsculas e
minúsculas fazem diferença.
• Se declarar uma variável com o nome soma ela
será diferente de Soma, SOMA, SoMa ou sOmA. Da mesma maneira, os comandos do C if e for, por exemplo, só podem ser escritos em minúsculas pois senão o compilador não irá interpretá-los como sendo comandos, mas sim como variáveis.
ESTRUTURA SEQÜENCIAL EM C/C++
#include <nome da biblioteca> void main ()
{
Variáveis;
bloco de comandos; }
Bibliotecas são arquivos contendo várias funções que
podem ser incorporadas aos programas escritos em C/C++;
A diretiva #include faz com que o texto contido dentro da
ESTRUTURA SEQÜENCIAL EM C/C++
A importância da biblioteca em C é imensa, pois ela nos
poupa de muita programação. Uma vez que a função já está pronta dentro da biblioteca, basta importar tal biblioteca e utilizar a função que queremos.
Por exemplo, se você quiser mostrar uma mensagem
na tela, você não tem que produzir uma função inteira ou criar um comando novo, basta importar uma biblioteca de I/O (entrada e saída) e utilizar uma função dela.
Quando for compilar, o compilador vai buscar nas
ESTRUTURA SEQÜENCIAL EM C/C++
Linguagem C – apresentação de um exemplo
Digite o código abaixo e salve com o nome: prog1.c
#include <stdio.h>
/*Um Primeiro Programa*/ int main (){
printf ("Ola! Este é o primeiro programa em C!\n"); system("PAUSE"); /*usado somente no Windows!*/ return(0);
}
Compilando e executando este programa você verá que
ele coloca a mensagem “Ola! Este é o primeiro programa em C!” na tela.
ESTRUTURA SEQÜENCIAL EM C/C++
• A linha #include <stdio.h> diz ao compilador que
ele deve incluir a biblioteca stdio.h. Neste arquivo existem declarações de funções úteis para entrada e saída de dados (std = standard, padrão em inglês; io = Input/Output, entrada e saída ==> stdio = Entrada e saída padronizadas).
• Toda vez que você quiser usar uma destas funções
ESTRUTURA SEQÜENCIAL EM C/C++
• A linha int main() indica que estamos definindo uma
função de nome main. Todos os programas em C têm que ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves { }.
• O código que estiver dentro das chaves será
executado seqüencialmente quando a função for chamada. A palavra int indica que esta função retorna um inteiro. O que significa este retorno será visto posteriormente.
ESTRUTURA SEQÜENCIAL EM C/C++
• A última linha do programa, return(0); , indica o
número inteiro que está sendo retornado pela função, no caso o número 0.
• A única coisa que o programa realmente faz é chamar
a função printf(), passando a string (uma string é uma seqüência de caracteres, como vimos em sala de aula) "Ola! Este é o primeiro programa em C!\n" como argumento.
• É por causa do uso da função printf() pelo programa
ESTRUTURA SEQÜENCIAL EM C/C++
• A função printf() neste caso irá apenas colocar a
string na tela do computador. O \n é uma constante
chamada de constante barra invertida. No caso, o \n é a constante barra invertida de "new line" e ele é interpretado como um comando de mudança de linha, isto é, após imprimir “Olá! Este é o primeiro programa em C!” o cursor passará para a próxima linha.
• É importante observar também que os comandos do
ESTRUTURA SEQÜENCIAL EM C/C++
Declaração de variáveis
Os tipos de dados mais utilizados são:
int – para números inteiros; float – para números reais;
char – para caracteres. Quando a variável for conter mais de um
caractere é necessário dizer o seu tamanho.
Exemplos:
float X; float Y, Z; char SEXO;
ESTRUTURA SEQÜENCIAL EM C/C++
As variáveis devem ser declaradas no início da função.
Exemplo:
#include <stdio.h> int main ()
{
int idade;
float nota1, nota2, nota3, nota4; printf(“idade = %d”, idade); return (0);
ESTRUTURA SEQÜENCIAL EM C/C++
Constantes
Para definir uma constante usa-se a diretiva #define.
Exemplo:
#include <stdio.h> #define IDADE 34 int main ()
{
printf ("Sua idade é %d", IDADE, "anos"); return (0);
ESTRUTURA SEQÜENCIAL EM C/C++
Comando de atribuição
O comando de atribuição em C é representado por = (sinal
de igualdade); Exemplos: X = 4; X = X + 2; Y = 2.5; SEXO = ‘F’;
Em C os caracteres são representados entre apóstrofos (‘).
As cadeias de caracteres devem ser representadas entre aspas (“).
ESTRUTURA SEQÜENCIAL EM C/C++
Comando de entrada
É utilizado para receber os dados digitados pelo usuário.
O comando mais utilizado é o scanf. Sua sintaxe é:
scanf(“EF”, &VARIÁVEL);
EF é o especificador de formato e VARIÁVEL é a variável onde o
dado será armazenado.
Exemplo:
ESTRUTURA SEQÜENCIAL EM C/C++
Comando de saída É utilizado para mostrar dados na tela ou na impressora. O comando de saída mais utilizado é o printf.
Exemplo:
printf (“%d”, Y);
printf (“Conteúdo de Y = %d”, Y);
Observe que para exibir as variáveis utiliza-se o especificador de
formato %d .
Os especificadores de formato básicos são:
%d => int %c => char %f => float
ESTRUTURA SEQÜENCIAL EM C/C++
Comentários
São textos que podem ser inseridos em programas com o
objetivo de documentá-lo.
Os comentários não são analisados pelo compilador.
Comentários podem ocupar uma ou várias linhas, devendo
ser inseridos no programa utilizando o símbolo /*...*/.
Exemplo:
/*
linhas de comentário */
ESTRUTURA SEQÜENCIAL EM C/C++
Operadores e funções predefinidas
Operadores Matemáticos Operado
r
Exemplo Comentário
= x = y Operador de atribuição. O conteúdo da variável y é atribuído à variável X.
+ x + y Soma o conteúdo de x e de y.
- x- y Subtrai o conteúdo de y do conteúdo de x.
* x * y Multiplica o conteúdo de x pelo conteúdo de y.
/ x / y Obtém o quociente da divisão de x por y.
% x % y Obtém o resto da divisão de x por y. Este operador só pode ser utilizado com variáveis do tipo inteiro.
++ x++ Aumenta o conteúdo de x em uma unidade.
ESTRUTURA SEQÜENCIAL EM C/C++
Operadores Matemáticos de Atribuição Operado r Exemplo Comentário += x+= y Equivale a x = x + y -= x -= y Equivale a x = x - y *= x *= y Equivale a x = x * y /= x /= y Equivale a x = x / y %= x %= y Equivale a x = x % yESTRUTURA SEQÜENCIAL EM C/C++
Operadores RelacionaisOperado
r Exemplo Comentário
== x == y O conteúdo de x é igual ao conteúdo de y
!= x != y O conteúdo de x é diferente do conteúdo de y
<= x<= y O conteúdo de x é menor ou igual ao conteúdo de y
>= x >= y O conteúdo de x é maior ou igual ao conteúdo de y
< x < y O conteúdo de x é menor que o conteúdo de y
ESTRUTURA SEQÜENCIAL EM C/C++
Outros operadores e funçõesOperado
r Exemplo Comentário
&& e (a && b) || ou (a || b) ! não !a
pow pow(x,y) Calcula a potência de x elevado a y. sqrt sqrt(x) Calcula a raiz quadrada de x
• A linguagem C possui muitas outras funções matemáticas. Todas elas podem ser observadas detalhadamente na documentação da biblioteca math.h, que deve ser incluída no programa ao utilizar alguma dessas funções.