Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1
Linguagem de Programação C Os programas em C consistem em módulos chamados funções. 3 Linguagem de Programação C Compilada Utilizada no desenvolvimento de Sistemas Operacionais Editores de Texto Gerenciadores de Banco de Dados Compiladores Interpretadores 4 2
Linguagem de Programação C Exemplos de Aplicações Aplicações da Adobe Systems Photoshop & ImageReady Adobe Premier Aplicativos do Google Mozilla Internet Firefox Cliente de email Thunderbird MySQL- Sistema Gerenciador de Banco de Dados 5 Um programa em C... Comentário inicia com /* e termina com */ Seção de cabeçalho (Diretivas do Pré-Processador) Comentário de linha, indicado por // Em um arquivo fonte há uma ou mais funções /* Programa simples para exibir uma mensagem de * boas vindas na tela. */ #include <stdio.h> //função main inicia a execução do programa int main(){ printf( Bem Vindo ao C!\n ); return 0; } Comentários servem para documentar os programas e melhorar a legibilidade. Na dose certa, ajudam outras pessoas a ler e entender um programa. 3
Um programa em C... /* Programa simples para exibir uma mensagem de * boas vindas na tela. */ A função main() com um tipo de retorno int Principal função: ponto inicial para todo o código do programa. #include <stdio.h> //função main inicia a execução do programa int main(){ printf( Bem Vindo ao C!\n ); return 0; } O nome da função vem depois do tipo de retorno. Ele é seguido pelos parâmetros da função, se houver. Em seguida, tem-se o corpo da função, delimitado por chaves. Um programa em C... /* Programa simples para exibir uma mensagem de * boas vindas na tela. */ #include <stdio.h> Esta função exibe uma string na tela Uma string é delimitada por aspas. //função main inicia a execução do programa int main(){ printf( Bem Vindo ao C!\n ); return 0; } Normalmente os caracteres são impressos exatamente como aparecem entre aspas. Neste caso, há um caso especial (\n). A barra invertida é chamada caractere de escape. Neste caso, junto com o próximo caractere, forma-se uma sequência de escape. 4
Constantes de barra invertida CódigoSignificado Código Significado \b Retrocesso \f Alimentação de formulário \n \t Nova linha. Posiciona o cursor da tela no início da nova linha Tabulação horizontal. Move o cursor da tela para a próxima posição de tabulação. \' Apóstrofo \0 Nulo \r Retorno de carro \" Aspas. Insere o caractere de aspas em uma string \\ Barra Invertida. Insere o caractere de barra invertida numa string \v Tabulação vertical \a Sinal sonoro de alerta \N Constante octal \xn Constante hexadecimal 9 Programando em C 5
Programando em C Declaração de variáveis Programando em C O que é uma Variável? Uma variável é um local na memória do computador em que um valor pode ser armazenado para ser usado por um programa. (DEITEL, 2011) Possui três atributos um nome, um tipo de dado associado à mesma e tipo de dado nome dado o dado por ela guardado. 6
Programando em C O que é uma Variável? Uma variável é um local na memória do computador em que um valor pode ser armazenado para ser usado por um programa. (DEITEL, 2011) Possui três atributos um nome, um tipo de dado associado à mesma e tipo de dado nome dado o dado por ela guardado. Mais sobre Variáveis em C O nome de uma variável em C é qualquer identificador válido. Um identificador consiste em uma série de caracteres composta por letras, dígitos e o caractere sublinhado (_) que não começa por um dígito. Conforme o padrão C, o compilador só precisa conhecer os 31 primeiros caracteres. As declarações precisam ser colocadas dentro após a chave de abertura de uma função e antes de qualquer instrução executável. 7
Mais sobre Variáveis em C O nome de uma variável em C é qualquer identificador válido. Um identificador consiste em uma série de caracteres composta por letras, dígitos e o caractere sublinhado (_) que não começa por um dígito. Conforme o padrão C, o compilador só precisa conhecer os 31 primeiros caracteres. As declarações precisam ser colocadas dentro após a chave de abertura de uma função e antes de qualquer instrução executável. Mais sobre Variáveis em C A sintaxe da declaração de Variáveis em C é a seguinte: tipo de dado nome da variável; É possível declarar uma lista de variáveis do mesmo tipo em uma única linha. Para isso basta separar os nomes das variáveis por vírgulas. 8
Dicas Escolha nomes significativos para as variáveis, pois isso deixa seu programa autodocumentado. A primeira letra do nome de uma variável deve ser uma letra minúscula. Quando o nome da variável for composto, utilize a notação camelo. Por exemplo nomedoaluno C é case sensitive. Ou seja, diferencia letras maiúsculas de minúsculas. nomedoaluno NomeDoAluno Mais sobre Variáveis em C Quais são os tipos de dados que posso associar a uma variável? 9
Mais sobre Variáveis em C Utilize a função Quais são os tipos de dados sizeof para que descobrir posso associar a uma variável? Tipo Tamanho Intervalo char? bytes? int? bytes? float? bytes? double? bytes? Programando em C Função para entrada de dados 10
Função scanf() A função scanf() permite capturarmos valores fornecidos via teclado pelo usuário do programa, armazenando-os em variáveis do nosso programa. Forma Geral Operador de Endereço & associado ao nome de uma variável indica o local (endereço) na memória em que a variável está armazenada. scanf ( %d,&inteiro1); String de Controle de Formato O % é tratado como um caractere especial, que inicia um ESPECIFICADOR DE CONVERSÃO Especificador Tipo %d int %f float %c char %s Cadeia de caracteres Programando em C Instrução de atribuição com uma operação aritmética 11
Instrução de Atribuição A operação de atribuição é a operação mais simples do C. Consiste de atribuir valor de uma expressão a uma variável. Sintaxe identificador = expressão; O lado direito pode ser um valor constante ou uma expressão formada por operadores e outras variáveis. Programando em C Saída formatada com a função printf() 12
Função printf() A função printf() é dita de saída formatada pois os dados de saída podem ser formatados (alinhados, com número de dígitos variáveis, etc.). Forma Geral printf( %s disse que a soma eh %d, Raimundo, soma); O Primeiro parâmetro será inserido aqui, como uma string. O Segundo parâmetro será inserido aqui, como um inteiro. Primeiro Parâmetro Segundo Parâmetro Função printf() A função printf() é dita de saída formatada pois os dados de saída podem ser formatados (alinhados, com número de dígitos variáveis, etc.). Forma Geral printf( %s disse que a soma eh %d, Raimundo, soma); O Primeiro parâmetro será inserido aqui, como uma string. O Segundo parâmetro será inserido aqui, como um inteiro. Primeiro Parâmetro Segundo Parâmetro 13
Especificador de formato ESPECIFICADOR VALOR %d inteiro %o inteiro em formato octal %x %X inteiro em formato hexadecimal %u unsigned int (um número inteiro em base decimal sem sinal) %ld long int (um número inteiro longo em base decimal ) %f float (um número real de precisão simples) %lf double (um número real de precisão dupla) %c char %e %E float em formato exponencial %g float. C escolhe melhor maneira de exibição entre normal %G e exponencial %s string %p endereço de um ponteiro %n quantos caracteres a função printf exibiu %% um único sinal de porcentagem 27 Então... Um programa escrito na linguagem de programação C consiste em uma coleção de funções, sendo que a main() é a primeira função a ser executada. C é sensível ao contexto Int int É obrigatório o uso de ; no final de cada linha de comando. 14
SINTAXE: Inicialização de Variáveis tipo var_1 = valor_1, var_2 = valor_2,... ; Constantes definidas pelo programador SINTAXE: #define nome valor #define PI 3.14159 #define ON 1 #define OFF 0... Bibliotecas C Arquivo pré-compilado chamado arquivo header. SINTAXE: Em cada biblioteca estão agrupadas constantes e funções semelhantes. Exemplo: Constantes e funções matemáticas estão guardadas na #include <nome_bib> biblioteca math.h (mathematical functions) Constantes e funções de manipulação teclado e monitor estão guardadas na biblioteca conio.h (console input and output). 15
Operadores, Expressões OPERADOR DE ATRIBUIÇÃO A operação de atribuição é a operação mais simples do C. Consiste de atribuir valor de uma expressão a uma variável. SINTAXE identificador = expressão; onde identificador é o nome de uma variável e expressão é uma expressão válida (ou outro identificador). Operadores, Expressões Conversão de Tipos (Casting) Modificar o tipo de dado representado por uma variável SINTAXE: Exemplos: (tipo) variável int i; float r; i = 5; // valor de i: 5 r = i ; // valor de r: 5.0 OBS.: Podem ocorrer alterações dos valores convertidos se o operando da esquerda for de um tipo que utilize menor numero de bytes que o operando da direita. 16
Operadores, Expressões ATRIBUIÇÃO MÚLTIPLA É possível atribuir um valor a muitas variáveis em uma única instrução. A esta operação dá-se o nome de atribuição múltipla. SINTAXE: var_1 = [var_2 =... ] expressão; onde var_1, var_2,... são os identificadores de variáveis e expressão é uma expressão válida. Operadores, Expressões OPERADORES ARITMÉTICOS Operador Operação + Adição - Subtração * Multiplicação / Divisão % mod SINTAXE operando operador operando 17
Operadores, Expressões OPERADORES DE ATRIBUIÇÃO ARITMÉTICA SINTAXE var += exp; var -= exp; var *= exp; var /= exp; var %= exp; O operador de atribuição aritmética tem precedência menor que os outros operadores até aqui discutidos. Exemplos: Atribuição aritmética Instrução equivalente j -= val; num *= 1 + k; j = j - val; num = num * (1 + k); Operadores, Expressões OPERADORES INCREMENTAIS SINTAXE Instrução Equivalente ++var var = var + 1 var++ var = var + 1 --var var = var 1 var-- var = var 1 Se o operador for colocado à esquerda da variável, o valor da variável será incrementado (ou decrementado) antes que a variável seja usada em alguma outra operação. Caso o operador seja colocado à direita da variável, o valor da variável será incrementado (ou decrementado) depois que a variável for usada em alguma outra operação 18
Operadores, Expressões Os operadores ++ e -- podem ser pré-fixados ou pósfixados pré-fixados: incrementam e retornam o valor da variável já incrementada x=20; y=++x; /* final: y=21 e x=21 */ pós-fixados: retornam o valor da variável sem o incremento e depois incrementam a variável x=20; y=x++; /* final: y=20 e x=21 */ 37 Operadores, Expressões OPERADORES RELACIONAIS Operadores relacionais verificam a relação de magnitude e igualdade entre dois valores. São seis os operadores relacionais em C: Operador > Maior que < Menor que Significado >= Maior ou igual a <= Menor ou igual a == Igual a!= Diferente de 19
Operadores Lógicos Operadores Função! negação && conjunção disjunção p q p && q p q! p F F F F V F V F V V V F F V F V V V V F Expressões Lógicas 10 > 5 &&!(10 < 9) 3 <= 4 39 Ordem de Prioridades Primeiro Segundo Parênteses e Funções Expressões aritméticas: 1) +, - (unários) 2) *, /, % 3) +, - (binários) Terceiro Comparações: <, <=, >, >=, ==,!= Quarto! Quinto && Sexto 40 20
Exercícios 41 21