HIST RICO DA LINGUAGEM DE PROGRAMA O C A linguagem C foi criada na d cada de 70, por Dennis Ritchie, nos laborat rios Bell. Para tanto, ele utilizou o sistema operacional Unix e a linguagem BCPL. Baseado nessa linguagem, um outro pesquisador, chamado Ken Thompson (que tamb m trabalhou na cria o de C) havia criado a linguagem B, que por sua vez foi influenciada pela linguagem BCPL criada por Martin Richards. Como a linguagem de Richie foi posterior linguagem B, recebeu o nome de C. A linguagem C estruturada, e considerada de n vel m dio, possui portabilidade do c digo fonte e um programa objeto muito eficiente, r pido e compacto. Alguns Sistemas computacionais escritos em C: Unix e Linux, Parte do Windows e seus Aplicativos, Borland Delphi, Turbo Pascal, Cbuilder, etc. ESTRUTURA B SICA DE UM PROGRAMA EM LINGUAGEM C 1 Dicas na edi o de programas-fonte Salvar em modo texto (n o DOC, RTF); Salvar SEMPRE o documento antes de compilar; A execu o do programa sempre come a na linha. Os par nteses s o obrigat rios; O C caso sensitivo (mai sculas/min sculas); Use SEMPRE a endenta o, porque ela permite maior clareza de c digo; necess rio o ponto-e-v rgula (;) ao final de cada comando. 2 Forma geral de um programa em linguagem C Consiste em uma cole o de fun es, de acordo com a estrutura b sica: //primeira fun o a ser executada in cio da fun o corpo da fun o; fim da fun o Observa o: A fun execu o deve existir em algum lugar do programa, pois, marca o in cio da o do mesmo. Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 5
Programa m nimo em C: Exemplo: // Programa: prog01.cpp // Autor: Ivo Mario Mathias #include <stdio.h> #include <conio.h> clrscr(); printf ("Meu primeiro programa em Linguagem C"); getch(); Observa es: Toda instru o deve ser encerrada por < ; > (ponto e v rgula); printf uma fun o, os par ntesis '( )' ap s o nome do comando, correspondem a uma regra b sica para todos os comandos em linguagem C; 3 Fun o printf( ) Fun o de E/S n o faz parte da defini o de C, necessita da inclus o da bilbioteca <stdio.h>. Sintaxe: printf("express o de controle", lista de argumentos); Exemplos: somente com string na express o de controle, sem lista de argumentos: printf ("linha numero um \n"); printf ("linha numero dois"); Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 6
printf(" linha numero um \n linha numero dois"); printf ("o n mero 2"); Exemplo c/n meros decimais: printf ("o n mero %d",; Exemplo c/n meros decimais e cadeia de caracteres (string): printf (" Meu nome %s \n Eu tenho %d anos. ", "Ivo M rio Mathias", 49); Meu nome Ivo M rio Mathias, Eu tenho 49 anos. Observa o: \n um c digo especial que indica uma mudan a de linha. Exemplo com caracteres: printf (" a letra %c", 'A'); printf (" vem antes de %c", 'B'); a letra A vem antes de B Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 7
3.1 Caracteres de controle (sequ ncias de escape) \n nova linha \r <enter> (retorno de carro/cr/return) \t tabula o (tab) \b retrocesso (volta posi o do cursor, permitindo sobrescrever caracter) \" aspas (para escrever aspas, sem fechar a express o de controle) \ \ barra (para escrever barra, sem interpretar como caracter de controle) Exemplos utilizando caracteres de controle/sequ ncias de escape: printf ("A\nB\nC "); printf ("A\tB\tC"); printf ("A\nB\rC"); 4) printf ("AB\b\bC"); 5) printf (".\n.1\n..2\n...3\n"); 6) printf ("Comandos DOS residem no C:\\DOS"); 7) printf ("\"Fique alerta!\", gritou o veterano."); Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 8
3.2 C digos de Formata o %c caracter %d decimal %e nota o cient fica %f ponto flutuante %o octal %s cadeia de caracteres (string) %x hexadecimal Exemplos utilizando c digos de formata o: printf ("Este e o capitulo %d", ; printf ("%d + %d = %d", 3, 4, 3+4); printf ("%d = %i", 3, ; 4) // aten o!! Este programa gerar erro de execu o... printf ("O valor %d e um numero em ponto flutuante", 3.; 5) // programa corrigido... printf ("O valor %f e um numero em ponto flutuante", 3.; 6) //o c digo %f gera sa da c/7 algarismos significativos printf ("%f + %f = %f", 3.3, 4.4, 3.3 + 4.4); Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 9
7) // %e permite pot ncia de 10 em formato cient fico printf ("%e + %e = %e", 8.2e+002,3.36e+005,8.2e+002+3.36e+005); Observa o: 8.2e+002 = 8.2x102 = 8.2x100 = 820 3.36e+005 = 3.36x105 = 3.36x100000 = 336000 8) //n mero 16, escrito com formata printf ("%d %o %x", 16, 16, 16); es diferentes 3.2.1 Tamanho de campo poss vel estabelecer o tamanho m nimo para a exibi o de um campo; Para n meros inteiros (c digo %d), o n mero colocado entre o "%" e o "d" estabelece o n mero de casas reservadas para a exibi o do argumento; Para n meros em formato de ponto flutuante (reais), pode-se especificar al m do tamanho total, o n mero de casas decimais que se deseja exibir. Exemplos com defini o de tamanho de campo para inteiros: printf ("%2d alunos\n", 350); printf ("%4d alunos\n", 350); printf ("%5d alunos\n", 350); 350 alunos 350 alunos 350 alunos printf ("%d %2d %2d", 7, 8, 9); Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 10
Exemplos com defini o de tamanho de campo para reais/ponto flutuante: // especificador de formato %f, float printf ("%f %f\n", 535.45, 73745.66); printf ("%16f %16f\n", 535.45, 73745.66); 4) printf (" %3.1f \n", 3456.78); printf (" %10.3f \n", 3456.78); 3456.8 3456.780 5) // especificador %f, com espa o para os decimais printf ("%6.2f %8.4f", 12.3456, 12.3456); 6) //especificador %f, c/mais de 19 d gitos significativos printf ("o numero %f", 7493752094857203945087405.3453458); Professores: Ivo M rio Mathias e Jeferson Antonio Quimelli 11