24 abril 2011

Linguagem C/C++

A Linguagem C tornou-se uma das linguagens mais utilizadas entre os bons programadores principalmente pelo alto domínio que esta oferece sobre a máquina. Em C é possível programar desde programas complexos de alto nível, inclusive com janelas gráficas, até à linguagem mais baixa, mexendo diretamente em endereços de memória e outras facilidades, que na verdade não são tão fáceis assim. Por esses e outros motivos mais, é que o kernel do sistema operacional Linux é compilado em C e uma grande parte do sistema que compõe o Windows também. Ela te oferece um grande poder sobre a maquina , pois com ela voce pode manipular a memória da forma que quiser.
Apesar de que essa linguagem tenha ferramentas muito complexas , sua sintaxe é bem simples e bem semelhante ao portugol (pseudo-códigos)  em grande parte dos casos, o que diferencia é que seus comando são em inglês. 

Tipos de dados em C

Vimos na seção 1.3 que os algoritmos computacionais dispõem de quatro tipos de dados. A linguagem C não dispõe do tipo primitivo booleano.

 Identificadores

Os identificadores são os nomes das variáveis que utilizamos em nosso programa. Sendo assim, para uma linha: int num; num é o identificador para um tipo int. Os identificadores, em C, não podem ter espaços em branco nem caracteres especiais. Também não podemos começar escritos com números. Vejamos alguns identificadores válidos: idade, Idade, ida_de, idade1. Agora alguns identificadores inválidos: 1idade, idade 1, idade*, idadeé.
É importante notar que C diferencia letras maiúsculas de letras minúsculas. Logo idade é diferente de Idade. Ou seja, ao nomearmos duas variáveis com Idadeidadeidade será um identificado e Idade será outro.

 Bibliotecas

Na seção 1.2 falamos sobre bibliotecas e a definimos como um conjunto de funções (mais adiante entenderemos o que são e para que servem as funções) prontas para serem utilizadas em nossos programas. Para escrever um programa simples em C, você precisará incluir pelo menos uma biblioteca: a stdio.h que é responsável por gerenciar as entradas e saídas de dados de seu programa. Como já dissemos, nosso objetivo não é se aprofundar em C, portanto, vamos em todos os programas incluir as bibliotecas stdio.h e a stdlib.h sem se preocuparmos se as mesmas são necessárias ou não. Naturalmente, se for verificada a necessidade de incluir mais uma outra assim o faremos. O comando responsável por incluir as bibliotecas em seu algoritmo é o #include seguido do nome da biblioteca entre “<>”. Para incluirmos stdio.h, escreveríamos o código a seguir: #include .

 A função main

Todo e qualquer programa escrito em C precisa possuir pelo menos uma função, a main. As funções servem para dividirmos nosso algoritmo em partes (ainda veremos isso melhor mais à frente) e garantirmos, assim, um código maisenxuto e otimizado. Quando compilamos um algoritmo escrito em C, o compilador de imediato procura a função main e começa a execução a partir dela. Inicialmente, todo algoritmo lógico de nosso programa deve ficar dentro da função maindelimitado por chaves “{}”. Se não existir a função main o algoritmo não pode ser compilado.
As funções podem receber e enviar dados para outras funções. No entanto, vamos nos limitar a um padrão onde em nossos algoritmos, até o momento certo, as funções main não enviaram nem receberam dados de outras funções.
A sintaxe de uma função é Uma função pode receber vários tipos de dados ao mesmo tempo mas só pode enviar um por chamada. Para simbolizarmos que nossa função não envia ou recebe dado declaramos o tipo como void (vazio).

  1. Escrevendo, compilando e executando programas em C

Independente do Sistema Operacional utilizado ou de qualquer outro fator, existe uma forma de escrever os programas de forma que seja fácil sua leitura (apesar do fato de que a forma em que um algoritmo é arrumado não influenciará em sua execução). Um algoritmo enxuto, com certeza, é um grande diferencial no meio acadêmico e uma necessidade a nível profissional. Imagine um grupo de programadores trabalhando em equipe, onde cada um adota uma forma de arrumar seu algoritmo. Seria praticamente impossível obter um bom desempenho considerando o tempo que eles iriam perder ao tentar entender o que o colega escreveu. Os algoritmos escritos aqui seguem o layout conservador da linguagem C.

  •  USANDO LINUX

