My life in English

Aiming to be a Canadian citizen.

Vamos aprender a programar em C/C++? Lição 04: as palavras-chave de C e C++

Posted by fabianovasconcelos on 13 de July de 2009

Salve, galerinha do país do povo que adora uma mamata!

Aos que acreditam piamente que o Michael Jackson era branco porque tinha vitiligo, notem que alguns termos são um link para páginas externas. Clique neles, se necessitar de alguma informação complementar a respeito.

Tá mais perdido que fã do Micheal Jackson procurando o corpo do astro? Pois você veio parar num curso on line de C/C++! Clica aqui pra ver o índice!

Pois bem, cambada! Fazia tempo que eu não postava nada aqui sobre C e C++, mas é que o tempo “ruge” como diz um conhecido meu (o certo é URGE).

Bom, eu gosto muito de cumprir com a minha palavra, sendo assim eu vou falar hoje sobre as palavras-chave!

Palavras-chave? Que diabos seria isso? Pois muito bem. Vou explicar.

Lembram de quando a gente falou de algorítimo? Não tinha ficado combinado que algorítimo é uma série de passos que devem ser seguidos para se realizar uma tarefa, e que isso se aplica a programação, escrevendo uma rotina de código, em forma de algorítimo? Pois bem!

Mas você não espera mesmo, nessa tua mente infantil, que o compilador vai entender tudo que você digita, né? Assim, de qualquer jeito, cheio de erros de português, avacalhado. Não vai mesmo, colega! Tem que escrever o programa com um certo padrão. Usar as palavras que o compilador entende. Aí você me diz: “Já sei, Fabiano! As palavras que eu devo usar para escrever o meu programa são as palavras-chave, né?” É isso aí, sensitivo! Bem pensado. Abaixo eu vou listar as palavras-chave de C. As palavras-chave de C++ são as mesmas de C e outras mais, que estarão na lista seguinte:

Palavras-chave da linguagem C:

auto * double * int * struct * break * else * long * switch * case * enum * register * typedef * char * extern * return * union * const * float * short * unsigned * continue * for * signed * void * default * goto * sizeof * volatile * do * if * static * while

Palavras-chave (exclusivas) de C++:

asm * bool * catch * const_cast * delete * class * friend * inline * new * private * protected * public * template * this * virtual * dynamic_cast * explicit * false * mutable * namespace * operator * reinterpret_cast * static_cast * throw * true * try * typeid * typename * using * wchar_t * export

Só avisando a galerinha que anda pesquisando palavras-chave por aí: tem muita lista, na internet, incompleta ou com palavras-chave que não fazem parte do escopo oficial do C++. A lista acima está de acordo com o documento oficial da ISO (ISO/IEC 14882:1998). Se estiverem duvidando, vão lá na página do ISO, comprem o PDF (ou baixem do emule), e confiram por vocês mesmos.

Outra coisa importantíssima: tem gente que tem a mania horrenda de escrever assim: “oI AmiGUinhOS! ComO EsTaUm??? :/”! Esta aberração tendenciosamente fru-fru não cola em C/C++. A palavra chave é int, tudo MINÚSCULO, e não INT ou Int ou InT. O certo é auto, não AUTO, Auto ou AuTo. Palavras-chave só existem totalmente em minúscula. Se existir uma letra maiúscula no meio já não é palavra-chave, ou seja, elas são case sensitive.

Pois muito bem. Pelo menos memorizem estas palavras-chave, porque eu duvido que algum programador do mundo use pelo menos a metade do que está aí, esta é que é a verdade. A palavra-chave goto, por exemplo, foi praticamente banida da programação, não só em C/C++, mas também de outras linguagens que a tinham no seu cerne. Veremos a inutilidade utilidade dela mais adiante. Eu não vou nem mentir pra vocês: tem muita palavrinha aí que eu juro que não faço idéia pra que serve. Mas nem se iludam, vocês não vão usar isso tudo nem por capricho! Mas, se mesmo assim chegar alguém aqui exigindo a explicação de algumas palavras que ficarão de fora, eu vou atrás de saber pra que serve e posto aqui.

Levando-se em consideração que não tem muito o que se badalar na apresentação das palavras-chave e que eu ainda tenho que encher linguiça antes de finalmente fechar este post e publicar, eu acabo de ter uma idéia pra salvar a minha reputação:

Sou Jornalista formado pela USTF. Reitor: Gilmar Mendes!

Sou Jornalista formado pela USTF. Reitor: Gilmar Mendes! Em breve, novas profissões liberadas de diplomação! Aguardem!!!

conteúdo extra pra vocês, ainda neste post! 🙂 Então, pelos poderes que me foram investidos pelo Supremo Tribunal Federal, eu, Fabiano Vasconcelos, jornalista (quáquáquáquáquáquá…), vos apresento o nosso primeiro programa em C!

1      //Este programa é mais conhecido que a perseguida da Britney, mas ainda é o melhor programa pra iniciar o aprendizado de C

