Algoritmo e Programação Unidade IV– Introdução à C Prof. Msc. Julio Furtado [email protected] Objetivo de Aprendizagem Nesta unidade vamos apresentar ao aluno os princípios da linguagem de programação C e como transformar um algoritmo em um programa de computador. Estrutura de um programa C #include <stdio.h> main() { printf(“Meu primeiro programa em C\n”); getch(); } Introdução Linguagem C Estrutura de um programa C #include <stdio.h> /*biblioteca de E/S */ main() /*função principal – inicio do programa*/ { /*marca início da função*/ printf(“Meu primeiro programa em C\n”); /*função para escrever na tela*/ getch(); } /*marca fim da função*/ Introdução Linguagem C Nomes de Variáveis quantos caracteres quiser (32); comece com letras ou sublinhado: Seguidos de letras, números ou sublinhados C é sensível ao caso: peso <> Peso <> pEso não podemos definir um identificador com o mesmo nome que uma palavra reservada auto static extern int long if while do ...... Introdução Linguagem C Tipos Básicos de Dados determinar um conjunto de valores e as possíveis operações realizadas sobre os mesmos ; informa a quantidade de memória (bytes); tipo char int float double bytes 1 2 4 8 Introdução Linguagem C escala -128 a 127 -32.768 a 32.767 3.4e-38 a 3.4e+38 1.7e-308 a 1.7e+308 Programa Exemplo – Tipos de Dados e Variáveis #include <stdio.h> main( ) { int soma=10; float money=2.21; char letra= ´A´; double pi=2.01E6; printf (“valor da soma = %d\n”, soma); printf (“Valor de Money = %f\n”, money); printf(“Valor de Letra = %c\n”, letra); printf(“Valor de Pi = %e\n”, pi); getch(); } Introdução Linguagem C Intruções de E/S – scanf ( ) Leitura de dados tipados via teclado scanf (“string de controle”, lista de argumentos); Exemplo: scanf(“%d”,&idade); Introdução Linguagem C Comandos de E/S – printf ( ) Apresentação de dados no monitor printf(“string de controle”, lista de argumentos); Exemplo: printf (“Digite a sua idade:\n”); scanf (“%d”, &idade); printf(“Sua idade é: %d”, idade); Introdução Linguagem C String de controle %c caracter %d inteiro %e número ou notação científica %f ponto flutuante (float) %o octal %x hexadecimal %s string (cadeia de caracteres) %lf double Introdução Linguagem C Exemplo strings de controle #include <stdio.h> main ( ) { char a ; printf ( “digite um caracter” ); scanf ( “ %c”, &a ); printf (“ \n %c = %d em decimal”, a, a); printf (“%o em octal, %x em hexadecimal”, a, a); getch(); } Digitando m: m = 109 em decimal, 155 em octal, 6d em hexadecimal Programando – Exercício 1 Faça um programa para ler e escrever na tela o seu nome e a sua idade. #include <stdio.h> main( ) { int idade; char nome[30]; printf ("Digite o seu nome:\n"); scanf(”%s", nome); printf ("Digite a sua idade:\n"); scanf ("%d", &idade); printf("A idade do(a) %s é %d",nome, idade); getch(); } Programando – Exercício 2 Faça um programa para ler e escrever na tela os seguintes dados: Nome Endereço Telefone Cidade Cep Introdução Linguagem C Operadores Aritméticos Operador Ação + Adição * Multiplicação / Divisão % Resto da divisão inteira Subtração (unário) -Decremento ++ Introdução LinguagemIncremento C Operadores Relacionais e Lógicos Operador Ação > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que == Igual a != Diferente de && Condição “E” || Condição “OU” ! Introdução Linguagem C Não Operadores - Observação Em C o resultado da comparação será ZERO se resultar em FALSO e DIFERENTE DE ZERO no caso de obtermos VERDADEIRO num teste qualquer. Introdução Linguagem C Operadores - Exemplo #include <stdio.h> Saída: Verd.=1 Falso = 0 main ( ) { int verdadeiro, falso; verdadeiro = (15 < 20); falso = (15 == 20); printf(“Verd.= %d,Falso= %d”, verdadeiro, falso); getch(); } Introdução Linguagem C Comparações e Testes if (10 > 4 && !(10 < 9) || 3 <= 4) Como seria avaliado esta instrução? resultaria em Verdadeiro, pois dez é maior que quatro E dez não é menor que nove OU três é menor ou igual a quatro Introdução Linguagem C Exercícios Atividade Pontuada (1,0 Pts) 1) Implemente em C as questões 3 e 4 da atividade pontuada da Unidade I Introdução Linguagem C Estruturas de Decisão Permitir testes para decidir ações alternativas: if if – else for while Introdução Linguagem C Comando if if (condição) { instrução1; intrução2; if (condição) instrução; } #include <stdio.h> main ( ) { char ch; ch = getchar ( ); if (ch == ‘p’) printf (“você pressionou a tecla p”); } #include <stdio.h> main ( ) { if (getchar()) == ‘p’ ) { printf (“ você digitou p”); printf (“ pressione outra tecla ”); getchar( ); } } Introdução Linguagem C if aninhados Se um comando if está dentro do outro if, dizemos que o if interno está aninhado. #include <stdio.h> main ( ) { char ch; printf (“ digite uma letra entre A e Z”); ch = getchar ( ); if (ch >= ‘A’) if (ch < = ‘Z’) printf (“ você acertou”); } #include <stdio.h> main ( ) { char ch; printf (“ digite uma letra entre A e Z”); ch = getchar ( ); if ((ch >= ‘A’) && (ch < = ‘Z’)) printf (“ você acertou”); } Introdução Linguagem C Comando if-else O comando if só executa a instrução caso a condição de teste seja verdadeira, nada fazendo se a expressão for falsa. O comando else executará uma instrução ou um conjunto de instruções se a expressão for falsa. Introdução Linguagem C Comando if-else if (condição) instrução; else instrução; #include <stdio.h> main ( ) { if (getchar ( ) == ‘p’) printf (“ você digitou p”); else printf (“ você não digitou p”); } Introdução Linguagem C Comando if-else aninhados if (condição1) instrução else if (condição2) instrução else if (condição3)... #include <stdio.h> main ( ) { int número; scanf (“ % d”, &número); if (número < 0) printf (“número menor que zero”); else if (número < 10) printf (“ número e < 10”); else if (número < 100) printf (“número 10 e < 100); else printf (“número 100”); } Introdução Linguagem C Exercício 1: Programa Adulto, Jovem ou Velho. #include <stdio.h> main() { int i; printf(“Digite sua idade: “); scanf(“%d”,&i); if (i > 70) printf(“Esta Velho!”); else if (i > 21) printf(“Adulto”); else printf(“Jovem”); } Introdução Linguagem C Exercício 2: Maior entre três números main() { int a,b,c; printf(“Digite o 1º Número: “); scanf(“%d”,&a); printf(“\nDigite o 2º Número: “); scanf(“%d”,&b); printf(“\nDigite o 3º Número: “); scanf(“%d”,&c); if (a > b) if (a > c) printf(“\nO Maior é %d”,a); else printf(“\nO Maior é %d”,c); else if (b > c) printf(“\nO Maior é %d”,b); else printf(“\nO Maior é %d”,c); } Exercício 3: Dados 2 números apresente-os ordenados. main() { int a,b,t; printf(“Digite o 1º Número: “); scanf(“%d”,&a); printf(“\nDigite o 2º Número: “); scanf(“%d”,&b); if (a < b) { t = a; a = b; b = t; } printf(“\nOrdenados: %d e %d “,b,a); } Introdução Linguagem C Comando for for (i = valor_inicial; i <= valor_maximo; i = i++ ){ instrução; } #include <stdio.h> main ( ) { char ch[10]; for(int i = 0; i <= 9; i++){ ch[ i ] = getchar(); } for(int i = 0; i <= 9; i++){ printf (“%c”, ch[ I ]); } Introdução Linguagem C Exercício 1: Preencha um vetor com 20 números inteiros e em seguida exiba os valores informados #include <stdio.h> main() { int vetor[20]; int i; for (i =0; i<20; i++){ printf(“Informe um número inteiro: “); scanf(“%d”,&vetor[i]); } for (i =0; i<20; i++){ printf(“Número: %d“, vetor[i]); } } Introdução Linguagem C Exercício 2: Faça um programa que liste os primeiros 100 números pares #include <stdio.h> main() { int vetor[20]; int i; for (i =0; i<20; i++){ printf(“Informe um número inteiro: “); scanf(“%d”,&vetor[i]); } for (i =0; i<20; i++){ printf(“Número: %d“, vetor[i]); } } Comando while while (expressão){ instrução; } #include <stdio.h> main ( ) { char ch; ch = getchar(); while(ch != ‘X'){ ch = getchar(); } Introdução Linguagem C Exercícios Atividade Pontuada (1,5 Pts) 4) Implementar em C a atividade pontuada da Unidade II Introdução Linguagem C