segunda-feira, 17 de outubro de 2011

Apostila sobre Linguagem C/C++

Print Friendly and PDF
Apostila sobre as linguagens de programação C e C++ com 154 pags, bem elaborada pela UNIPAN e utilizada como material de apoio no ensino da linguagem C/C++ do depto de Engenharia Elétrica da UnESP.




SUMÁRIO

UNIDADE 1 – CONSIDERAÇÕES INICIAIS SOBRE A LINGUAGEM C _______________1
1.1 AS ORIGENS DO C/C++ _________________________________________________1
1.2 COMPILADORES E INTERPRETADORES ___________________________________2
1.3 WARNINGS E ERROS ___________________________________________________3
1.4 A LINGUAGEM C/C++ É CASE-SENSITIVE __________________________________3
1.5 FUNÇÕES EM C________________________________________________________3
1.5.1 FUNÇÕES COM ARGUMENTOS _________________________________________4
1.5.2 FUNÇÕES QUE RETORNAM VALORES ___________________________________5
1.5.3 A FORMA GERAL DE UMA FUNÇÃO______________________________________6
1.6 PALAVRAS RESERVADAS DA LINGUAGEM C _______________________________6
UNIDADE 2 – TIPOS DE DADOS, CONSTANTES, OPERADORES E EXPRESSÕES ____7
2.1 NOMES DE IDENTIFICADORES ___________________________________________7
2.2 TIPOS DE DADOS ______________________________________________________7
2.2.1 MODIFICADORES DE TIPOS ____________________________________________8
2.3 DEFINIÇÃO DE VARIÁVEIS_______________________________________________9
2.4 DEFINIÇÃO DE CONSTANTES ____________________________________________9
2.4.1 CONSTANTES HEXADECIMAIS E OCTAIS________________________________10
2.4.2 CONSTANTES STRING _______________________________________________11
2.4.3 CÓDIGOS DE BARRA INVERTIDA_______________________________________11
2.5 OPERADORES ________________________________________________________11
2.5.1 OPERADOR DE ATRIBUIÇÃO __________________________________________12
2.5.2 OPERADORES ARITMÉTICOS__________________________________________12
2.5.3 OPERADORES RELACIONAIS__________________________________________12
2.5.4 OPERADORES LÓGICOS______________________________________________12
2.5.5 MANIPULAÇÃO DE BITS ______________________________________________13
2.5.6 OPERADORES DE ASSINALAMENTO____________________________________13
2.5.7 OPERADORES DE PRÉ E PÓS-INCREMENTO ____________________________14
2.5.8 OPERADORES DE ENDEREÇO_________________________________________14
2.6 TABELA DE OPERADORES DO C ________________________________________14
2.7 EXPRESSÕES ________________________________________________________15
2.7.1 CONVERSÕES DE TIPOS EM EXPRESSÕES _____________________________15
2.7.2 MODELADORES (CASTS) _____________________________________________16
2.7.3 ESPAÇAMENTO E PARÊNTESES _______________________________________16
2.8 ESQUELETO DE UM PROGRAMA EM C ___________________________________17
UNIDADE 3 – ESTRUTURAS BÁSICAS DE PROGRAMAÇÃO (FLUXO DE CONTROLE)18
3.1 COMANDOS E BLOCOS ________________________________________________18
3.2 PRINTF( ) ____________________________________________________________18
3.3 SCANF( ) _____________________________________________________________20
3.4 A DECLARAÇÃO if _____________________________________________________23
3.4.1 USANDO A DECLARAÇÃO else _________________________________________24
3.4.2 O ENCADEAMENTO if-else-if ___________________________________________25
3.4.3 A EXPRESSÃO CONDICIONAL _________________________________________26
3.4.4 ifs ANINHADOS ______________________________________________________27
3.5 A DECLARAÇÃO switch _________________________________________________28
3.5.1 A DECLARAÇÃO break ________________________________________________29
3.5.2 DECLARAÇÕES switch ANINHADAS _____________________________________30
3.6 LAÇOS DE REPETIÇÃO_________________________________________________33
3.7 O LAÇO for ___________________________________________________________33
3.7.1 VARIÁVEIS DO LAÇO for ______________________________________________35
3.7.2 O LAÇO INFINITO ____________________________________________________37
3.7.3 A INTERRUPÇÃO DE UM LAÇO for ______________________________________37
3.7.4 USANDO LAÇOS for SEM CONTEÚDO ___________________________________38
3.8 O LAÇO while _________________________________________________________38
3.9 O LAÇO do-while_______________________________________________________40
3.10 LAÇOS ANINHADOS __________________________________________________41
3.11 QUEBRANDO UM LAÇO _______________________________________________43
3.12 A DECLARAÇÃO CONTINUE____________________________________________44
3.13 RÓTULOS E goto _____________________________________________________45
UNIDADE 4 – VETORES, MATRIZES E STRINGS _______________________________47
4.1 INTRODUÇÃO ________________________________________________________47
4.2 DECLARAÇÃO DE VETORES UNIDIMENSIONAIS ___________________________47
4.3 CADEIAS DE CARACTERES (STRINGS) ___________________________________49
4.4 DECLARAÇÃO DE VETORES MULTIDIMENSIONAIS (MATRIZES) ______________51
4.5 VETORES DE CADEIAS DE CARACTERES _________________________________52
4.6 INICIALIZAÇÃO DE VETORES ___________________________________________53
4.7 LIMITES DE VETORES E SUA REPRESENTAÇÃO EM MEMÓRIA_______________54
UNIDADE 5 – APONTADORES (PONTEIROS)__________________________________56
5.1 PONTEIROS SÃO ENDEREÇOS__________________________________________56
5.2 VARIÁVEIS PONTEIRO _________________________________________________57
5.3 OS OPERADORES DE PONTEIROS_______________________________________57
5.4 IMPORTÂNCIA DO TIPO BASE ___________________________________________59
5.5 EXPRESSÕES COM PONTEIROS ________________________________________59
5.5.1 ATRIBUIÇÃO DE PONTEIROS __________________________________________59
5.5.2 ARITMÉTICA COM PONTEIROS ________________________________________60
5.5.3 COMPARAÇÃO COM PONTEIROS ______________________________________61
5.6 PONTEIROS E MATRIZES_______________________________________________61
5.6.1 INDEXANDO UM PONTEIRO ___________________________________________63
5.6.2 PONTEIROS E STRINGS ______________________________________________63
5.6.3 OBTENDO O ENDEREÇO DE UM ELEMENTO DA MATRIZ___________________64
5.6.4 MATRIZES DE PONTEIROS ____________________________________________64
5.6.5 PROGRAMA EXEMPLO: TRADUTOR INGLÊS-PORTUGUÊS _________________65
5.7 PONTEIROS PARA PONTEIROS _________________________________________69
5.8 INICIALIZANDO PONTEIROS ____________________________________________70
5.9 PROBLEMAS COM PONTEIROS__________________________________________72
UNIDADE 6 – TIPOS DE DADOS DEFINIDOS PELO USUÁRIO ____________________74
6.1 ESTRUTURAS ________________________________________________________74
6.1.1 REFERENCIANDO OS CAMPOS DA ESTRUTURA__________________________75
6.1.2 MATRIZES DE ESTRUTURAS __________________________________________75
6.1.3 ATRIBUINDO ESTRUTURAS ___________________________________________76
6.1.4 PASSANDO ESTRUTURAS PARA FUNÇÕES______________________________76
6.1.5 PONTEIROS PARA ESTRUTURAS ______________________________________78
6.1.6 MATRIZES E ESTRUTURAS DENTRO DE ESTRUTURAS ____________________81
6.2 UNIÕES______________________________________________________________82
6.3 ENUMERAÇÕES ______________________________________________________83
6.4 typedef_______________________________________________________________86
UNIDADE 7 – ESTUDO DETALHADO DE FUNÇÕES ____________________________87
7.1 FORMA GERAL DE UMA FUNÇÃO ________________________________________87
7.2 A DECLARAÇÃO return _________________________________________________87
7.2.1 RETORNANDO DE UMA FUNÇÃO_______________________________________88
7.2.2 RETORNANDO UM VALOR ____________________________________________88
7.3 FUNÇÕES RETORNANDO VALORES NÃO-INTEIROS ________________________90
7.3.1 FUNÇÕES QUE RETORNAM PONTEIROS ________________________________92
7.3.2 FUNÇÕES DO TIPO void_______________________________________________93
7.4 REGRAS DE ESCOPO DE FUNÇÕES _____________________________________93
7.4.1 VARIÁVEIS LOCAIS __________________________________________________94
7.4.2 PARÂMETROS FORMAIS______________________________________________96
7.4.3 VARIÁVEIS GLOBAIS _________________________________________________96
7.5 ARGUMENTOS E PARÂMETROS DE FUNÇÕES_____________________________98
7.5.1 CHAMADA POR VALOR, CHAMADA POR REFERÊNCIA_____________________98
7.5.2 CRIANDO UMA CHAMADA POR REFERÊNCIA ____________________________99
7.5.3 CHAMANDO FUNÇÕES COM MATRIZES ________________________________100
7.5.4 OS ARGUMENTOS argc, argv PARA A FUNÇÃO main( ): ____________________103
7. 6 FUNÇÕES RECURSIVAS ______________________________________________104
UNIDADE 8 – ARQUIVOS _________________________________________________107
8.1 INTRODUÇÃO _______________________________________________________107
8.2 O PONTEIRO DE ARQUIVO ____________________________________________107
8.3 ABRINDO UM ARQUIVO _______________________________________________108
8.4 ESCREVENDO UM CARACTERE NUM ARQUIVO___________________________110
8.5 LENDO UM CARACTERE DE UM ARQUIVO _______________________________110
8.6 USANDO A FUNÇÃO feof( ) _____________________________________________110
8.7 FECHANDO UM ARQUIVO _____________________________________________111
8.8 ferror() E rewind() _____________________________________________________111
8.9 USANDO  fopen( ), getc( ), putc( ) E fclose( ) ________________________________112
8.10 fgets( ) E fputs( ) _____________________________________________________113
8.11 fread( ) E fwrite( ): ____________________________________________________113
8.12 ACESSO RANDÔMICO A ARQUIVOS: fseek( )_____________________________116
8.13 fprintf( ) E fscanf( )____________________________________________________116
8.14 APAGANDO ARQUIVOS: remove( )______________________________________118
8.15 PROGRAMA EXEMPLO: MANIPULAÇÃO DE ARQUIVOS____________________119
UNIDADE 9 – INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++_126
9.1 INTRODUÇÃO _______________________________________________________126
9.1.1 OBJETOS__________________________________________________________126
9.1.2 POLIMORFISMO ____________________________________________________127
9.1.3 HERANÇA _________________________________________________________127
9.2 CONSIDERAÇÕES FUNDAMENTAIS SOBRE O C++ ________________________127
9.3 COMPILANDO UM PROGRAMA C++ _____________________________________128
9.4 INTRODUÇÃO A CLASSES E OBJETOS __________________________________128
9.5 SOBRECARGA DE FUNÇÕES___________________________________________132
9.6 SOBRECARGA DE OPERADOR _________________________________________134
9.7 HERANÇA___________________________________________________________134
9.8 CONSTRUTORES E DESTRUTORES_____________________________________138
9.9 FUNÇÕES FRIEND____________________________________________________140
9.10 A PALAVRA RESERVADA this__________________________________________144
9.11 SOBRECARGA DE OPERADOR – MAIORES DETALHES ____________________145





Nenhum comentário:

Postar um comentário

LinkWithin

Related Posts Plugin for WordPress, Blogger...