#include <stdio.h>
void main()
{
}
Introdução à programação usando a linguagem C
O capítulo anterior apresentou vários detalhes sobre como desenvolver um programa. Já sabemos que é preciso criar um algoritmo, escrito em pseudo código ou alguma linguagem de programação (apesar de ser possível representar algoritmos utilizando-se fluxogramas e blocos). Existe um imenso número de linguagens, e escolher uma para iniciar não é uma tarefa fácil.
Neste curso utilizaremos a linguagem denominada C. Esta é uma linguagem de propósito geral (utilizada para as mais diversas finalidades) e uma das mais utilizadas mundialmente, como pode ser constatado na pesquisa anual feita pela empresa TIOBE. Como C é uma linguagem usada desde a década de 1970, ela inspirou muitas outras linguagens. Assim, ao aprender C, é bem mais fácil aprender qualquer outra linguagem moderna como Java, JavaScript, PHP, Objective-C (a primeira linguagem usada para desenvolver aplicativos para iPhone) e várias outras.
|
Você deve estar se perguntando o porquê da linguagem ser chamada C. Pois é isso mesmo que estava imaginando: havia uma linguagem chamada B antes. Apesar de B ter sido derivada de outra linguagem chamada BCPL, ela foi desenvolvida pela empresa Bell Labs (que existe até hoje). Daí podem imaginar porque ela foi chamada de B, apesar de contarem outra história 🤥 [C]. |
O que é preciso para criar programas em linguagem C
Para escrever algoritmos em C você precisa apenas de um editor de texto simples como o Bloco de Notas do Windows ou o GEdit (existente em muitas versões do Linux). No entanto, para gerar programas a partir de um algoritmo escrito em C você precisa do que chamados de compilador C.
|
Um compilador C é um software capaz de entender um algoritmo escrito em linguagem C e gerar um programa que pode ser executado por um computador. Sem o compilador, o algoritmo que você escreveu não tem utilidade alguma. |
Apesar de ser possível escrever algoritmos usando editores de texto simples como o Bloco de Notas do Windows, o recomendável é utilizar um editor de texto específico para a criação de algoritmos, pois ele terá uma série de recursos para auxiliar o processo de desenvolvimento de programas. As seções a seguir apresentam algumas ferramentas aconselhadas para serem utilizadas em Windows e Linux.
Ferramentas para desenvolvimento de programas em C no Windows
Se você deseja utilizar o Windows para criar programas em C, a forma mais simples é utilizando a ferramenta DevC++. Apesar do desenvolvimento da ferramenta ter sido abandonado e ela não ter uma interface gráfica bonita e moderna, é a forma mais simples de conseguir um editor e um compilador C, tudo junto, para sistema operacional Windows. O DevC++ permite escrever algoritmos em C e gerar programas a partir deles.
Ferramentas para desenvolvimento de programas em C no Linux
Se você é usuário de Linux, verá que desenvolver programas neste sistema operacional é mais simples que em Windows. Se você utiliza distribuições Linux como Ubuntu, abra a Central de Software a partir do menu e procure pelo CodeBlocks. Ele é um editor para escrita de algoritmos em diversas linguagens, incluindo C. Em distribuições Linux, normalmente o compilador C já está instalado por padrão.
Estrutura básica de um algoritmo em C
Como vimos, para criar um programa é preciso escrever um algoritmo. Algoritmos são como uma redação, eles seguem uma determinada estrutura. Assim como para aprender um idioma precisamos estudar a estrutura dele, para uma linguagem de programação é o mesmo processo. Vamos iniciar mostrando a estrutura básica de um algoritmo em C, sem explicar o porquê de muitas coisas. Você irá desenvolvendo pequenos programas e os conceitos vão sendo introduzidos aos poucos ao longo do caminho. Então, vejamos qual a estrutura básica de um programa em C:
Por enquanto não se preocupe em entender esta estrutura e nem porque tem que ser assim. Você só precisa saber agora que algoritmos em C precisam dessa estrutura básica. Como você terá o papel de escrever as instruções do algoritmo para gerar um programa de computador, tais instruções devem ser normalmente escritas uma em cada linha, entre as chaves (caracteres { e }). Não é diferente de uma receita de bolo: cada passo a ser executado é indicado em uma linha.
Escrevendo nossos primeiros algoritmos
Vimos no capítulo anterior que o funcionamento de um programa é dividido normalmente em 3 partes: entrada, processamento e saída. Tais partes precisam ser claramente definidas quando escrevemos um algoritmo, vamos então escrever alguns algoritmos para resolver problemas básicos.
Os programas que criaremos não terão uma interface gráfica com botões e imagens, semelhantes a páginas de internet ou aplicativos de celular. Eles serão aplicativos contendo apenas texto, executando em uma tela preta que chamamos de terminal ou console. Neste tipo de aplicação, o dispositivo de entrada mais comum é o teclado e o de saída o monitor.
Obtendo dados de entrada
O primeiro algoritmo que escreveremos será para criar um programa que solicite o nome de uma pessoa e exiba uma mensagem de boas vindas. Primeiro temos que identificar quais são as entradas que o programa precisa obter. Tais entradas podem variar de nenhuma a várias. Aqui, já indicamos que o programa deve solicitar o nome do usuário. Neste caso, esta é a nossa única entrada. Como informamos que o usuário deverá digitar o nome, tal dado será obtido a partir do teclado.
Dados utilizados por um programa são inicialmente armazenados na memória RAM do computador. Para que um programa possa armazenar e obter dados da RAM, é necessária incluir no algoritmo o que chamamos de declaração de variáveis. Ao declarar uma variável, estamos indicando que nosso programa precisa de um determinado espaço na memória RAM para ele manipular algum dado como o nome de uma pessoa, seja ele um dado de entrada ou não.
Variáveis é um termo que já conhecemos da matemática. Uma variável
-
possue um nome que costumávemos chamar de a, b ou c ou ainda x, y ou z;
-
e o conjunto ao qual ela pertence, que indica que valores podem ser associados (atribuídos, armazenados) a ela.
Para calcular a área de um retângulo usamos a equação área = base x altura
. Área, base e altura são variáveis que representam números. Normalmente definíamos que tais variáveis são do conjunto dos números reais ou inteiros.
Na computação, uma variável também terá as mesmas características:
-
um nome, mas que normalmente não deve ter apenas uma letra como a, b ou c, mas sim um nome significativo como base ou altura. Tal nome pode até mesmo ser formado por várias palavras, como veremos mais adiante.
-
um tipo, que representa o conjunto ao qual a variável pertence.
Podemos ver que utilizamos o termo tipo como sinônimo de conjunto. Além disso, temos muito mais tipos do que apenas numéricos como números naturais, inteiros e reais.
Agora sabemos que o nome que precisamos obter como entrada será uma variável. No caso do nome, nosso único dado de entrada, ele é um dado alfabético: é formado por letras. Assim, identificamos o tipo da nossa variável. Em linguagem C, o tipo de variável que permite armazenar letras (inclusive números e qualquer caractere do teclado) é o char
.
No entanto, como o nome possui mais de um caractere, precisamos indicar quantos caracteres no máximo poderão ser armazenados (por exemplo, 50 caracteres). O código abaixo então apresenta a declaração da nossa primeira variável, chamada nome
.
#include <stdio.h>
int main(){
char nome[50];
}
O local mais comum de declaração de variáveis em C é dentro das chaves que delimitam o início e fim do algoritmo. A estrutura para declaração deve seguir o formato nome_da_variavel tipo;
Existem algumas restrições que devem ser observadas ao dar nomes à variáveis em C e na grande maioria das linguagens. A primeira delas é que não pode haver acentos ou espaços. A variável que declaramos é chamada de nome
e o tipo é char
. No entanto, como nossa variável vai armazenar até 50 caracteres, tivemos que indicar isso incluindo a quantidade máxima de caracteres entre colchetes: [50]
.
#include <stdio.h>
int main(){
char nome[50];
printf("Digite seu primeiro nome: ");
scanf("%s", nome);
char sobrenome[100];
printf("Digite seu sobrenome: ");
scanf("%s", sobrenome);
printf("\nBem vindo %s %s\n", nome, sobrenome);
printf("Obrigado pro se cadastrar em nosso aplicativo.");
}
O código completo e comentado está disponível no arquivo 001_boas_vindas.c.
Referências
-
[C] Dennis M. Ritchie. The development of the C language. Bell Labs. 1993. https://www.bell-labs.com/usr/dmr/www/chist.pdf