30/05/13

Tutorial básico sobre programação em linguagem C

www.samueldiasneto.com: Linguagem C - básico
Automação de Estoque
www.Mecalux.com.br Sistemas de Estocagem Automática. Solicite mais informação on-line.

gestão de frotas
www.maxifrota.com.br economize e tenha melhor desempenho na gestão e controle de frotas.

Home

Animação

Arte 3D

Blender

Games

Programação

Links

Contato

Pesquisar em todo o site

4

Se esta página lhe ajudar, considere fazer uma doação

Pesquisar

A lô mundo !
Alô Mundo Tipos de dados Constantes V ariáveis Nomeando variáveis Operadores aritmétic os Operadores relac ionais Operadores lógic os Comando de atribuiç ão Saída de dados Entrada de dados Comentários Bloc o de instruç ões Desvio c ondic ional (if ) Múltipla esc olha (switch ) Repetiç ão while Repetiç ão do Repetiç ão for

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 código abaixo:

# i n c l u d e< s t d i o . h >

i n tm a i n ( ) { p r i n t f ( " A l ôm u n d o ! " ) ; r e t u r n ( 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 permissão de execução para o arquivo.

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

Vamos analisar o código do programa: #include <stdio.h> Esta linha usa a diretiva #include para inserir o arquivo de cabeçalho stdio.h no seu programa. Os arquivos de cabeçalho são arquivos que contém definições, macros e funções que são muito utilizadas em todos os programas. Normalmente todo compilador C já vem com muitos arquivos de cabeçalho, mas você também pode escrever os seus. Os arquivos de cabeçalho tem a extensão .h

int main() Esta linha indica a definição da função main. Um programa em C é formado por várias funções. Quando o programa é executado main é a primeira função a ser chamada, assim todo programa deve ter uma função main.

{ As chaves delimitam um bloco de comandos.

www.samueldiasneto.com/c_bas/index.htm

1/9

Se você não entendeu algum dos conceitos ditos acima não se preocupe.Exemplo: int idade.samueldiasneto. É importante observar que entre #define e IDADE deve haver apenas um espaço. As variáveis devem ser declaradas no início da função. e entre IDADE e 34 também só deve haver um espaço. I D A D E ) . float nota.30/05/13 Tutorial básico sobre programação em linguagem C printf("Alo mundo!"). seguido de espaço e de seu nome. return(0). } No exemplo acima.usado para armazenar números inteiros float . Todo comando em C deve terminar com . Esta função faz parte do arquivo de cabeçalho stdio. apenas aceite e no futuro você entenderá o porque disso tudo. Variáv eis As variáveis devem ser declaradas antes de ser usadas.usado para armazenar números de ponto flutuante (decimais) de precisão simples double .h por isso ele foi incluído no programa. Abaixo segue um exemplo do seu uso: # i n c l u d e< s t d i o . (ponto-e-vírgula).com/c_bas/index. No caso a mensagem Alo mundo !. Exemplo: # i n c l u d e< s t d i o . h > # d e f i n eI D A D E3 4 i n tm a i n ( ) { p r i n t f ( " S u ai d a d eé% da n o s " . toda ocorrência da constante IDADE no código do programa será substituída pelo valor inteiro 34.htm 2/9 . Este comando indica que a função main retorna 0 (zero).usado para armazenar caracteres int . h > i n tm a i n ( ) { www. Para declarar uma variável basta digitar seu tipo.usado para armazenar números de ponto flutuante de precisão dupla Constantes Para definir uma constante usa-se a diretiva #define. } A última chave fecha o bloco de comandos da função main. A função printf exibe o conteúdo do seu argumento na tela. r e t u r n ( 0 ) . Tipos de dados A linguagem C possui quatro tipos básicos de dados: char . Não esqueça o ponto-e-vírgula encerrando o comando. O comando é terminado com um .

¨.htm 3/9 . Operadores aritméticos OPERADOR + * / % OPERAÇÃO soma subtração multiplicação divisão módulo (resto da divisão inteira) Operadores relacionais OPERADOR > >= < <= == != SIGNIFICADO maior que maior ou igual a menor que menor ou igual a igual a diferente de Operadores lógicos OPERADOR SIGNIFICADO www.n o t a 4 . f l o a tn o t a 1 . Nomeando constantes e v ariáv eis Para nomear as constantes e variáveis siga as seguintes regras: Os nomes devem começar com um caractere alfabético O caractere de sublinhado ( _ ) é considerado um caractere alfabético Os nomes podem ser constituídos de caracteres alfabéticos ou numéricos Os nomes não devem conter caracteres especiais (!.com/c_bas/index.. etc . i d a d e ) .n o t a 2 . @. #. } Observe no exemplo acima que é permitido declarar mais de uma variável na mesma linha..samueldiasneto. $. %. *..30/05/13 Tutorial básico sobre programação em linguagem C i n ti d a d e . p r i n t f ( " i d a d e=% d " . r e t u r n ( 0 ) . n o t a 3 . &...) Não devem ser utilizadas palavras reservadas da linguagem C que são: 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 conveção os nomes das constantes devem ser em letras maiúsculas e os nomes das variáveis em letras minúsculas.

Assim. a expressão:nome = samuel. h > i n tm a i n ( ) { i n tn r . Da mesma forma a expressão: nota = 7. } Observe que para exibir as variáveis utiliza-se os especificadores de formato %d e %c. c h a rl e t r a [ 2 ] . l e t r a=' s ' . p r i n t f ( " E n t r ec o mal e t r a: " ) .68" a variável "nota". p r i n t f ( " Ov a l o rd el e t r aé% c \ n " . onde EF é um especificador de formato e VARIÁVEL é variável onde o dado entrado será armazenado. & l e t r a ) .68. s c a n f ( " % d " .htm 4/9 . www. n r=5 . assim este arquivo deve ser incluído no programa para a utilização desta função. Saída de dados A saída de dados é proporcionada pela função printf. Exemplo da utilização de printf: # i n c l u d e< s t d i o . c h a rl e t r a . p r i n t f ( " Ov a l o rd en ré% d \ n " .&VARIÁVEL). Sua sintaxe é: scanf("EF". & n r ) . Os especificadores de formato básicos são: %d => int %c => char %f => float Entrada de dados A entrada de dados é feita com a função scanf. p r i n t f ( " E n t r ec o mov a l o rd on ú m e r o: " ) . O caracter de escape \n provoca o avanço para a próxima linha. h > i n tm a i n ( ) { i n tn r .samueldiasneto. atribui o valor "samuel" a variável "nome".h. n r ) . Ela faz parte do arquivo de cabeçalho stdio. s c a n f ( " % s " . r e t u r n ( 0 ) .30/05/13 && || Tutorial básico sobre programação em linguagem C e ou Comando de atribuição Na linguagem C o comando de atribuição é o sinal de igualdade ( = ). Exemplo: # i n c l u d e< s t d i o . Estes argumentos são posicionais. l e t r a ) .com/c_bas/index. Após a vírgula estão os argumentos que substituirão os especificadores de formato. atribui o valor "7.

h > / *oc o n t e ú d od em a i n ( )éu mb l o c od ei n s t r u ç õ e s *p o ri s s oe s t áe n t r ec h a v e s* / i n tm a i n ( ) { i n ti d a d e . r e t u r n ( 0 ) . } Bloco de instruções Todo bloco de instruções em C deve ser delimitado por chaves Exemplo: { } . l e t r a ) . n r . } e l s e p r i n t f ( " V o c êéd em e n o r! ! ! \ n " ) .30/05/13 Tutorial básico sobre programação em linguagem C p r i n t f ( " On ú m e r oé% deal e t r aé% s \ n " . n r . / *Oe s p e c i f i c a d o rd ef o r m a t o% séu s a d oc o ms t r i n g s* / s c a n f ( " % s " .htm 5/9 . r e t u r n ( 0 ) . s c a n f ( " % d " . / *o u t r ob l o c od ei n s t r u ç õ e sp o ri s s oe s t áe n t r ec h a v e s* / i f ( i d a d e>2 1 ) { p r i n t f ( " V o c êj áéd em a i o r! ! ! \ n " ) . s c a n f ( " % d " . & i d a d e ) . & l e t r a ) . # i n c l u d e< s t d i o . & n r ) .com/c_bas/index. p r i n t f ( " E n t r ec o mai d a d e: " ) . p r i n t f ( " On ú m e r oé% deal e t r aé% s \ n " . p r i n t f ( " E n t r ec o mov a l o rd on ú m e r o: " ) . l e t r a ) . p r i n t f ( " E n t r ec o mal e t r a: " ) .samueldiasneto. h > i n tm a i n ( ) { i n tn r . c h a rl e t r a [ 2 ] . } Desv io condicional O desvio condicional é uma estrutura de fluxo onde o programa analisa uma condição e: www. p r i n t f ( " V o c êt e mq u ea r r u m a ru me m p r e g o! ! ! \ n " ) . r e t u r n ( 0 ) . } Inserindo comentários Para inserir comentários em seu código basta colocá-los entre os sinais Exemplo: /* e */ / *U t i l i z a n d oaf u n ç ã os c a n f ( )p a r ae n t r a d ad ed a d o s* / # i n c l u d e< s t d i o .

..... M últipla escolha A estrutura de múltipla escolha é implementada pelo comando switch... } r e t u r n ( 0 ) . .. COM ANDOS2 serão executados... e l s e { p r i n t f ( " V o c êéd em e n o r! ! ! \ n " ) ..30/05/13 Tutorial básico sobre programação em linguagem C caso esta condição seja verdadeira executa alguns comandos caso esta condição seja falsa executa outros comandos Em C esta estrutura é representada pelo comando if. break............... i f ( i d a d e>2 1 ) p r i n t f ( " V o c êéd em a i o r! ! ! \ n " ) . a análise: if (1) é verdadeira.... Para a linguagem C qualquer valor diferente de zero é verdadeiro e o valor zero é considerado falso..... caso contrário. Este conceito é muito usado na linguagem C pois muitas funções retornam valores inteiros... Se um VALOR igual a VARIÁVEL for encontrado.... } Observe que se o comando é único não há necessidade das chaves para delimitar o bloco de instruções. case VALOR2: COM ANDO2..... & i d a d e ) ...samueldiasneto.. É importante saber como a linguagem C representa um valor verdadeiro ou falso.... cuja sintaxe é: if (CONDICÃO) COMANDOS1 else COMANDOS2 Se CONDIÇÃO for verdadeira........ O comando break deve existir pois.. Exemplo do uso de if: # i n c l u d e< s t d i o .... Assim........ p r i n t f ( " E n t r ec o ms u ai d a d e: " ) . Sua sintaxe é: switch (VARIÁVEL) { case VALOR1: COM ANDO1.. p r i n t f ( " T e mq u ea m a d u r e c e r! ! ! \ n " ) . .htm 6/9 ... default: COM ANDO. Exemplo: # i n c l u d e< s t d i o ..com/c_bas/index....... o comando de default é executado.. sem ele. COM ANDOS1 serão executados. break. s c a n f ( " % d " ... Se não houver nenhuma correspondência com os valores dos cases..... os comandos abaixo são executados independente do teste..... h > www... break... E a análise: if (0) é falsa.. h > i n tm a i n ( ) { i n ti d a d e . } O entendimento é o seguinte: a VARIÁVEL é comparada com cada VALOR especificado nos cases...................... o referido COM ANDO é executado.

P e s q u i s a r . \ n " ) . b r e a k . p r i n t f ( " V o c êd i g i t o u1p a r as a i r . c a s e3 :p r i n t f ( " V o c êe s c o l h e uao p ç ã o3 . s c a n f ( " % d " . \ n " ) .30/05/13 i n tm a i n ( ) { Tutorial básico sobre programação em linguagem C i n to p c a o . r e t u r n ( 0 ) . b r e a k . h > i n tm a i n ( ) { i n tn r . & n r ) . \ n " ) .C o m p r a r \ n " ) . p r i n t f ( " \ n " ) . & o p c a o ) . p r i n t f ( " 1 .C o m p r a r . \ n " ) . } Repetição com teste no início Esta estrutura é representada pelo comando while. \ n " ) . os COM ANDOS são executados.S a i r \ n " ) . s c a n f ( " % d " . } . Então. caso a CONDIÇÃO seja avaliada como falsa já na primeira vez. c a s e2 :p r i n t f ( " V o c êe s c o l h e uao p ç ã o2 .S a i r . a CONDIÇÃO é avaliada novamente e. s c a n f ( " % d " . www.htm 7/9 . } r e t u r n ( 0 ) . n r ) .samueldiasneto. Exemplo: # i n c l u d e< s t d i o .P e s q u i s a r \ n " ) . A CONDIÇÃO é avaliada e.com/c_bas/index. & n r ) . cuja sintaxe é: while (CONDIÇÃO) COMANDOS. Isto se repete até que a avaliação da CONDIÇÃO resulte em falso. s w i t c h( o p c a o ) { c a s e1 :p r i n t f ( " V o c êe s c o l h e uao p ç ã o1 . w h i l e( n r! =1 ) { p r i n t f ( " V o c êd i g i t o u% d \ n " . p r i n t f ( " D i g i t eu mn ú m e r o:( 1p a r as a i r ) " ) . p r i n t f ( " 2 . caso seja verdadeira. os COM ANDOS são executados de novo. b r e a k . A característica importante deste tipo de construção é que. caso seja verdadeira. b r e a k . d e f a u l t : p r i n t f ( " V o c ên ã oe s c o l h e un e n h u m ad a st r ê so p ç õ e s . p r i n t f ( " 3 . p r i n t f ( " E n t r ec o ms u ao p ç ã o: " ) . os COM ANDOS não serão executados nenhuma vez. p r i n t f ( " D i g i t eo u t r on ú m e r o( 1p a r as a i r ): " ) .

A característica importante deste tipo de construção é que os COM ANDOS são executados pelo menos uma vez.htm 8/9 . Repetição com v ariáv el de controle Esta estrutura é implementada pelo comando for . p r i n t f ( " V o c êd i g i t o u1p a r as a i r . Caso. p r i n t f ( " D i g i t eu mn ú m e r o:( 1p a r as a i r ) " ) . } w h i l e( n r! =1 ) . d o { p r i n t f ( " V o c êd i g i t o u% d \ n " . s c a n f ( " % d " . Os COM ANDOS são executados e depois a CONDIÇÃO é avaliada. n r ) . cuja sintaxe é: for(INICIALIZAÇÃO. O que não ocorre no código do exemplo da seção anterior. seja verdadeira os COM ANDOS são executados novamente e a CONDIÇÃO novamente é avaliada. s c a n f ( " % d " . Este ciclo continua até que a CONDIÇÃO seja falsa. \ n " ) . os COM ANDOS são executados www. Digite -1 logo de início para encerrar o programa e.CONDIÇÃO. p r i n t f ( " D i g i t eo u t r on ú m e r o( 1p a r as a i r ): " ) . } Observe que o código não funciona corretamente. caso seja verdadeira.INCREMENTO) COMANDOS. r e t u r n ( 0 ) . caso seja verdadeira. & n r ) . Observe o código do exemplo da seção anterior usando do: # i n c l u d e< s t d i o . h > i n tm a i n ( ) { i n tn r . os COM ANDOS são executados A variável de controle é incrementada de acordo com INCREM ENTO CONDIÇÃO é novamente testada e.com/c_bas/index. os COM ANDOS são executados A variável de controle é incrementada CONDIÇÃO é novamente testada e. mesmo assim as instruções do laço do são executadas. Sua sintaxe é: do COMANDOS while (CONDICÃO). o entendimento é o seguinte: A variável de controle é inicializada em INICIALIZAÇÃO CONDIÇÃO é testada e.30/05/13 } Tutorial básico sobre programação em linguagem C Repetição com teste no final Esta estrutura é implementada com o comando do. caso seja verdadeira. independente da CONDIÇÃO. & n r ) .samueldiasneto.

considere fazer uma doação www.samueldiasneto. c o n t a d o r=c o n t a d o r+1 ) { p r i n t f ( " % d" .samueldiasneto. f o r ( c o n t a d o r = 1 .com | contato: samuel@samueldiasneto.mitchinson.30/05/13 Tutorial básico sobre programação em linguagem C O ciclo continua até que CONDIÇÃO seja falsa Exemplo: # i n c l u d e i n tm a i n ( ) { i n tc o n t a d o r .net | Licensed under a Creative Commons Attribution 3.0 License www.htm 9/9 . } p r i n t f ( " \ n " ) .com/c_bas/index. p r i n t f ( " E x i b i n d oo sn ú m e r o sd e1a t é5 0 \ n " ) . r e t u r n ( 0 ) .com | Design by www. c o n t a d o r<5 1 . c o n t a d o r ) . } 4 Se esta página lhe ajudou.