Vous êtes sur la page 1sur 14

Al mundo !

Vamos escrever nosso programa Al mundo em C. Se voc estiver usando o Linux abra qualquer editor de textos, pode ser o vi, o emacs, o gedit, etc.....e digite o cdigo abaixo:

#include <stdio.h> int main() { printf("Al mundo!"); return(0); }


Grave o programa com o nome de alo.c. Para compilar o programa digite o seguinte na linha de comando: $ gcc alo.c -o alo Para executar o programa: $ alo Lembre-se que para executar o programa: 1. Ele deve estar no PATH 2. Voc deve ter permisso de execuo para o arquivo.

Se voc estiver usando o Windows abra seu compilador favorito, digite e salve o cdigo. Depois compile o cdigo. Ao executar o arquivo ser exibida a mensagem Alo mundo!

Vamos analisar o cdigo do programa: #include <stdio.h>

Esta linha usa a diretiva #include para inserir o arquivo de cabealho stdio.h no seu programa. Os arquivos de cabealho so arquivos que contm definies, macros e funes que so muito utilizadas em todos os programas. Normalmente todo compilador C j vem com muitos arquivos de cabealho, mas voc tambm pode escrever os seus. Os arquivos de cabealho tem a extenso .h

int main() Esta linha indica a definio da funo main. Um programa em C formado por vrias funes. Quando o programa executado main a primeira funo a ser chamada, assim todo programa deve ter uma funo main.

{ As chaves delimitam um bloco de comandos.

printf("Alo mundo!"); A funo printf exibe o contedo do seu argumento na tela. No caso a mensagem Alo mundo !. Esta funo faz parte do arquivo de cabealho stdio.h por isso ele foi includo no programa. O comando terminado com um ; (ponto-e-vrgula). Todo comando em C deve terminar com ;

return(0); Este comando indica que a funo main retorna 0 (zero).

} A ltima chave fecha o bloco de comandos da funo main.

Se voc no entendeu algum dos conceitos ditos acima no se preocupe, apenas aceite e no futuro voc entender o porque disso tudo.

Tipos de dados
A linguagem C possui quatro tipos bsicos de dados:

char - usado para armazenar caracteres int - usado para armazenar nmeros inteiros float - usado para armazenar nmeros de ponto flutuante (decimais) de preciso simples double - usado para armazenar nmeros de ponto flutuante de preciso dupla

Constantes
Para definir uma constante usa-se a diretiva #define. Abaixo segue um exemplo do seu uso:

#include <stdio.h> #define IDADE 34 int main() { printf("Sua idade %d anos",IDADE); return(0); }
No exemplo acima, toda ocorrncia da constante IDADE no cdigo do programa ser substituda pelo valor inteiro 34. importante observar que entre #define e IDADE deve haver apenas um espao, e entre IDADE e 34 tambm s deve haver um espao.

Variveis
As variveis devem ser declaradas antes de ser usadas. Para declarar uma varivel basta digitar seu tipo, seguido de espao e de seu nome. No esquea o ponto-e-vrgula encerrando o comando.Exemplo:

int idade; float nota; As variveis devem ser declaradas no incio da funo. Exemplo:

#include <stdio.h> int main() { int idade; float nota1, nota2,nota3, nota4; printf("idade = %d",idade); return(0); }
Observe no exemplo acima que permitido declarar mais de uma varivel na mesma linha.

Nomeando constantes e variveis


Para nomear as constantes e variveis siga as seguintes regras:

