mirror of
https://gitlab.com/blau_araujo/cblc.git
synced 2025-05-09 10:16:35 -03:00
tópicos estudados pela turma 1
This commit is contained in:
parent
60d0d0a598
commit
61786342d4
1 changed files with 235 additions and 0 deletions
235
contents.org
Normal file
235
contents.org
Normal file
|
@ -0,0 +1,235 @@
|
|||
* Tópicos estudados
|
||||
|
||||
** Aula 0: Sobre o curso
|
||||
|
||||
- Do que vamos precisar...
|
||||
- Requisitos...
|
||||
- O que vamos aprender...
|
||||
- Como vamos aprender...
|
||||
- Aulas divididas em 3 estágios:
|
||||
- Repositório do curso:
|
||||
- Por que aprender...
|
||||
- Como clonar o repositório do curso...
|
||||
- Importante!
|
||||
- Como atualizar o repositório do curso...
|
||||
|
||||
** Aula 1: História
|
||||
|
||||
- Resumo do vídeo...
|
||||
- Conceitos abordados na aula...
|
||||
- O que é um programa de computador?
|
||||
- O que é linguagem de máquina?
|
||||
- O que é uma linguagem de programação?
|
||||
- O que são linguagens de baixo e alto nível?
|
||||
- O que é compilação?
|
||||
- O que são implementações?
|
||||
- O que são arquiteturas orientadas a palavras?
|
||||
- O que são arquiteturas orientadas a bytes?
|
||||
- Características da linguagem C...
|
||||
- Implementação GNU/Linux...
|
||||
- Compilador:
|
||||
- Biblioteca C Padrão:
|
||||
- Obter a especificação padrão do gcc...
|
||||
- Compilação...
|
||||
- Etapas:
|
||||
- Exemplo de um programa em C...
|
||||
- Compilação:
|
||||
- Execução:
|
||||
|
||||
** Aula 2: Dados e instruções
|
||||
|
||||
- Instruções
|
||||
- Dados
|
||||
- Exemplo (=x10.c=)
|
||||
- O que temos aqui:
|
||||
- Outro exemplo (=x10const.c=)
|
||||
- O que há de novo:
|
||||
- Mais um exemplo (=quadrado.c=)
|
||||
- O que há de novo desta vez:
|
||||
- Dúvidas
|
||||
- Para que serve a função =main=?
|
||||
- Qual é o significado de =void=?
|
||||
- Por que o tipo do retorno de =main= é =int=?
|
||||
- A função =main= poderia retornar outros tipos de dados?
|
||||
- A função =main= poderia retornar uma string?
|
||||
- Por que o cabeçalho =stdio.h= foi incluído no programa?
|
||||
|
||||
** Aula 3: Tipos de dados
|
||||
|
||||
- Exemplo da última aula (=quadrado.c=)
|
||||
- Tipos são tamanhos de dados na memória
|
||||
- Maior número que se pode escrever com 4 bytes (32bits):
|
||||
- O que aconteceu?
|
||||
- Exemplo corrigido (=quadrado-long.c=)
|
||||
- Tipos primitivos
|
||||
- Qualificador =unsigned= (sem sinal):
|
||||
- Qualificador =long=:
|
||||
- Tipos customizados
|
||||
- Exemplos:
|
||||
- Expressões constantes (valores literais)
|
||||
- O tipo =void=
|
||||
- Funções sem valor de retorno:
|
||||
- Funções que não recebem argumentos:
|
||||
- Ponteiros de dados de tipo indeterminado:
|
||||
- Modelagem de tipos (type casting)
|
||||
|
||||
** Aula 4: Variáveis e ponteiros
|
||||
|
||||
- Declaração e definição
|
||||
- Por que isso aconteceu?
|
||||
- Como evitar esse erro?
|
||||
- Atributos das variáveis
|
||||
- Escopo de variáveis
|
||||
- Ponteiros
|
||||
- Declaração do ponteiro
|
||||
- Perguntas da aula
|
||||
- A cada execução do programa, os endereços das variáveis mudam?
|
||||
- O ponto da declaração de uma variável global faz diferença?
|
||||
|
||||
** Aula 5: Estruturas de controle de fluxo
|
||||
|
||||
- Controle de fluxo
|
||||
- O loop =for=
|
||||
- Sintaxe
|
||||
- Exemplo do vídeo
|
||||
- Loop =while=
|
||||
- Sintaxe
|
||||
- Exemplo do vídeo
|
||||
- Loop =do..while=
|
||||
- Sintaxe
|
||||
- Exemplo do vídeo
|
||||
- Estrutura de decisão =if..else if..else=
|
||||
- Sintaxe
|
||||
- Exemplo do vídeo
|
||||
- Dica: =else if= abreviado
|
||||
- Estrutura =switch..case=
|
||||
- Sintaxe
|
||||
- Exemplo do vídeo
|
||||
- Bônus: expressão condicional (ternária)
|
||||
|
||||
** Aula 6: Vetores
|
||||
|
||||
- Utilidade dos vetores
|
||||
- Declaração e inicialização de vetores
|
||||
- Tamanho de um vetor em tempo de compilação
|
||||
- Inicialização parcial
|
||||
- Acesso aos elementos de um vetor
|
||||
- Iteração pelos elementos
|
||||
- Vetores e funções
|
||||
- Relação entre vetores e ponteiros
|
||||
- Vetores de caracteres (strings)
|
||||
- Mais diferenças entre vetores e ponteiros
|
||||
|
||||
** Aula 7: Vetores, ponteiros e strings
|
||||
|
||||
- Notações de acesso
|
||||
- Exemplo
|
||||
- Vetores e funções
|
||||
- Strings são vetores de caracteres
|
||||
- Inicializadores escalares e agregados
|
||||
- Vetores de comprimentos variáveis (VLA)
|
||||
|
||||
** Aula 8: Processos e layout de memória
|
||||
|
||||
- Filosofia UNIX
|
||||
- Primeiro princípio: especialização
|
||||
- Segundo princípio: modularidade
|
||||
- Terceiro princípio: fluxos de texto
|
||||
- A interface de linha de comando (CLI)
|
||||
- Operadores de controle do shell
|
||||
- O que são processos
|
||||
- Como programas são executados
|
||||
- Layout de memória
|
||||
- Conteúdo do binário executável
|
||||
- Região do HEAP
|
||||
- Região da pilha (stack)
|
||||
|
||||
** Aula 9: Argumentos e ambiente
|
||||
|
||||
- Vetores e strings
|
||||
- Vetores de "ponteiros"
|
||||
- Vetores de strings
|
||||
- Vetor de strings terminado com NULL
|
||||
- Parâmetros da função =main=
|
||||
- Conversão de strings para números
|
||||
- Exemplo: programa =soma.c=
|
||||
|
||||
** Aula 10: Entrada e saída de dados
|
||||
|
||||
- Tabela de descritores de arquivos
|
||||
- Fluxos de dados padrão
|
||||
- Uma nota sobre dispositivos
|
||||
- Representação em /proc
|
||||
- Um exemplo em C
|
||||
- Redirecionamentos e pipes
|
||||
- Redirecionamentos
|
||||
- Pipes
|
||||
- Acumuladores (buffers)
|
||||
- Buffers de entrada e saída do programa
|
||||
- Buffer de saída do programa
|
||||
- Buffer de entrada do programa
|
||||
- Entrada padrão não bufferizada
|
||||
|
||||
** Aula 11: Leitura da entrada padrão com =scanf=
|
||||
|
||||
- Leitura interativa da entrada padrão
|
||||
- Leitura formatada de linhas com =scanf=
|
||||
- Para reduzir as chances de erro
|
||||
- Descarregando o buffer de entrada
|
||||
- Inicialização de valores numéricos
|
||||
- Buffer overflow
|
||||
|
||||
** Aula 12: Leitura da entrada padrão com =fgets=
|
||||
|
||||
- A função =fgets=
|
||||
- Uma nota sobre o tipo ponteiro para FILE
|
||||
- O problema da quebra de linha
|
||||
- Retorno nulo ambíguo
|
||||
- Conversão para números
|
||||
- Conversão para inteiros com =sscanf=
|
||||
- Conversão para inteiros longos com =strtol=
|
||||
- Outras funções de conversão
|
||||
|
||||
** Aula 13: Leitura da entrada padrão com =read=
|
||||
|
||||
- A função =read=
|
||||
- Conversão para string incluindo o terminador nulo
|
||||
- Quando não converter os bytes lidos em string
|
||||
- O buffer do terminal
|
||||
- Descarga do buffer do terminal
|
||||
- Implementação de =flush_stdin= com a chamada =read=
|
||||
- Descarga condicional do buffer do terminal
|
||||
- Definindo um prompt
|
||||
|
||||
** Aula 14: Abertura de arquivos para leitura
|
||||
|
||||
- Diferença entre streams e descritores de arquivos
|
||||
- Descritores de arquivos (tipo =int=)
|
||||
- Streams (tipo ponteiro para =FILE=)
|
||||
- Procedimento geral de acesso a arquivos para leitura
|
||||
- Abertura
|
||||
- Processamento
|
||||
- Fechamento
|
||||
|
||||
** Aula 15: Abertura de arquivos para escrita
|
||||
|
||||
- Modos de abertura de arquivos
|
||||
- Modos complementares
|
||||
- Modos texto e binário
|
||||
- Modos de escrita
|
||||
- Abertura de um arquivo para escrita ("w")
|
||||
- Abertura de um arquivo para append ("a")
|
||||
- Notas gerais
|
||||
|
||||
** Aula 16: Abertura de arquivos para leitura e escrita
|
||||
|
||||
- Modos de abertura para leitura e escrita
|
||||
- Manipulação do ponteiro interno
|
||||
- A função =fseek=
|
||||
- Pontos de origem de =fseek=
|
||||
- Abertura de arquivos com "r+"
|
||||
- Abertura de arquivos com "a+"
|
||||
- Procedimentos úteis
|
||||
- Quantidade de linhas
|
||||
- Obter o tamanho do arquivo
|
||||
- Testar se um arquivo está vazio (0 bytes)
|
Loading…
Add table
Reference in a new issue