2      #include <stdio.h>

3      int main (void)

4      {

5      printf(“Hello, world!”);

6      return 0;

7      }

Antes de eu começar a explicar (superficialmente) como funciona o programa, entenda que eu começarei a ensinar C e depois, muito depois, C++. Isso porque grande parte de C++ é composta de C. Então quando eu terminar com C, já terei explicado muuuuiiito de C++. Aí é só correr pro abraço. Notem também que os números nas linhas não fazem parte do código, são só pra efeito de referência mesmo. Se você pensou que fazia, procure um analista.

Entretanto, nem tudo de C pertence obrigatoriamente a C++. Tem coisa de C que não tem nada a ver com C++, mas não se trata de muito conteúdo, não. É coisa pouca. Normalmente você pode misturar código C com C++ sem problemas, mas não é recomendável. Pode virar cabaré. Programe em C puro ou em C++ puro.

Muito bem. Vamos começar!

Se você pretende escrever alguma besteira no editor de textos do compilador mas quer que ele ignore o que você escreveu, você pode fazer que nem eu fiz na linha 1, usar duas barras seguidas para fazer um comentário. Este é o modo C++ de fazer comentários. O modo C seria o texto que você quer digitar entre estes símbolos: /**/

Exemplos de comentários no estilo C:

/*Este programa se auto-destruirá em 5 segundos*/

/*Se você consegue entender isso, agradeça ao Fabiano Vasconcelos*/

/*Garotas, ficar com o Fabiano é uma experiência descomunal!*/

Exemplos de comentários no estilo C++:

//Os engenheiros são os reis! Ao cruzar com um na rua, curve-se diante dele.

//Gilmar Mendes é um cara legal (Este comentário é pura ficção. Eu realmente não estou falando sério.)

//Este programa serve para engordar a minha conta bancária (Comentário posto no código-fonte do primeiro cavalo-de-tróia do Brasil)

Geralmente (e sensatamente) se escreve coisas úteis em um comentário de código. Coisas que irão orientar as pessoas que posteriormente estudarão o seu código, ajudando-os a entender como funcionam certas partes do mesmo. Também servirá pra você se lembrar de como implementou aquela função quando o Alzheimer chegar. Só avisando que, ao comentar ao estilo C++, após as // não dê enter (retorno de carro) de jeito nenhum, nem que a vaca tussa, porque esse comentário só serve pra linha em que estiverem as barras. O que pular pra outra linha será considerado como CÓDIGO mesmo e fatalmente gerará um erro de compilação, já que o compilador não entenderá as suas besteiras.

Um compilador C++ aceita, sem problemas, um comentário ao estilo de C. Mas um compilador C não aceitará um comentário ao estilo C++.

Esqueça completamente o último parágrafo. Foi só a título de informação. Não existem mais compiladores exclusivamente de C pra baixar. É peça de museu. Hoje em dia, todo compilador C é também C++. Resumindo: você é livre pra usar os dois estilos de comentário. Essa foi a linha 1 do nosso código.

Na linha 2 você vê o texto #include <stdio.h>. A diretiva #include fala pro compilador (na realidade o pré-processador) incluir no seu código, MAIS CÓDIGO! pois é. É que se você tivesse mesmo que programar, digitar, escrever tudo que é necessário pro seu programa funcionar, você iria apanhar mais que cão pra ir pra missa. Só pra você ter uma idéia, #include <stdio.h> é traduzido como: “além do que eu escrever aqui, eu quero que se junte ao meu código um outro pedaço de código do arquivo stdio.h, que está num diretório, do meu compilador,  lá na casa do caramba”. O arquivo em questão são instruções de entrada e saída padrões para o programa. Ainda bem que alguém já escreveu isso por nós.

Na linha 3 você vislumbra (que palavra poética!) o seguinte conteúdo: int main (void). Int é o tipo de retorno da função main e void é o argumento passado para a função. Não entendeu? Não se desespere. Tudo ficará claro com o passar do tempo. Não ouse desistir. Não seja covarde. Acontece que eu só vou tratar de funções mais adiante. Mas essa linha é um cabeçalho de função e não pode ser explicada assim, de supetão, num post só.

Na linha 4 nós temos uma abertura de chave {. Isto significa que está havendo uma abertura de bloco de programação. Uma função, por exemplo, é uma maneira de organizar um código em um bloco legível. Por isso C é chamada de linguagem estruturada. Porque é feita de estruturas, blocos, repartições. As funções são um tipo de estrutura, mas não a única. Depois da chave aberta, escreve-se o que se deve escrever pra rechear aquela estrutura e fecha-se a estrutura com uma }, como mostra a linha 7.

Na linha 5 você vê uma chamada a uma função em específico, a função que imprime na tela a frase Hello, world! (Olá, mundo!). Intuitivamente dá pra sacar que printf tem a ver com imprimir, né? Pois é.

