You are on page 1of 10

17/08/2015

Linguagem de Programação
aplicada a Microcontroladores
2015/2

Aula 02

Curso Técnico em Eletrônica

O C é "Case Sensitive"

Vamos começar o nosso curso ressaltando um ponto
de suma importância: o C é "Case Sensitive", isto é,
maiúsculas e minúsculas fazem diferença.
Se declarar uma variável com o nome soma ela será
diferente de Soma, SOMA, SoMa ou sOmA. Da mesma
maneira, os comandos do C if e for, por exemplo, só podem
ser escritos em minúsculas pois senão o compilador não irá
interpretá-los como sendo comandos, mas sim como
variáveis.

Edson Oliveira - 2015/2

1

cpp Analisando o exemplo Quando fazemos um programa. } Compilando e executando este programa você verá que ele coloca a mensagem Ola! Eu estou vivo! na tela.2015/2 2 . return(0). inclusive. ter mais de uma linha. Um comentário pode. No caso anterior temos um comentário: /* Um Primeiro Programa */ O compilador C desconsidera qualquer coisa que esteja começando com /* e terminando com */. uma boa ideia é usar comentários que ajudem a elucidar o funcionamento do mesmo.17/08/2015 Exemplo 1 Vejamos um primeiro programa em C: #include <stdio.h> /* Um Primeiro Programa */ int main () { printf ("Ola! Eu estou vivo!\n"). Edson Oliveira . Exemplo1.

quando estudarmos um pouco mais detalhadamente as funções do C. Edson Oliveira . data e uma descrição sucinta do que o programa faz. bla bla bla bla */ comentário de múltiplas linhas Nota: Como regra de boa programação é praxe iniciar o programa sempre informando o nome do programador... indica o final da função e a entrega de um produto feito pela função. A palavra int indica que esta função retorna um inteiro. return(0).  Sintaxe // bla bla bla bla comentário de uma única linha /* bla bla bla bla . A última linha do programa. no caso um número inteiro de valor 0. já que é possível adicioná-lo a qualquer parte do programa. O que significa este retorno será visto posteriormente.. . O conteúdo da função é delimitado por chaves { }. Analisando o exemplo A linha int main() indica que estamos definindo uma função de nome main.   Há duas maneiras de introduzir comentários no programa.17/08/2015 Analisando o exemplo Inserir comentários no código do programa permite melhor organização e compreensão de seu funcionamento. Todos os programas em C têm que ter uma função main.2015/2 3 . pois é esta função que será chamada quando o programa for executado. O código que estiver dentro das chaves será executado sequencialmente quando a função for chamada.

passando a string (uma string é uma sequência de caracteres.h . É importante observar também que os comandos do C terminam com . isto é. após imprimir Ola! Eu estou vivo! o cursor passará para a próxima linha. É por causa do uso da função printf() pelo programa que devemos incluir o arquivo. A função printf() neste caso irá apenas colocar a string na tela do computador.17/08/2015 Analisando o exemplo A única coisa que o programa realmente faz é chamar a função printf().cpp Edson Oliveira .cabeçalho stdio. o \n é a constante barra invertida de "new line" e ele é interpretado como um comando de mudança de linha. No caso.2015/2 4 . como veremos brevemente) "Ola! Eu estou vivo!\n" como argumento. Exemplo 2 Exemplo2. O \n é uma constante chamada de constante barra invertida. .

Dias e Anos.17/08/2015      Edson Oliveira . As variáveis declaradas como ponto flutuante existem para armazenar números que possuem casas decimais. e pular outra linha. A primeira é um int (inteiro) e a segunda um float (ponto flutuante).\n" diz à função para pular duas linhas. como 5. É importante ressaltar a necessidade de se colocar um & antes do nome da variável a ser lida quando se usa a função scanf(). Os outros parâmetros são as variáveis. colocar a mensagem dias equivalem a. 5 . das quais devem ser lidos os valores do inteiro e do float. colocar um valor float na tela. A string "%d" diz à função que iremos ler um inteiro.25 (365.25 é uma constante ponto flutuante 365. no C. que coloca uma mensagem na tela. Observe que. quando temos mais de um parâmetro para uma função. A string "\n\n%d dias equivalem a %f anos. Queremos agora ler um dado que será fornecido pelo usuário e colocá-lo na variável inteira Dias.1497. colocar a mensagem anos. A segunda chamada à função printf() tem três argumentos. Temos então uma expressão matemática simples que atribui a Anos o valor de Dias dividido por 365.25). O segundo parâmetro passado à função diz que o dado lido deverá ser armazenado na variável Dias. Para tanto usamos a função scanf().2015/2 São declaradas duas variáveis chamadas Dias e Anos. O motivo disto só ficará claro mais tarde. Como Anos é uma variável float o compilador fará uma conversão automática entre os tipos das variáveis (veremos isto com detalhes mais tarde). eles serão separados por vírgula. colocar um inteiro na tela. respectivamente. É feita então uma chamada à função printf().

