Baixe o app para aproveitar ainda mais
Prévia do material em texto
Funções Básicas Introdução a Programação Pitágoras • Funções ▫ Biblioteca STDIO (Standard Input/Output) printf scanf ▫ Biblioteca STDLIB (Standard Library) system rand ▫ Biblioteca MATH pow Roteiro Laboratório de Programação I - Glaudiney Mendonça 2 • Conjunto de funções úteis que vem com o C • Para inserir uma biblioteca ▫ #include < nome > • Exemplos ▫ #include <stdio.h> ▫ #include <stdlib.h> ▫ #include <math.h> Bibliotecas Laboratório de Programação I - Glaudiney Mendonça 3 • Escreve dados no dispositivo de saída padrão ▫ Vídeo • Biblioteca ▫ stdio.h • Protótipo printf Laboratório de Programação I - Glaudiney Mendonça 4 int printf (const char* cadeia, ... ); Retorno Quantidade de caracteres impressos cadeia Cadeia de formatação • Caracteres que serão impressos na tela • Especificadores de formato ... Valores que substituirão os especificadores • Especificadores de Formato ▫ Informam como os outros parâmetros (...) da função serão interpretados e apresentados ▫ Definidos pelo símbolo % seguido pelo código ▫ Deve existir igual quantidade de especificadores e de argumentos ▫ São relacionados da esquerda para a direita printf Laboratório de Programação I - Glaudiney Mendonça 5 Exemplo char ch = 'C'; printf("Gosto %s de %c", "muito", ch); Saída Gosto muito de C printf Especificadores de Formato 6 Código Formato c Caractere s Cadeia de caracteres d, i Inteiro decimalld, li longo ll longo longo u sem sinal Laboratório de Programação I - Glaudiney Mendonça printf Especificadores de Formato 7 Código Formato f Ponto Flutuante Lf longo (long double) e, E Notação Científica Le, LE Longo g Usa e ou f (o mais curto) % Escreve o símbolo % Laboratório de Programação I - Glaudiney Mendonça • Exemplos printf Notação Científica Laboratório de Programação I - Glaudiney Mendonça 8 Número Base 10 Notação Científica e E 1000 1 x 103 1e3 1E3 0,0345 3.45 x 10-2 3.45e-2 3.45E-2 x.ddd(E/e)(+/-)yy x Parte inteira (1 dígito) ddd Parte fracionária (E/e) Símbolo e para %e e E para %E que substitui a base 10 (+/-) Sinal do expoente da base 10 yy Expoente • Número colocado entre o % e o código • Preenche a saída com espaços ▫ Para preencher com 0s, colocar um zero antes da largura mínima • Útil para se imprimir tabelas com colunas alinhadas printf Largura Mínima de Campo Laboratório de Programação I - Glaudiney Mendonça 9 Exemplos Saída printf("%f\n", 10.12304); 10.123040 printf("%12f\n", 10.12304); 10.123040 printf("%012f\n", 10.12304); 00010.123040 • Segue o especificador de largura (se houver), separados por um ponto (.) • Seu efeito depende do tipo de dado printf Especificadores de Precisão Laboratório de Programação I - Glaudiney Mendonça 10 f Número de casas decimais g Dígitos significativos s Comprimento máximo Corta o restante d Número mínimo de dígitos Preenche com zeros printf Especificadores de Precisão Laboratório de Programação I - Glaudiney Mendonça 11 Exemplos Saída printf("%.4f\n", 123.1234567); 123.1235 printf("%3.8d\n", 1000); 00001000 printf("%10.15s\n", "Esse e um teste simples"); Esse e um teste • Ler dados do dispositivo de entrada padrão ▫ Teclado • Biblioteca ▫ stdio.h • Protótipo scanf Laboratório de Programação I - Glaudiney Mendonça 12 int scanf( const char* cadeia, ... ); Retorno Quantidade de dados atribuídos às variáveis Se erro, retorna EOF cadeia Define quantas e quais informações serão inseridas • Especificadores de formato • Caracteres ... Endereços das variáveis que receberão as informações lidas scanf Especificadores de Formato 13 Código Formato c Caractere s Cadeia de caracteres d, i Inteiro decimal com sinal u Inteiro decimal sem sinal f, e, g Ponto flutuante decimal Laboratório de Programação I - Glaudiney Mendonça • Observação ▫ Espaços em branco podem ser lidos (%c) pelo scanf, não funcionando como separadores scanf Especificadores de Formato Laboratório de Programação I - Glaudiney Mendonça 14 Exemplos scanf("%d", &a); scanf("%d%c", &b, &x); scanf("%f%u",&preco,&quant); • Espaços em branco na cadeia de controle saltam espaços em branco na entrada ▫ Espaço ▫ Tabulação ▫ Quebra de linha scanf Espaços em branco Laboratório de Programação I - Glaudiney Mendonça 15 Exemplo Entrada scanf("%d %c", &a, &b); 13 a • Espaços não-brancos indicam caracteres que devem ser descartados na entrada • Se o caractere não for encontrado, scanf termina scanf Espaços não-branco Laboratório de Programação I - Glaudiney Mendonça 16 Exemplos Entrada scanf("%d,%d", &a, &b); 13,25 scanf("%d/%d/%d", &dia, &mes, &ano); 25/4/08 • Envia um comando para o SO • Biblioteca ▫ stdlib.h • Protótipo system Laboratório de Programação I - Glaudiney Mendonça 17 int system( const char* cadeia ); Retorno 0, se comando executado com sucesso cadeia Comando válido do SO Exemplos system("pause"); system("cls"); system("dir"); • Gera um número pseudo-randômico • Biblioteca ▫ stdlib.h • Protótipo rand Laboratório de Programação I - Glaudiney Mendonça 18 int rand(); Retorno Número aleatório Exemplos Intervalo int x = rand(); 0 RAND_MAX x = rand() % (max+1); 0 max x = (rand() % (max-min+1)) + min; min max • Muda a semente que gera os números pseudo- aleatórios de rand • Biblioteca ▫ stdlib.h • Protótipo srand Laboratório de Programação I - Glaudiney Mendonça 19 void srand(unsigned seed); seed Ponto de partida (semente) para a seqüência de números Exemplos Semente srand(0); 0 srand(time(0)); Hora do sistema • Eleva um número a outro • Biblioteca ▫ math.h • Protótipo pow Laboratório de Programação I - Glaudiney Mendonça 20 double pow(double base, double exp); Retorno Base elevada ao expoente base Base exp Expoente Exemplos x float x = pow(3,4); 81 x = pow(25,0.5); 5
Compartilhar