Os nomes devem comear com um caractere alfabtico O caractere de sublinhado ( _ ) considerado um caractere alfabtico Os nomes podem ser constitudos de caracteres alfabticos ou numricos Os nomes no devem conter caracteres especiais (!, @, #, $, %, , &, *, etc ......) No devem ser utilizadas palavras reservadas da linguagem C que so:

int char float

short

goto

for do while switch

unsigned return auto sizeof break

double extern struct union long register typedef static

continue case if else default entry

Por conveo os nomes das constantes devem ser em letras maisculas e os nomes das variveis em letras minsculas.

Operadores aritmticos
OPERADOR + * / % OPERAO soma subtrao multiplicao diviso mdulo (resto da diviso inteira)

Operadores relacionais
OPERADOR > >= < <= == != SIGNIFICADO maior que maior ou igual a menor que menor ou igual a igual a diferente de

Operadores lgicos
OPERADOR && || SIGNIFICADO e ou

Comando de atribuio

Na linguagem C o comando de atribuio o sinal de igualdade ( = ). Assim, a expresso: nome = samuel; atribui o valor "samuel" a varivel "nome". Da mesma forma a expresso: nota = 7.68; atribui o valor "7.68" a varivel "nota".

Sada de dados
A sada de dados proporcionada pela funo printf. Ela faz parte do arquivo de cabealho stdio.h, assim este arquivo deve ser includo no programa para a utilizao desta funo. Exemplo da utilizao de printf:

#include <stdio.h> int main() { int nr; char letra; nr = 5; letra = 's'; printf("O valor de nr %d\n",nr); printf("O valor de letra %c\n",letra); return(0); }
Observe que para exibir as variveis utiliza-se os especificadores de formato %d e %c. O caracter de escape \n provoca o avano para a prxima linha. Aps a vrgula esto os argumentos que substituiro os especificadores de formato. Estes argumentos so posicionais. Os especificadores de formato bsicos so: %d => int %c => char %f => float

Entrada de dados
A entrada de dados feita com a funo scanf. Sua sintaxe :

scanf("EF",&VARIVEL);
onde EF um especificador de formato e VARIVEL varivel onde o dado entrado ser armazenado. Exemplo:

#include <stdio.h> int main() { int nr; char letra[2]; printf("Entre com o valor do nmero :"); scanf("%d",&nr); printf("Entre com a letra :"); scanf("%s",&letra); printf("O nmero %d e a letra %s\n",nr,letra); return(0); }

Inserindo comentrios
Para inserir comentrios em seu cdigo basta coloc-los entre os sinais /* e */ Exemplo:

/* Utilizando a funo scanf() para entrada de dados */ #include <stdio.h> int main() { int nr; char letra[2]; printf("Entre com o valor do nmero :"); scanf("%d",&nr); printf("Entre com a letra :");

/* O especificador de formato %s usado com strings */ scanf("%s",&letra); printf("O nmero %d e a letra %s\n",nr,letra); return(0); }

Bloco de instrues
Todo bloco de instrues em C deve ser delimitado por chaves { Exemplo:

} .

#include <stdio.h> /* o contedo de main() um bloco de instrues * por isso est entre chaves */ int main() { int idade; printf("Entre com a idade :"); scanf("%d",&idade); /* outro bloco de instrues por isso est entre chaves */ if(idade > 21) { printf("Voc j de maior !!!\n"); printf("Voc tem que arrumar um emprego !!!\n"); } else printf("Voc de menor !!!\n"); return(0); }

Desvio condicional
O desvio condicional uma estrutura de fluxo onde o programa analisa uma condio e:

caso esta condio seja verdadeira executa alguns comandos caso esta condio seja falsa executa outros comandos

Em C esta estrutura representada pelo comando

if, cuja sintaxe :

if (CONDICO) COMANDOS1 else COMANDOS2


Se CONDIO for verdadeira, COMANDOS1 sero executados, caso contrrio, COMANDOS2 sero executados. importante saber como a linguagem C representa um valor verdadeiro ou falso. Para a linguagem C qualquer valor diferente de zero verdadeiro e o valor zero considerado falso. Assim, a anlise: if (1) verdadeira. E a anlise:if (0) falsa. Este conceito muito usado na linguagem C pois muitas funes retornam valores inteiros. Exemplo do uso de if:

#include <stdio.h> int main() { int idade; printf("Entre com sua idade :"); scanf("%d",&idade); if(idade > 21) printf("Voc de maior !!!\n"); else { printf("Voc de menor !!!\n"); printf("Tem que amadurecer !!!\n"); } return(0); }
Observe que se o comando nico no h necessidade das chaves para delimitar o bloco de instrues.

