Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução a linguagem C Programação para Engenharia Aula 008 – Izabella Rezende 1 2 Histórico da Linguagem C • Criada por Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix • C++ é uma extensão da linguagem C • O sistema Unix é escrito em C e C++ 3 Estrutura básica de um programa C diretivas para o pré-processador declaração de variáveis globais main () { declaração de variáveis locais da função main comandos da função main } Diretivas para o processador - Bibliotecas • Diretiva #include permite incluir uma biblioteca • Bibliotecas contêm funções pré-definidas, utilizadas nos programas • Exemplos 4 Funções de texto#include <string.h> Funções matemáticas#include <math.h> Funções padrão#include <stdlib.h> Funções de entrada e saída#include <stdio.h> 5 • MONTADOR (assembler) – Tradutor para linguagens de 2a geração. • COMPILADOR: – Traduz todo o programa de uma vez. • INTERPRETADOR: – Traduz o programa instrução por instrução. TRADUTORCÓDIGO FONTE ... LET SOMA = VAR1 + TOTAL ... (linguagem de prog.) CÓDIGO OBJETO ... 00010110111001011001011010 ... (“executável”) Tradução © Ana Cristina Benso da Silva Programação para Engenharia I Compilação • Os computadores requerem linguagem de máquina; antes do programa rodar, ele precisa ser traduzido do código fonte para uma linguagem de máquina - isto é feito pelo compilador • Depois de compilado, você tem o arquivo objeto (.o, .obj) • Erros de compilação © Ana Cristina Benso da Silva Programação para Engenharia I Ciclo de Desenvolvimento compilação (compile) linkedição (link) Arquivo Executável (executable file) Arquivo Objeto (object file) Código Fonte (source code) © Ana Cristina Benso da Silva Programação para Engenharia I Linkedição • Outro passo necessário antes de rodar o programa é a linkedição; parte da linguagem C é formada por bibliotecas de função (function library) que contém código objeto (isto é, código que já foi compilado) para funções pré- definidas (ex. printf()) #include <stdio.h> main( ) { printf(“Hello world!”); } © Ana Cristina Benso da Silva Programação para Engenharia I Fluxo Completo Editor de Texto Programa Fonte Compilador Programa Objeto Ligador ou Linkeditor Programa Executável Biblioteca Padrão Outras Bibliotecas © Ana Cristina Benso da Silva Programação para Engenharia I Introdução à Linguagem C • Um programa escrito em linguagem C é composto de funções. • A função main deve obrigatoriamente constar em todos os programas, pois é a primeira a ser executada. • As instruções são executadas na ordem em aparecem no texto e são terminadas por ; • O programa deve ser escrito em caixa baixa (minúsculo). 11 Dicas • Termine todas as linhas com ; • Sempre salve o programa antes de compilar • Sempre compile o programa antes de executar • Quando ocorrer um erro de compilação, verifique com calma a mensagem o erro; • Verifique também a linha anterior, que pode ser a responsável pelo erro, especialmente se faltar o ; • Use comentários, iniciados por // 12 Template (Exemplo 1) #include <stdio.h> #include <stdlib.h> main() { printf ("Alo mundo!"); system("PAUSE"); } © Ana Cristina Benso da Silva Programação para Engenharia I Estrutura de um Programa em Linguagem C #include <stdio.h> int a, b; int quadrado (int x); main ( ) { printf(¨Forneca um numero de 1 a 10: ¨); scanf(¨%d¨, &a); b = quadrado(a); printf(¨%d ao quadrado e %d\n¨, a, b); } Diretiva include Declaração Função Principal Comandos Importante!!! “{” = início e “}” = Fim © Ana Cristina Benso da Silva Programação para Engenharia I Tipo de Dados em C • Tipos de Dados: – int: números inteiros (4 bytes). Ex: 1, 2002, -3, 32000; – float: número em ponto flutuante com precisão simples (4 bytes). Ex: 123.45, 1.0, -0.678; – double: número em ponto flutuante com precisão dupla (8 bytes); – char: caracter - tabela ASCII (1 byte). Ex: ‘a’, ‘1’, ‘%’, ‘+’, ‘A’; – void: sem valor 15 Declarações • Declaram as variáveis e seus tipos • Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ • Os principais tipos são: int, float, double e char • Exemplos int n; int quantidade_valores; float x, y, somaValores; char sexo; char nome[40]; C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N! 16 Algoritmo n1, n2, n3, media: Real Na Linguagem C... #include <stdio.h> #include <stdlib.h> main() { double n1, n2, n3, media; system("PAUSE"); } 17 Comando de atribuição • Atribui o valor da direita à variável da esquerda • O valor pode ser: – uma constante, – uma variável ou – uma expressão • Exemplos x = 4; --> lemos x recebe 4 y = x + 2; y = y + 4; valor = 2.5; sexo = 'F' © Ana Cristina Benso da Silva Programação para Engenharia I Exemplos • Sempre após o início de um bloco ({) ou antes da main: <tipo> <nome_var1>, <nome_var2>,..,<nome_varN>; • Exemplo: int num,val; float media, p1,p2; char sexo, est_civ; © Ana Cristina Benso da Silva Programação para Engenharia I Constantes • Tipo cons. Exemplo: const x = 10; • A diretiva #define associa um identificador a um valor. O padrão C ANSI refere-se ao identificador como um nome de macro e ao processo de substituição como substituição de macro. • Formato: #define nome_macro valor • É usual definir o nome das macros com letras maiúsculas. Exemplos: #define UM 1 #define MSG “Digite S para sair” © Ana Cristina Benso da Silva Programação para Engenharia I Strings • Uma String é uma seqüência de caracteres entre aspas duplas: "exemplo de uma string em C". • Função printf – A função printf exibe um ou mais dados na tela. Deve receber pelo menos dois parâmetros, separados por vírgula: • um string de formato que define, através de caracteres especiais, os tipos dos dados a serem impressos e suas posições na linha de impressão; • um dado a ser impresso. Este dado pode ser qualquer um dos dados visto anteriormente. printf("%s","teste“); © Ana Cristina Benso da Silva Programação para Engenharia I Exercícios • Faça um programa em C que imprima na tela o string “Hello World”. 22 Entrada e Saída de Dados 23 Entrada de Dados • Função scanf scanf ("formatos", &var1, &var2,...) Exemplos: int i, j; float x; char c; scanf("%d", &i); scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s", nome); %d inteiro %f float %fl double %c char %s palavra 24 Entrada de Dados (Exemplo 2) Algoritmo Real: n1, n2, n3, media Na Linguagem C... #include <stdio.h> #include <stdlib.h> main() { double n1, n2, n3, media; scanf ("%fl",&n1); scanf ("%fl",&n2); scanf ("%fl",&n3); scanf ("%fl %fl %fl",&n1, &n2, &n3); system("PAUSE"); } ler n1 ler n2 ler n3 ler n1, n2, n3 25 Operadores Matemáticos Decrementa em 1 o valor de xx---- Incrementa em 1 o valor de xx++++ Resto da divisão de x por yx % y % Divide x por yx / y / Multiplica x e yx * y* Subtrai y de xx – y - Soma x e yx + y+ ComentárioExemploOperador 26 Entrada de Dados (exemplo 3) Real: n1, n2, n3, media Na Linguagem C... #include <stdio.h> #include <stdlib.h> main() { double n1, n2, n3, media; scanf ("%fl %fl %fl",&n1, &n2, &n3); media=(n1+n2+n3)/3; system("PAUSE"); } ler n1, n2, n3 media=(n1+n2+n3)/3 Algoritmo 27 Saída de Dados • Função printf printf ("formatos", var1, var2,...)Exemplos: int i, j; float x; char c; printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s", nome); %d inteiro %f float %fl double %c char %s palavra 28 Saída de Dados (Exemplo 4) #include <stdio.h> #include <stdlib.h> main() { int i, j; float x; char c; char nome [10]; i = 1; j = 2; x = 3; printf("%d", i); printf("%d, %f", j, x); system("PAUSE"); } 29 Saída de Dados (Exemplo 5) #include <stdio.h> #include <stdlib.h> main() { // definicao de variaveis double n1, n2, n3, media; // entrada de dados scanf ("%fl %fl %fl",&n1, &n2, &n3); // operacao media=(n1+n2+n3)/3; // saida de dados printf("%f", n1); printf("%f", n2); printf("%f", n3); printf("%f", media); system("PAUSE"); } 30 Exemplo 7#include <stdio.h> #include <stdlib.h> main() { //declaracao de variaveis int n; int quantidade_valores; float x, y, somaValores; char sexo; // operacao somaValores =1+1; //saida de dados printf("somaValores=%f", somaValores); system("PAUSE"); } 31 Exemplo 8 #include <stdio.h> #include <stdlib.h> main() { // definicao de vairiaveis int n; int quantidade_valores; float x, y, somaValores; char sexo; char nome[40]; x = 1; y = 2; //atribuicao somaValores = x + y; // mostra mensagem de texto na tela printf("alo mundo"); // mostra valor na tela printf("somaValores=%f", somaValores); system("PAUSE"); } 32 Entrada e Saída Exemplo 10 #include <stdio.h> #include <stdlib.h> main() { double n1, n2, n3, media; printf("Digite 3 notas: "); scanf ("%fl %fl %fl",&n1, &n2, &n3); media=(n1+n2+n3)/3; printf ("Media: %.2lf",media); system("PAUSE"); } Exemplo 9 #include <stdio.h> #include <stdlib.h> main() { double n1, n2, n3, media; scanf ("%fl %fl %fl",&n1, &n2, &n3); media=(n1+n2+n3)/3; printf ("%fl",media); system("PAUSE"); } 33 Exemplo 11 1) Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um programa que calcule seu peso ideal, utilizando a seguinte fórmula: peso ideal = (72.7*h) – 58 #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { float altura, pesoIdeal; char sexo; printf ("\nDigite sua altura em metros: "); scanf ("%f",&altura); printf ("\nDigite seu sexo (F/M): "); sexo=getche(); pesoIdeal=(72.7*altura)-58; printf ("\nO sexo digitado foi %c e o peso ideal desta pessoa eh %.2f quilos\n", sexo, pesoIdeal); system("PAUSE"); } 34 Operadores de Atribuição Equivale a x = x % yx %= y%= Equivale a x = x / yx /= y /= Equivale a x = x * yx *= y *= Equivale a x = x – yx -= y-= Equivale a x = x + yx += y += Atribui o valor de y a xx = y= ComentárioExemploOperador
Compartilhar