Académique Documents
Professionnel Documents
Culture Documents
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:
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!
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.
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 ;
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.
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:
short
goto
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
#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); }
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); }
#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.
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); }