Baixe o app para aproveitar ainda mais
Prévia do material em texto
Bruno Jurkovski Fábio da Fontoura Beltrão Felipe Augusto Chies Kauê Soares da Silveira Lucas Fialho Zawacki Marcos Vinicius Cavinato Primeiro Programa #include <stdio.h> #include <stdlib.h> // meu primeiro programa C int main() { /*escrevendo uma mensagem na tela*/ printf(“Entendendo C”); system(“PAUSE”); return 0; } Analisando... � #include <stdio.h> e <stdlib.h> ◦ Este comando inclui bibliotecas necessárias no programa (printf , scanf e system); ◦ A inclusão de bibliotecas faz-se utilizando o comando #include (sem “;”, pois não se trata de uma instrução, mas de uma informação ao pré- processador); ◦ Utiliza-se bibliotecas para agregar ao programa funções não-default do C; Analisando... � // meu primeiro programa C ◦ As duas barras (//) fazem com que tudo que estiver na mesma linha após // seja comentário; ◦ Tudo o que estiver entre “/*” e “*/” é tomado como comentário; ◦ Exs.: //Isto eh um comentario /*e isto tb eh um comentario/* Analisando... � int main(): ◦ Em C tudo o que é executado deve estar em uma função; ◦ Assim, o programa principal encontra-se em uma função especial chamada main; ◦ A função main é obrigatória em todo programa C; ◦ O conteúdo da função (ou do programa principal) é tudo o que estiver entre os { } da função; ◦ Note que a função main é do tipo inteiro; Analisando... � printf (“Entendendo C”); �printf imprime na tela o que estiver entre (“...”); �Só funciona com a biblioteca stdio.h incluída; � system (“PAUSE”); �Comando da biblioteca stdlib.h que faz uma pausa no programa, exibindo uma mensagem; �Se omitido o programa terminará muito rápido; Analisando... � return 0; �Como foi visto, a função main é do tipo inteiro, o que significa que ela deve retornar um inteiro (retornar, nesse caso, refere-se ao Sistema Operacional); �Esse comando determina o fim da função, ou seja, do programa principal; �Qualquer instrução colocada após o comando de retorno não será executada; Variáveis – Tipos de dados � Os tipos de dados são 4 ◦ Inteiros (int): são valores inteiros de no mínimo 16 bits (-32768 a 32767); � Ex: 50 ◦ Caractere (char): são os caracteres; � Ex: ‘a’ ◦ Ponto flutuante (float): são valores reais de 32 bits; � Ex: 3,55124 ◦ Ponto flutuante de dupla precisão (double); � Ex: 3,5555555555554456 Variáveis - Declaração � Declaramos variáveis com a seguinte sintaxe: tipo_da_variavel nome_da_variavel; Exemplos: int var; float o_nome_que_voce_quiser; � Também podemos inicializar uma variável na declaração: int variavel_teste = 0; Variáveis - Declaração � Podemos declarar diversas variáveis do mesmo tipo juntas, usando a sintaxe: �tipo var1, var2, var3, ... , varN; � Entretanto, a inicialização deve ser feita individualmente. Ex.: �int x, y, z = 7; �Declara 3 variáveis (x, y, z) e inicializa z com 7; �char ch1 = ‘a’, ch2, ch3 = ‘s’; Variáveis - Declaração � Podemos declarar variáveis em 3 lugares no programa: �Fora de todas as funções (variáveis globais); �No inicio de um bloco de código (só existem dentro desse bloco – variáveis locais); �Como parâmetros de uma função (são substituídas pelos valores das variáveis passadas, existem apenas dentro da função – variáveis locais); Variáveis - Declaração � Fora de todas as funções (variáveis globais); #include <stdio.h> int int_global = 10; int main() { printf(“A variavel global eh: %d/n”, int_global); return 0; } Variáveis - Declaração � No início de um bloco de código (só existem dentro desse bloco – variáveis locais); int x = 12; //x global void funcao() { int x = 10; //x local, somente printf(“%d\n”, x);//existe aqui } int main(){ funcao(); printf(“%d\n”, x); return 0; } Imprime 10(que é o ‘x’ dentro da funcao()) e depois 12(‘x’ na main) Variáveis - Declaração � Como parâmetros de uma função (são substituídas pelos valores das variáveis passadas); void funcao(int numero) { numero = numero * 4; printf(“%d”, numero); } int main(){ int x = 5; funcao(5); return 0; } funcao vai receber “5” e vai imprimir 20 Notas importantes sobre o C � C é case sensitive, ou seja, uma variável com nome numero é diferente da variável Numero, ou NUMERO; � Nomes de variáveis não podem começar com números ou com alguns caracteres especiais; �Recomenda-se que comecem com letras, pois o compilador usa variáveis que começam com caracteres especiais; Exemplos � Correto � int jogador1 = 3; � float computador_novo, numeroCinco = 5; � Errado �double 12dePaus; �char #letraA; * Programa exemplo * #include <stdio.h> #include <stdlib.h> int global_int = 2; /*variável int global*/ int main() { int x = 5; //variáveis locais a main int y = 12; int soma1, soma2; soma1 = x + y; soma2 = soma1 + global_int; //imprime somas printf(“Soma1 = %d\nSoma2 = %d\n”, soma1, soma2); system(“pause”); return 0; } • Variáveis do tipo const não podem ser modificadas, apenas inicializadas; • É útil para proteger objetos apontados pelos argumentos de uma função de serem modificados por esta função (assunto que será visto mais tarde). const int a = 7; a = 10; // provocaria erro!! Constantes Constantes � Há duas formas de declararmos constantes: ◦ No cabeçalho do programa (válidas em todo o programa): � #define QUANTIDADE 20 � #define NOME “Pedro” ◦ Como variáveis comuns (usando o modificador “const”, sujeitas a regras de escopo): //dentro de uma funcao const int quantidade = 20; Especificador - Static �Especificadores informam ao compilador como a variável deve ser armazenada. �Sua forma geral é: especificador tipo variável; Especificador - Static �Static tem diferentes aplicações em variáveis locais e globais: � Local: É reconhecida apenas no bloco em que é declarada, porém, retém seu valor entre chamadas de função. Especificador - Static �Exemplo: �Saída: � Global: � Seu uso fica limitado no arquivo que está sendo definida. Especificador - Static Entrada e Saída – printf() � printf(): função que imprime informações na tela printf (“INFO”, parâmetros); � printf() depende da inclusão do cabeçalho stdio.h #include <stdio.h> Tabela de tipos: Tipo Código Inteiro %d, %i Float, Double %f Char %c String %s %% Imprime % Entrada e Saída � Caracteres de barra invertida: Código Significado \a Sinal Sonoro \b Backspace \n Nova Linha \t Tabulacao horizontal (tab) \v Tabulacao vertical \\ Barra invertida \? Ponto de interrogação \’ Aspas simples \” Aspas duplas \N Constante em octal \xN Constante em hexadecimal printf() - Exemplo#include <stdio.h> #include <stdlib.h> //programa exemplo de printf int main() { //declaração de todas as variáveis int inteiro = 13; float ptoFlutuante = 14.65; double duplo = 12.43; char caractere = ‘A’; //printf de todas elas printf(“O inteiro = %d\n”, inteiro); printf(“O float = %f\n”, ptoFlutuante); printf(“O double = %f\n”, duplo); printf(“O caractere = %c\n”, caractere); system(“pause”); return 0; } Exercícios � Declare uma variável de cada tipo, inicializem-nas fora da declaração como quiserem e imprimam todos os valores na tela; � Declare 3 inteiros, inicialize-os com 0 na declaração; Entrada e Saída – scanf() � scanf(): função que recebe do usuário informações: scanf (“tipos dos dados”, &variáveis); � Onde os tipos são como na função printf() e as variáveis são onde as info. serão armazenadas; � As variáveis devem ser do mesmo tipo daquele dado entre “...”; � scanf() também necessita do cabeçalho stdio.h; ◦ Os tipos de dados são declarados da mesma forma que em printf(); Entrada e Saída � Nota sobre scanf(): �scanf recebe um ponteiro para as variáveis, logo antes do nome da variável deve ser colocado um “&” – isso será compreendido melhor mais a frente do curso; �strings não necessitam (nem podem receber) esse caractere; �Para leitura de strings o mais recomendado é gets() (mais adiante); Exemplo - Scanf() #include <stdio.h> #include <stdlib.h> int main() { int idade; printf(“Entre com sua idade ”);scanf(“%d”, &idade); idade = idade + 10; printf(“Sua idade daqui a 10 anos sera: %d\n”, idade); system(“pause”); return 0; } Exemplo 2 – Scanf() #include <stdio.h> #include <stdlib.h> int main() { char estringue[20]; printf("Entre com o seu nome: "); scanf("%s", estringue); printf("A estringue eh: %s\n", estringue); system("pause"); return 0; } Operadores – Op. Aritméticos Operador Significado - Subtração, menos unário + Adição * Multiplicação / Divisão % Modulo Divisão -- Decremento ++ Incremento � Exemplos: � x = k + z; //x recebe k mais z � x++; /*incremento póstumo x (equivale a x = x+1 e a x+=1;*/ Operadores Incrementos/Decrementos � Observe a diferença entre os incremento/decrementos: int x = 25; int y = x++; printf(“%d, %d”, x, y) int x = 25; int y = ++x; printf(“%d, %d”, x, y) Saída: x = 26, y = 25 Saída: x = 26, y = 26 Neste caso: y recebe 25 e x é incrementado ficando 26 Neste caso: x é incrementado ficando 26 e y recebe 26 Operadores � Operadores de Atribuição: ◦ Em C utilizamos “=“; � Ex.: int x = a + b; � Operadores Relacionais: Operador Significado > Maior >= Maior ou igual < Menor <= Menor ou igual == Igual != Diferente Observação � Não confundir o op. de ATRIBUIÇÃO “=“ com o op. RELACIONAL “==“; � Ex: � if (numero = 5) “ERRADO” � if (numero == 5) CORRETO �char letra == ‘a’; ERRADO �char letra = ‘s’; CORRETO Operadores � Operadores Lógicos Operador Significado && AND || OR ! NOT (unário) & AND bit a bit | OR bit a bit ^ XOR bit a bit ~ NOT bit a bit >> Shift right << Shift left Abreviação de expressões Expressão Original Expressão Abreviada x = x + k; x += k; x = x – k; x -= k; x = x * k; x *= k; x = x / k; x /= k; Exercício � Faça um programa que receba uma temperatura em Celsius e devolva a mesma temperatura em Fahrenheit; � F = C x 1,8 + 32 � Faça um programa que calcule o IMC (índice de massa corpórea) de uma pessoa, dada sua altura e peso; �Fórmula do IMC: � peso / altura2 Estruturas de Controle de Fluxo �Blocos �Blocos são declarações e expressões agrupadas com { }, que equivalem, sintaticamente, a uma expressão única. �As chaves são obrigatórias apenas em comandos de controle de fluxo (if, for, while, else...) com mais de um comando e em funções. � if-else � O comando if é utilizado para expressões de condição � Sua forma geral é: if (expressão) { declaração; } else{ declaração; } onde a parte do else é opcional. Estruturas de Controle de Fluxo Não são usadas “{ }” pois são seguidos de apenas um comando If - Else � Exemplo: �Saídas If - Else � Elabore um programa que faça a leitura (a partir do teclado) da temperatura de três cidades. Depois de coletados os dados, mostrar ao usuário quais as cidades cuja temperatura excede 25 graus. • Exemplo: Exercício � if-else-if � É uma extensão de else- if. � Sua forma geral é: if (condição_1) declaração_1; else if (condição_2) declaração_2; ... else if (condição_n) declaração_n; else declaração_default; Estruturas de Controle de Fluxo If – Else –If (‘Ifs’ encadeados) � Exemplo: If – Else –If (‘Ifs’ encadeados) �Switch �É um comando de seleção múltipla � Testa o valor de uma expressão contra uma lista de inteiros ou caracteres Estruturas de Controle de Fluxo �Sua forma geral é: switch (variável) { case constante_1: declaração_1; break; case constante_2: declaração_2; break; ... case constante_n: declaração_n; break; default: declaração_default;} Break: Se não for usado, segue executando os outros comandos s Switch Se não tivesse o break e ch fosse 1, ele imprimiria na tela “Você digitou 1.” e seguiria executando “Você digitou 2.” Switch - exemplo Switch - exemplo Saída � Fazer um menu de opções (vide modelo) que processa um inteiro conforme a opção selecionada pelo usuário. Usar o comando "switch". Exercício
Compartilhar