Um programa em C consiste.cpp Funções Uma função é um bloco de código de programa que pode ser usado diversas vezes em sua execução.2015/2 6 .17/08/2015 Teste O que faz o seguinte programa? Exercicio1. Abaixo o tipo mais simples de função: Exemplo3. O uso de funções permite que o programa fique mais legível.cpp Edson Oliveira . no fundo. mais bem estruturado. de várias funções colocadas juntas.

Esta função é chamada a partir de main() . O que ele faz é definir uma função mensagem() que coloca uma string na tela e retorna 0.17/08/2015 Funções Este programa terá o mesmo resultado que o primeiro exemplo da seção anterior.2015/2 7 . A diferença fundamental entre main e as demais funções do problema é que main é uma função especial. Argumentos em Funções Argumentos são as entradas que a função recebe. Já vimos funções com argumentos. Veja o exemplo abaixo: Exemplo4. cujo diferencial é o fato de ser a primeira função a ser executada em um programa C. também é uma função.cpp Edson Oliveira . que. As funções printf() e scanf() são funções que recebem argumentos. como já vimos. É através dos argumentos que passamos parâmetros para a função.

Dentro de square() trabalha-se apenas com x. que o C faz automaticamente.2015/2 8 . é importante ficar atento. Exemplo 3 Vamos dar um exemplo de função de mais de uma variável. também. Quando fazemos a chamada à função. ou seja. neste caso. que os argumentos passados para a função não necessitam ser todos variáveis porque mesmo sendo constantes serão copiados para a variável de entrada da função. não é importante o nome da variável que se passa como argumento. Repare que. Note. Em segundo lugar.cpp Edson Oliveira . um a um. Há alguns pontos a observar. ao ser passada como argumento para square() é copiada para a variável x. os argumentos são separados por vírgula e que deve-se explicitar o tipo de cada um dos argumentos.17/08/2015 Analisando o exemplo Na definição de square() dizemos que a função receberá um argumento inteiro x. Apesar de existirem algumas conversões de tipo. o inteiro num é passado como argumento. a variável num. Se mudarmos o valor de x dentro de square() o valor de num na função main() permanece inalterado. Exemplo5. Em primeiro lugar temos de satisfazer aos requisitos da função quanto ao tipo e à quantidade de argumentos quando a chamamos.

No programa fizemos a atribuição deste resultado à variável saida. Podemos especificar um tipo de retorno indicando-o antes do nome da função. este valor pode ser usado em uma expressão qualquer. Uma observação adicional: se não especificarmos o tipo de retorno de uma função. neste curso.17/08/2015 Retornando valores Muitas vezes é necessário fazer com que uma função retorne um valor. Com relação à função main. como prod retorna o valor de 12 multiplicado por 7. Exemplo6. este valor será sempre especificado. 9 . As funções que vimos até aqui estavam retornando o número 0. o compilador C automaticamente suporá que este tipo é inteiro. não é uma boa prática não se especificar o valor de retorno e. Mas para dizer ao C o que vamos retornar precisamos da palavra reservada return. Porém. o retorno sempre será inteiro.cpp Analisando o exemplo   Edson Oliveira . que posteriormente foi impressa usando o printf. Normalmente faremos a função main retornar um zero quando ela é executada sem qualquer tipo de erro. Sabendo disto fica fácil fazer uma função para multiplicar dois inteiros e que retorna o resultado da multiplicação.2015/2 Veja que.

Edson Oliveira . 2) Escreva um programa que receba um número inteiro e retorne este número elevado ao cubo.cpp Exercício 1) Escreva uma função que some dois inteiros e retorne o valor da soma.17/08/2015 Exemplo 4 Exemplo7.2015/2 10 .