Mltipla escolha
A estrutura de mltipla escolha implementada pelo comando switch. Sua sintaxe : switch (VARIVEL) { case VALOR1: COMANDO1; break; case VALOR2: COMANDO2; break; ......................................................... ......................................................... default: COMANDO; break; } O entendimento o seguinte: a VARIVEL comparada com cada VALOR especificado nos cases. Se um VALOR igual a VARIVEL for encontrado, o referido COMANDO executado. Se no houver nenhuma correspondncia com os valores dos cases, o comando de default executado. O comando break deve existir pois, sem ele, os comandos abaixo so executados independente do teste. Exemplo:

#include <stdio.h> int main() { int opcao; printf("1. Pesquisar\n"); printf("2. Comprar\n"); printf("3. Sair\n"); printf("Entre com sua opo :"); scanf("%d",&opcao); printf("\n"); switch (opcao)

{ case 1: printf("Voc escolheu a opo 1. Pesquisar.\n"); break; case 2: printf("Voc escolheu a opo 2. Comprar.\n"); break; case 3: printf("Voc escolheu a opo 3. Sair.\n"); break; default:printf("Voc no escolheu nenhuma das trs opes.\n"); break; } return(0); }

Repetio com teste no incio


Esta estrutura representada pelo comando while, cuja sintaxe :

while (CONDIO) COMANDOS;


A CONDIO avaliada e, caso seja verdadeira, os COMANDOS so executados. Ento, a CONDIO avaliada novamente e, caso seja verdadeira, os COMANDOS so executados de novo. Isto se repete at que a avaliao da CONDIO resulte em falso. A caracterstica importante deste tipo de construo que, caso a CONDIO seja avaliada como falsa j na primeira vez, os COMANDOS no sero executados nenhuma vez. Exemplo:

#include <stdio.h> int main() { int nr;

printf("Digite um nmero : (-1 para sair)"); scanf("%d",&nr); while (nr != -1) { printf("Voc digitou %d\n",nr); printf("Digite outro nmero (-1 para sair) :"); scanf("%d",&nr); }; printf("Voc digitou -1 para sair.\n"); return(0); }

Repetio com teste no final


Esta estrutura implementada com o comando do. Sua sintaxe :

do COMANDOS while (CONDICO);


Os COMANDOS so executados e depois a CONDIO avaliada. Caso, seja verdadeira os COMANDOS so executados novamente e a CONDIO novamente avaliada. Este ciclo continua at que a CONDIO seja falsa. A caracterstica importante deste tipo de construo que os COMANDOS so executados pelo menos uma vez, independente da CONDIO. Observe o cdigo do exemplo da seo anterior usando do:

#include <stdio.h> int main() { int nr; printf("Digite um nmero : (-1 para sair)");

scanf("%d",&nr); do { printf("Voc digitou %d\n",nr); printf("Digite outro nmero (-1 para sair) :"); scanf("%d",&nr); } while (nr != -1); printf("Voc digitou -1 para sair.\n"); return(0); }
Observe que o cdigo no funciona corretamente. Digite -1 logo de incio para encerrar o programa e, mesmo assim as instrues do lao do so executadas. O que no ocorre no cdigo do exemplo da seo anterior.

Repetio com varivel de controle


Esta estrutura implementada pelo comando for, cuja sintaxe :

for(INICIALIZAO;CONDIO;INCREMENTO) COMANDOS;
o entendimento o seguinte:

A varivel de controle inicializada em INICIALIZAO CONDIO testada e, caso seja verdadeira, os COMANDOS so executados A varivel de controle incrementada de acordo com INCREMENTO CONDIO novamente testada e, caso seja verdadeira, os COMANDOS so executados A varivel de controle incrementada CONDIO novamente testada e, caso seja verdadeira, os COMANDOS so executados O ciclo continua at que CONDIO seja falsa

Exemplo:

#include

int main() { int contador; printf("Exibindo os nmeros de 1 at 50\n"); for(contador=1;contador < 51;contador = contador + 1) { printf("%d ",contador); } printf("\n"); return(0); }

Vous aimerez peut-être aussi