Linguagem de Programao - C

download Linguagem de Programao - C

of 81

Transcript of Linguagem de Programao - C

Linguagem de Programao - CSnia Virginia Alves Frana

2007

Linguagem de programao - C

ndiceCaptulo 1- Introduo ao C ................................................................................................................51.1 Linguagens de Programao................................................................................................................... 5 1.2 Linguagens de baixo e alto nvel............................................................................................................. 5 1.3 Histrico do C ......................................................................................................................................... 6

Captulo 2 - Tcnicas Bsica de Programao ...................................................................................72.1 Tipos de dados primitivos ....................................................................................................................... 7 2.2 Identificadores ........................................................................................................................................ 7 2.3 Variveis e Constantes ............................................................................................................................ 82.3.1 Declarao de Variveis............................................................................................................................................................. 8 2.3.2 Declarao de Constantes......................................................................................................................................................... 8

2.4 Operaes Bsicas .................................................................................................................................. 92.4.1 Operador de Atribuio ............................................................................................................................................................. 9 2.4.2 Operadores Aritmticos............................................................................................................................................................. 9 2.4.3 Operaes Relacionais............................................................................................................................................................. 11 2.4.4 Operadores Lgicos.................................................................................................................................................................. 12

2.5 Atribuies reduzidas.............................................................................................................................12 2.6 Operadores pr e ps-fixados ................................................................................................................12 2.7 Converso de tipo (Casting)...................................................................................................................13 2.8 Comandos de Entrada e Sada de Dados...............................................................................................132.8.1 Entrada de Dados...................................................................................................................................................................... 13 2.8.2 Sada de Dados........................................................................................................................................................................... 14

2.9 Palavras Reservadas do C.......................................................................................................................15 2.10 Estrutura de um programa bsico em C ..............................................................................................162.10.1 Comentrios .............................................................................................................................................................................. 16

2.11 Conhecendo o Dev-C++.......................................................................................................................18 Exerccios Propostos I.................................................................................................................................18

Captulo 3 - Comandos de Seleo....................................................................................................243.1 Introduo ..............................................................................................................................................242

Linguagem de programao - C

3.2 IFELSE (SESENO).....................................................................................................................24 3.3 SWITCH (Escolha)................................................................................................................................26 Exerccios Propostos II ...............................................................................................................................28

Captulo 4 - Comandos de Repetio................................................................................................ 314.1 Introduo ..............................................................................................................................................31 4.2 FOR (PARA) ..........................................................................................................................................31 4.3 WHILE (ENQUANTO teste no incio) .............................................................................................32 4.4 DO...WHILE (Faa...enquanto - teste no final) ...................................................................................33 4.5 Comandos Desestruturadores................................................................................................................35 Exerccios Propostos III..............................................................................................................................35

Captulo 5 Vetores e Registros .......................................................................................................405.1 Vetores - Tipos de Dados Estruturados ................................................................................................40 5.2 Registros.................................................................................................................................................42 5.3 Vetor de Registros ..................................................................................................................................43 Exerccios Propostos IV ..............................................................................................................................44

Captulo 6 Modularizao ..............................................................................................................486.1 Introduo ..............................................................................................................................................48 6.2 Declarando uma funo .........................................................................................................................48 6.3 Variveis Locais .....................................................................................................................................49 6.4 Chamando Funes ...............................................................................................................................49 6.5 Comando return .....................................................................................................................................49 6.6 Argumentos ............................................................................................................................................50 Exerccios Propostos V................................................................................................................................51

Captulo 7 Manipulao de Caracteres ..........................................................................................527.1 Funes de manipulao de cadeia de caracteres: biblioteca string.h .................................................52 7.2 Funes de converso de caractere: biblioteca ctype.h ........................................................................53 7.3 Funes de converso: biblioteca stdlib.h ............................................................................................533

Linguagem de programao - C

7.4 Funes de teste para caracteres: Biblioteca ctype.h ............................................................................55 7.5 Validao de Campo ..............................................................................................................................56 Exerccios Propostos VI ..............................................................................................................................58

Captulo 8 Comandos de tela .........................................................................................................598.1 Comandos Bsicos de Tela ....................................................................................................................59

Captulo 9 Arquivo..........................................................................................................................649.1 Alocao Dinmica - Ponteiros ..............................................................................................................64 9.2 Arquivos .................................................................................................................................................669.2.1 Declarao de um Arquivo...................................................................................................................................................... 66 9.2.2 Abrindo e Fechando um Arquivo.......................................................................................................................................... 66 9.2.3 Ler e Gravar Informao no Arquivo ................................................................................................................................... 68 9.2.4 Acesso Randmico.................................................................................................................................................................... 68

Exerccios Propostos VII.............................................................................................................................73

Captulo 10 Extras...........................................................................................................................7410.1 Tabela ASCII ........................................................................................................................................74 10.2 Acentos .................................................................................................................................................75 10.3 Molduras...............................................................................................................................................77 10.4 Bibliteca time.h.....................................................................................................................................79