Um algoritmo escrito em C, independente da plataforma usada, deve ser salvo como um arquivo de extensão *.c e pode ser escrito em qualquer editor de textos. Aconselho o Kate para usuários do KDE e o Gedit para usuários do Gnome. Estes editores possuem opções facilitadoras à programação como exibir números de linhas e até mesmo coloração de palavras reservados1 da linguagem, o que é “uma mão na roda” quando temos um algoritmo de muitas linhas e desejamos visualizar algo.
O compilador mais famoso do Linux é o gcc, ele é usado para compilar o kernel, e, por isso geralmente já vem embutido nas distribuições. Caso a sua não o tenha baixe-o e instale-o em sua máquina. O gcc trabalha com comando via terminal e o comando usado para compilar um programa é:
$ gcc arquivo.c -o nome_do_programa_que_será_gerado
Por exemplo, vamos compilar um programa teste.c e seu nome, já compilado, será testei:
$ gcc teste.c -o testei
Nota: O arquivo gerado pelo gcc é um executável.
Para executar seu executável, assim como qualquer outro em Linux, abra o terminal e entre no diretório onde se encontra seu executável e digite:
$ ./nome_do_executável
./ diz ao terminal que o executável encontra-se no diretório atual, caso contrário ele irá procurar o executável no sistema, como não encontrará exibirá uma mensagem de erro: “command not found”, comando não encontrado.

  •  USANDO WINDOWS

Como já vimos, um algoritmo escrito em C, independente da plataforma usada, deve ser saldo como um arquivo de extensão *.c e pode ser escrito em qualquer editor de textos. Para os usuários do Windows a coisa fica mais simples. Pois temos compiladores que já possuem seu editor de textos próprio e a compilação é feita apenas pressionando um botão. Um ótimo compilador gratuito é o Dev c++. No Windows também é gerado um executável ao compilar-se um programa, claro que um executável do Windows, e, como qualquer outro executável do Windows para abri-lo basta darmos um duplo clique!

Algoritmos em C

Agora que já falamos sobre a funcionalidade básica da linguagem C, vamos por fim escrevermos algoritmos em C e vermos como compila-lo e executa-lo.
Reescrevendo o “Calcula quadrado”:
Prog_c-01
Entendendo o programa Prog_C-01: Nas linhas 1 e 2 é realizada a inclusão das bibliotecas stdio.h e stdlib.h. Na linha 4 temos a função main de modo que não recebe nem envia dados para outras função (envia e recebe void = vazio).
A linha 5 declara as variáveis num e resultado do tipo int. Note que para duas variáveis do mesmo tipo, vale declara-las na mesma linha, separando-as com uma vírgula.
Na linha 7 imprimimos a mensagem que se encontra entre aspas duplas utilizando o printf (note que é imprime em inglês acrescido da letra “f”). “\n”equivale a um ENTER, e faz com que o cursor, quando o programa for executado, seja posicionado uma linha abaixo. No printf além do texto está escrito entre aspas duplas, o mesmo deve está entre parênteses.
Na linha 8, lemos o valor digitado pelo usuário e o armazenamos na variávelnum utilizando o scanf. Notamos algo diferente no scanf. O %d é o que chamamos de mascara, e serve para informar ao scanf qual o tipo de dado você deseja ler.%d indica um valor inteiro (ao longo de nossos estudos veremos todas as outras mascaras). O & que aparece antes da variável que irá receber o valor lido (num) serve para indicar o endereço de memória onde se encontra esta variável. A princípio o que precisamos saber é que toda vez que usarmos o scanf colocaremos o & antes da variável. Observe que utiliza-se uma vírgula para separar-se a mascara e a variável, e que ambas se encontram entre parênteses.
A linha 11 se comporta da mesma maneira em que escrevemos o algoritmos em pseudo-código. Ou seja, resultado recebe num vezes num.
Modificamos a linha 12 para verificarmos outro comportamento do printf. Agora estamos imprimindo texto junto a valores de variáveis. O valor que será impresso na tela é somente o que se encontra dentro das aspas duplas, sendo que onde encontram-se as mascaras, serão impressos os dados contidos nas variável separadas por vírgulas e escritas após as aspas duplas. Como o compilador saberá qual mascara pertence a qual variável? É simples! Ele busca as variáveis obedecendo a ordem em que as mascaras aparecem.
A chave “}” da linha 14 determina o final da função main e, conseqüentemente, do programa.

Para se aprofundar mais baixe as apostilas  baixe aqui 
Um ótimo programa para programar em C/C++ é o Dev C++

Até a próxima ! 


0 comentários:

Postar um comentário

Cadastre-se

Receba atualizações por email .

Copyright © 2011 PortalTecch.net, Todos os direitos reservados.