Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Introdução à Para Engenharias Variáveis e I/O em C GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos Prof.Dr. Danilo Spatti São Carlos - 2018
2 Relembrando... int main() { int NroHoras = 9; float PrecoQuilo = 13.53; double TaxaDolar = 1.75, TaxaPeso = 1.96, TaxaFranco = 0.2; } Exemplo 1: Declaração
3 Variáveis Identificadores Pode ser composta por letras do alfabeto (minúsculas e maiúsculas), dígitos (0... 9 ) e ainda pelo caractere underline _. O primeiro caractere não pode ser um número no nome da variável. Case Sensitive. Não pode ter por nome uma palavra reservada para a própria linguagem C.
4 Variáveis Palavras Reservadas
5 Variáveis Exemplo 2: Constantes Variáveis com o modificador do tipo CONST não podem ser alteradas ao longo do programa. int main() { const int x = 100; }
6 #include <stdio.h> Variáveis Exemplo 3: Cálculo da Área de uma Circunferência int main() { const float pi = 3.141592; float area, raio; raio = 2; area = pi * raio * raio; printf("raio: %f \n",raio); printf("area: %f",area); return 0; }
7 #include <stdio.h> Variáveis Exemplo 4: Tamanho das Variáveis em Memória int main() { printf("tamanho em bytes de um int: %d\n",sizeof(int)); printf("tamanho em bytes de um char: %d\n",sizeof(char)); printf("tamanho em bytes de um float: %d\n",sizeof(float)); printf("tamanho em bytes de um double: %d\n",sizeof(double)); return 0; }
8 Modificadores de Variáveis Exemplo inteiro de 2 bytes: signed / unsigned 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 bit para sinal unsigned int: 2 16 0...2 16-1 = 65535 signed: (-2 15 )...0...(2 15-1) = -32768...32767
9 Modificadores de Variáveis Exemplo inteiro de 2 bytes: short / long 2 15 2 14 2 13 2 12 2 11 2 10 2 9 2 8 2 7 2 6 2 5 2 4 2 3 2 2 2 1 2 0 1 bit para sinal short int: (-2 15 )...0...(2 15-1) = mesmo que int long int: (-2 31 )...0...(2 31-1) = 4 bytes unsigned long int: 2 32 0...2 32-1
10 Modificadores de Variáveis Resumo (Code::Blocks) Tipo Bytes Faixa de Valores char 1-128 a 127 unsigned char 1 0 a 255 signed char 1-128 a 127 int 4-2147483648 a 2147483647 unsigned int 4 0 a 4294967295 signed int 4-2147483648 a 2147483647 short int 2-32768 a 32767 unsigned short int 2 0 a 65535 signed short int 2-32768 a 32767 float 4 1.175494e-038 a 3.402823e+038 double 8 2.225074e-308 a 1.797693e+308 long double 12 3.3621e-4932 a 1.18793e+4932
11 A função printf = print + formatada printf Código de formatação printf("valor de x = %d", x); printf( string_de_controle,lista_de_argumentos); String de Controle: Descrição do que será impresso na tela. Caracteres que serão impressos na tela; Códigos de formatação. Lista de Argumentos: variáveis, constantes, expressões.
12 Exemplo 5: printf printf("valor de A = %d e de B = %d, z, y); #include<stdio.h> int main() { int x = 123; printf("o valor de x = %d e o valor seguinte = %d \n",x,x+1); return 0; }
13 Inicia com caractere de % seguido do código correspondente: Máscaras de Formatação Código Formato a ser impresso na tela %c Caractere simples %d Inteiro com sinal %e Notação científica %f Ponto flutuante em decimal %g Exibe %e ou %f o que for menor %o octal %s string (cadeia de caracteres) %u inteiro decimal sem sinal %x hexadecimal
14 Constante de Barra Invertida Código Significado \n Nova linha \r Retorna o cursor para o início da linha %% Porcentagem \t Tabulação \ Aspas duplas \ Aspas simples \0 Zero \\ Barra invertida (\)
15 #include<stdio.h> Exemplo 6: Cadeia de Caracteres Código Formato a ser impresso na tela %c Caractere simples %d Inteiro com sinal %e Notação científica %f Ponto flutuante em decimal %g Exibe %e ou %f o que for menor %o octal %s string (cadeia de caracteres) %u inteiro decimal sem sinal %x hexadecimal int main() { printf("%s esta a %d milhoes de milhas \ndo sol", "Venus", 67); return 0; }
16 #include<stdio.h> int main() { int ton, quilo, grama; ton = 3; quilo = ton * 1000; grama = quilo * 1000; printf("massa em toneladas: %d\n\n",ton); printf("%d kg\n",quilo); printf("%d g\n",grama); return 0; } Exemplo 7: Conversão ton / kg / g Código Formato a ser impresso na tela %c Caractere simples %d Inteiro com sinal %e Notação científica %f Ponto flutuante em decimal %g Exibe %e ou %f o que for menor %o octal %s string (cadeia de caracteres) %u inteiro decimal sem sinal %x hexadecimal
17 #include<stdio.h> int main() { double pi=3.14159265359; printf("pi decimal: %f\n",pi); printf("pi 8 casas decimais: %.8f\n",pi); printf("pi 11 casas decimais: %.11f\n",pi); printf("pi cientifica: %e\n",pi); return 0; } Exemplo 8: Mostrar o PI de Diferentes Formas Código Formato a ser impresso na tela %c Caractere simples %d Inteiro com sinal %e Notação científica %f Ponto flutuante em decimal %g Exibe %e ou %f o que for menor %o octal %s string (cadeia de caracteres) %u inteiro decimal sem sinal %x hexadecimal
18 A função scanf = scan + formatada scanf scanf("%f", &raio); scanf( string_de_controle,lista_de_argumentos); Corresponde a função Leia no algoritmo. String de controle: Códigos de formatação para o tipo de dado a ser processado. Argumentos: Indicação dos endereços das variáveis em uso por meio do operador de endereço &. scanf("%d%d", &x,&y);
19 Exemplo 9: Cálculo de Salário Desenvolver um programa em C que calcule o salário líquido e o salário bruto de uma pessoa. Deverá ser solicitado ao usuário: O valor da hora trabalhada, número de horas trabalhadas no mês, percentual de desconto. O programa deverá exibir o salário bruto e o salário líquido da pessoa.
20 #include<stdio.h> Exemplo 9: Cálculo de Salário int main() { float vhora, nhoras, pdesc, sliq, sbru; printf("digite: valor h/h, horas trabalhadas e desconto\n"); printf("valores digitados devem ser separados por virgula\n\n"); scanf("%f, %f, %f", &vhora, &nhoras, &pdesc); sbru = vhora * nhoras; sliq = sbru - sbru*(pdesc/100); printf("\nsalario Bruto: %.2f\n",sBru); printf("desconto: %.2f\n",sBru*(pDesc/100)); printf("salario Liquido: %.2f\n",sLiq); return 0; }
21 Funções Complementares (I) gets() Efetua a leitura de um string de caracteres digitado por meio do teclado até que seja digitado <ENTER>. O caractere da tecla <ENTER> não faz parte da string. No seu lugar é colocado o caractere de fim de cadeia ('\0 ). getch() Efetua a leitura de um caractere do teclado.
22 Funções Complementares (II) putch() Escreve um caractere a partir da posição corrente do cursor na tela. puts() Escreve um string na tela seguido por uma nova linha (\n). Mais rápida que a função printf(). Mas somente opera com argumentos string
23 #include <stdio.h> Exemplo 10: Menu de Programa int main () { char op; puts("menu\n"); puts("1.cadastra usuario"); puts("2.consulta usuario"); puts("3.remove usuario"); puts("4.sair"); puts("opcao:"); op = getch(); printf("\nopcao digitada: %c \n", op); return 0; }
24 Fim spatti@icmc.usp.br GE4 Bio GE4Bio Grupo de Estudos em Sinais Biológicos