Captulo 11 Boas Prticas de Programao....................................................................................8011.1 Qualidades de um Programa ................................................................................................................80 11.2 Formas de Melhoria da Eficincia de um Programa............................................................................81

4

Captulo 1- Introduo ao C1.1 Linguagens de ProgramaoUm programa de computador um conjunto instrues que representam um algoritmo para a resoluo de algum problema. Estas instrues so escritas atravs de um conjunto de cdigos (smbolos e palavras). Este conjunto de cdigos possui regras de estruturao lgica e sinttica prpria. Dizemos que este conjunto de smbolos e regras formam uma linguagem de programao.

1.2 Linguagens de baixo e alto nvelPodemos dividir, genericamente, as linguagens de programao em dois grandes grupos: as linguagens de baixo nvel e as de alto nvel: Linguagens de baixo nvel: So linguagens voltadas para a mquina, isto , so escritas usando as instrues do microprocessador do computador. So genericamente chamadas de linguagens Assembly. Vantagens: Programas so executados com maior velocidade de processamento. Os programas ocupam menos espao na memria. Desvantagens: Em geral, programas em Assembly tm pouca portabilidade, isto , um cdigo gerado para um tipo de processador no serve para outro. Cdigos Assembly no so estruturados, tornando a programao mais difcil. Linguagens de alto nvel: So linguagens voltadas para o ser humano. Em geral utilizam sintaxe estruturada tornando seu cdigo mais legvel. Necessitam de compiladores ou interpretadores para gerar instrues do microprocessador. Interpretadores fazem a interpretao de cada instruo do programa fonte executando-a dentro de um ambiente de programao, Basic e AutoLISP, por exemplo. Compiladores fazem a traduo de todas as instrues do programa fonte gerando um programa executvel. Estes programas executveis (*.exe) podem ser executados fora dos ambientes de programao, C e Pascal por exemplo. As linguagens de alto nvel podem se distinguir quanto a sua aplicao em genricas como C, Pascal e Basic ou especficas como Fortran (clculo matemtico), GPSS (simulao), LISP (inteligncia artificial)

Linguagem de programao - C

ou CLIPPER (banco de dados). Vantagens: Por serem compiladas ou interpretadas, tem maior portabilidade podendo ser executados em varias plataformas com pouqussimas modificaes. Em geral, a programao torna-se mais fcil por causa do maior ou menor grau de estruturao de suas linguagens. Desvantagens: Em geral, as rotinas geradas (em linguagem de maquina) so mais genricas e portanto mais complexas e por isso so mais lentas e ocupam mais memria.

1.3 Histrico do CDesenvolvida nos laboratrios Bell na dcada de 70, a partir da Linguagem B (criada no final dos anos 60 por Ken Thompson), que foi reformulada por Brian Kernighan e Dennis M. Ritchie e posteriormente renomeada para C. Podendo ser considerada uma linguagem de mdio nvel, pois possui instrues que a tornam ora uma linguagem de alto nvel e estruturada como o Pascal, se assim se fizer necessrio, ora uma linguagem de baixo nvel pois possui instrues to prximas da mquina, que s o Assembler possui. De fato com a linguagem C podemos construir programas organizados e concisos (como o Pascal), ocupando pouco espao de memria com alta velocidade de execuo (como o Assembler). Infelizmente, dada toda a flexibilidade da linguagem, tambm poderemos escrever programas desorganizados e difceis de serem compreendidos (como usualmente so os programas em BASIC). Devemos lembrar que a linguagem C foi desenvolvida a partir da necessidade de se escrever programas que utilizassem recursos prprios da linguagem de mquina de uma forma mais simples e portvel que o Assembler. Existem inmeras razes para a escolha da linguagem C como a predileta para os desenvolvedores profissionais. As caractersticas da Linguagem C serviro para mostrar o porqu de sua ampla utilizao. Caractersticas da Linguagem C: Portabilidade entre mquinas e sistemas operacionais. Dados compostos em forma estruturada. Programas estruturados. Total interao com o sistema operacional. Cdigo compacto e rpido, quando comparado ao cdigo de outras linguagens.

6

Captulo 2 - Tcnicas Bsica de Programao2.1 Tipos de dados primitivosDados so representados pelas informaes a serem tratadas (processadas) por um computador. Inteiro: toda e qualquer informao numrica que pertena ao conjunto dos nmeros inteiros relativos (negativa, nula ou positiva). Tipo short int long Tamanho 16 bits 32 bits 64 bits Valores -32.768 a +32.767 -2.147.483.648 a + 2.147.483.647 -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807

Real: Toda e qualquer informao numrica que pertena ao conjunto de nmeros reais (negativa, positiva ou nula). Tipo float double Tamanho 32 bits 64 bits Valores 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308

Caractere (char): Toda e qualquer informao composta por um caractere alfa numrico (a, b, c,...z, A, B, C,...Z, 0...9) e /ou especiais (ex; #?@!