E finalmente, na linha 6, nós vemos return 0; Isso diz à função chamadora, no caso o sistema operacional: “Ok, brother! Eu imprimi a minha besteira na tela, cumpri o meu papel e estou te devolvendo o zero”. Zero significa que o programa terminou normalmente, sem anomalias, sem travamento. Um valor diferente de zero significa que deu merda o programa executou uma operação ilegal e teve que fechar (estranho ! eu me lembro de ter lido isso em algum lugar…).

Caso eu demore pra postar, procure o seu neurologista.

Caso eu demore pra postar, procure o seu neurologista.

Pessoal, como eu já havia dito anteriormente, tudo que eu falei aqui é superficial. Eu vou explicar tudinho, tim-tim por tim-tim, aos poucos. Esse programa foi só pra vocês se familiarizarem com a linguagem. Até lá, peçam aos seus médicos novas receitas de Lexotan® e tomem de acordo com a indicação dele.

AVISO DELICADO: VOCÊ SE DROGA? NÃO SEJA IDIOTA! AS DROGAS MATAM E ACABAM COM FAMÍLIAS INTEIRAS. AS DROGAS ILÍCITAS FINANCIAM A VIOLÊNCIA E AS LÍCITAS SÓ DEVEM SER USADAS COM ESTRITA PRESCRIÇÃO MÉDICA. QUEM SE DROGA É COVARDE, BURRO E TERÁ UM FIM TRISTE: OU NA MASMORRA OU NO IML. PROGRAMADORES BEM SUCEDIDOS NÃO USAM DROGAS! AS DROGAS COMEM OS NEURÔRIOS DO SUJEITO!

.

.

Obrigado pela atenção.

Próximo post: como funciona a compilação em C/C++ e outras coisas mais.

Fui-me com Deus!


NO PLANTÃO MÉDICO

O sujeito vai ao hospital, caindo de bêbado. Durante a consulta, vêm as perguntas de praxe:
– Nome?
– Juvenal dos Santos!
– Idade?
– 32 anos.
– O senhor bebe?
– Vou aceitar um gole, mas só pra te acompanhar!


Copyright 2009 (C) Fabiano Bezerra de Vasconcelos – Todos os direitos reservados.

Advertisements

13 Responses to “Vamos aprender a programar em C/C++? Lição 04: as palavras-chave de C e C++”

  1. wallace said

    Bom post Fabiano(dessa vez não errei o nome /o/)… legal a linguagem que você usa, dá para entender bem mais, fora que você usa exemplos do cotidiano para exemplificar, a maioria de tutoriais e afins são muito abstratos.
    Continua assim… não vejo a hora de você postar conteúdos que eu ainda não saiba, vou aprender bem melhor com certeza.

  2. fabianovasconcelos said

    Valeu o elogio (mais uma vez) Wall!! 🙂 Ainda bem que eu tenho, pelo menos, um leitor satisfeito! Hehehehe…
    Cara, quanto ao “postar conteúdos que você ainda não saiba”, tem que saber se EU sei! Kkkkkkkkkkkk…
    O que seria, por exemplo???
    (Aprendeu o meu nome, né?)

    Grande abraço! :)))))

  3. Mais um leitor satisfeito!!! 😀

  4. Salmera said

    Mto bom suas aulas de C!E com bom humor para melhor desempenho aha,aguardando novas aulas.

    • fabianovasconcelos said

      Cara, agora que eu pude te responder. Se você for lá no meu blog vai entender porquê.
      Vou continuar postando sim! Semanalmente. Se quiser ir lá, o endereço continua sendo o mesmo.

      Obrigado pela consideração!
      Grande abraço! 😀

    • fabianovasconcelos said

      Valeu aí, Gustavo! 😀

      Cara, tem post novo aí na área! Vai lá conferir!

      Um grande abraço, viu? 🙂

  5. Carlinhos said

    Fabiano,blog foda,80 tbm é foda,mas PELO AMOR DE DEUS,posta mais aulas ae ahusasuhasuh quem sabe vc num lança um livro.

    • fabianovasconcelos said

      Cara, agora que eu pude te responder. Se você for lá no meu blog vai entender porquê.
      Vou continuar postando sim! Semanalmente. Se quiser ir lá, o endereço continua sendo o mesmo.
      Um livro!? Seria muita pretensão minha! Não tenho bagagem pra isso não, man! Nem sei se tenho bagagem pra ensinar a ninguém por aqui! 🙂
      Já fui chamado a atenção por umas coisas que eu postei num post que tá guardado, esperando revisão. Próxima sexta eu taco aqui.

      Obrigado pela consideração!
      Grande abraço! 😀

    • fabianovasconcelos said

      Eu acho que o conteúdo tá muito pesado pra um livro, mas eu me contento com um patrocinador, hehehehhe…
      Valeu os elogios. Conto contigo pra continuar sendo leitor do blog. Voltei com força total. Continue visitando e desculpa a demora em postar.

      Grande abraço! 😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: