
Length11h
About this audiobook
Saia do mais absoluto básico, até o nível profissional em linguagem C. Esse material tem o propósito de ser o maior, melhor e mais completo, não deixando nada a desejar a cursos, universidades e outros livros do mercado. Seu propósito é te ensinar todos os conceitos da linguagem C, até o nível profissional caso deseje trabalhar na área, mas de uma maneira bem progressiva, passo a passo, bem simples e fácil de entender. Usaremos textos, códigos, exercícios, questões resolvidas, criação de jogos e muito mais. Este livro será o melhor e mais barato investimento de sua vida. Basta abrir o livro, ligar seu computador e começar a programar do zero. Você vai aprender: - Introdução - Testes condicionais - Laços e loopings - Funções - Vetores - Ponteiros - Strings - Structs - Alocação dinâmica de memória - Estrutura de dados - Arquivos
Audiobook details
GenreScience and Nature, Technology
Length11 hrs
Narrated byListen with 1,000+ voices
FormateBook with Audio
Publish dateMay 28, 2024
LanguagePortuguese
Table of contents
1Introduction
226Código completo do Jogo da Velha em C
2Sobre o livro C Progressivo
227Lógica do Jogo da Velha em C
3Como começar a programar
228As funções do Jogo da Velha em C
4Básico
229Ponteiros
5O necessário para programar em C
230Introdução ao uso dos ponteiros - Endereços de memória
Show all chaptersShow less
6Ferramentas Necessárias para programar em C
231O que são ponteiros em C ?
7Que programa escolher para programar em C
232Como saber o endereço de memória de uma variável: &
8Dev-C++: desatualizado e com muitos erros
233Exemplo de código: Vendo o valor e endereço de uma variável
9Microsoft Visual Studio: bom, poderoso e pago
234A função sizeof() e os blocos vizinhos de memória
10Code::Blocks: gratuito, leve, open source e cross plataform
235Quando cada variável ocupa em memória: A função sizeof()
11Porque usaremos o Code::Blocks no curso de Programação C
236Exemplo de código: Como saber quantos bytes cada variável ocupa em memória
12Como começar a programar em C: baixando o necessário para a Apostila C Progressivo
237Exemplo: Mostrar o endereço e número de bytes que cada variável ocupa
13Criando e compilando seu primeiro programa na Linguagem C: Como criar e compilar um programa em linguagem C
238Endereço de um bloco de variáveis
14Código comentado do nosso primeiro programa em C
239Exemplo de código: Mostrando as posições dos blocos de variáveis
15Como criar seu primeiro programa em C
240Como declarar, inicializar e usar ponteiros em C - A constante NULL
16Hello world em C
241Como declarar ponteiros em C
17O que é e para que serve #include <stdio.h>
242Ponteiros e Vetores em C
18O que é e para que serve int main(void) { }
243Exemplo de código em C
19O que é e para que serve printf("Meu primeiro programa - C Progressivo!\n");
244Como inicializar um ponteiro em C – A constante NULL
20\n: New line, adicionando uma linha em branco
245Exemplo de código: Como usar ponteiros
21A função printf() e alguns caracteres especiais
246Variáveis apontadas - A Passagem por Referência em C
22Caracteres Especiais
247Obtendo o valor apontado pelo ponteiro: *
23Por que o C não exibe esses caracteres?
248Exemplo de código: Mostrando o valor das variáveis apontadas por ponteiros
24Como exibir o caractere \
249O que é e como fazer a Passagem por referência em C
25Sinais sonoros e outros caracteres especiais
250Exemplo de código: Passagem por referência em C
26Carriage return: \r
251Exemplo de código: Trocar o valor de dois números em C
27Tabulação horizontal (TAB): \t
252Operações Matemáticas com Ponteiros em C
28Sons: \7 e \a
253Incremento, Decremento e Comparando ponteiros em C
29Como comentar seus códigos em C - Comentários e Delimitadores
254Exemplo de código: Calcular os termos de uma P.A usando Ponteiros em C
30Comentando códigos em C - Usando //
255Strings
31Como usar os delimitadores /* */ em linguagem de programação C
256Introdução as strings
32Use comentários com moderação
257O que são Strings em linguagem C
33O tipo de dado inteiro (int) na Linguagem C
258O caractere especial delimitador de strings: \0
34Como declarar variáveis inteiras na linguagem C
259Como declarar e inicializar Strings em C
35Como imprimir um número inteiro na tela, usando a linguagem C
260Como inicializar strings em C
36Como inicializar variáveis inteiras na linguagem C
261Lendo e Escrevendo Strings em C
37Modificadores do tipo inteiro - short, long, signed e unsigned
262Strings em C: %s
38O tamanho que cada variável em C pode ocupar em memória
263Como ler strings com a função scanf()
39Tendo um maior controle sobre o tamanho dos inteiros - short e long
264Exemplo: Programa que pede o nome e sobrenome em C
40Controlando a faixa de valores dos inteiros através do sinal: signed e unsigned
265Como receber strings do usuário com a função gets()
41Quando usar short, long, signed e unsigned
266Como exibir strings com a função puts() e printf()
42Quando usar o short int em C
267Exemplo de código: Programa em C que pede os dados cadastrais completos
43Quando usar o long int em C
268Problemas com a gets() - A função fgets()
44Quando usar unsigned int em C
269Que função usar para ler strings, então?
45Exercício:
270Como criar uma biblioteca em C
46Os tipos float e double - números decimais (ou reais) em C
271Por que criar uma biblioteca / header (.h) em C?
47O que são e para que servem os tipos float e double
272Como criar uma biblioteca / header (.h) em C
48Como declarar e inicializar variáveis do tipo float e double na linguagem C
273A biblioteca string.h e suas funções
49Qual a diferença entre float e double
274A biblioteca string.h e suas funções: quais existem, para quê servem e como usá-las
50Imprimindo números reais float e double na tela através do printf
275Funções de exame de strings:
51Como imprimir números na forma exponencial em C
276strlen: size_t strlen( const char *str );
52O tipo char
277strcmp: int strcmp( const char *lhs, const char *rhs );
53Como declarar o tipo char em C
278strncmp: int strncmp( const char *lhs, const char *rhs, size_t count );
54Como inicializar variáveis char em C
279strchr: char *strchr( const char *str, int ch );
55Como imprimir caracteres e textos na tela
280strrchr: char *strrchr( const char *str, int ch );
56A tabela ASCII em C
281strspn: size_t strspn( const char *dest, const char *src );
57A função scanf - recebendo números do usuário
282strcspn: size_t strcspn( const char *dest, const char *src );
58Recebendo números inteiros com a função scanf
283strpbrk: char* strpbrk( const char* dest, const char* str );
59Exemplo de código- Como usar a função scanf()
284strstr: char *strstr( const char* str, const char* substr );
60Recebendo mais de um número dentro de uma única scanf
285Funções de manipulação de strings
61Recebendo números reais ou decimais com a função scanf
286strcpy: char *strcpy( char *dest, const char *src );
62Recebendo letras do usuário - As funções scanf, getchar, fgetc e getc
287strncpy: char *strncpy( char *dest, const char *src, size_t count );
63Recebendo caracteres em C através da função scanf()
288strcat: char *strcat( char *dest, const char *src );
64Recebendo caracteres em C através da função getchar()
289strncat: char *strncat( char *dest, const char *src, size_t count );
65Recebendo caracteres em C através das funçoes fgetc e getc
290memset: void* memset( void* dest, int ch, size_t count );
66Buffer: o que é, como limpar e as funções fflush e __fpurge
291memcpy: void* memcpy( void* dest, const void* src, size_t count );
67O problema de usar scanf, getchar, getc e fgetc para receber caracteres em C
292memcmp: int memcmp( const void* lhs, const void* rhs, size_t count );
68Limpando o buffer em C: fflush e __fpurge
293memchr: void* memchr( const void* ptr, int ch, size_t count );
69Operações matemáticas em C - Soma, subtração, multiplicação, divisão e módulo (ou resto da divisão) e precedência dos operadores
294Como implementar as funções da biblioteca string.h
70Símbolos matemáticos em C
295Exercícios resolvidos sobre strings em C
71O que é módulo ou operador resto da divisão
296int strlen(char *str) - Calcule quantos caracteres uma string possui
72Precedência dos operadores matemáticos em C
297char *strcpy(char *dest, char *orig) - Copie a string orig para a string dest
73Usando parênteses para evitar confusão com a precedência
298char *memcpy(char *dest, char *orig, int n) - Copia os 'n' primeiros termos da string orig para a dest
74Atalhos com símbolos matemáticos em C: += , -=, *=, /= e %=
299int *memcmp(char *str1, char *str2, int n) - Diz se os 'n' primeiros termos de uma string é maior, menor ou igual aos 'n' primeiros termos da outra string
75Fazendo contas com o valor antigo da variável
300Exercícios sobre Strings
76Atalhos matemáticos: += , -= , *= , /= e %=
301Structs
77+=
302O que são, para que servem e onde são usadas as Structs
78-=
303Para que serve uma struct em C
79*=
304O que é uma struct em C
80/=
305Onde as structs em C são usadas
81%=
306Como declarar uma struct em C
82Sistema binário e Valores lógicos true ou false
307Como declarar uma struct em C
83Computadores e o sistema binário
308O tipo struct
84Valores lógicos: true ou false, 1 ou 0
309Como acessar, alterar e ler os elementos de uma struct em C
85Exemplo prático dos valores lógicos em computação
310Como escrever e ler elementos de uma struct em C
86Operadores Lógicos E (&&), OU (||) e de Negação (!)
311Exemplo: Como declarar, preencher e acessar elementos de uma struct em C
87Operador lógico 'E' em linguagem C: &&
312typedef: Como 'declarar' seus próprios tipos
88Operador lógico 'OU' em linguagem C: ||
313O que é typedef
89Operador lógico de negação em linguagem C: !
314Como declarar tipos com typedef
90Exercícios básicos sobre a linguagem C
315Como usar typedef para structs
91Testes condicionais e controle de fluxo em C
316Exemplo: Como declarar, preencher e acessar elementos de uma struct em C
92O teste condicional IF ELSE
317Como enviar uma struct para uma função
93O que é, para que serve e como usar o teste condicional IF em C
318Como passar uma struct por argumento para uma função em C
94Exemplo de código: Condição sempre verdadeira
319Exemplo de código C: Passando uma struct para função
95Exemplo de condição: Condição sempre falsa
320Passando structs por referência para funções - O operador ->
96O que é, para que serve e como usar o ELSE em C
321Como alterar uma struct em uma função
97Exemplo de código: rodando o ELSE
322O operador ->
98Exercício de C:
323Exemplo: Alterando e exibindo structs através de funções em C
99Fazendo testes e comparações - operador de igualdade (==), maior (>), menor (<), maior igual (>=), menor igual (<=), de diferença (!=) e de módulo, ou resto da divisão (%)
324Exercícios sobre structs em Linguagem C
100Testar e comparar, testar e comparar...a essência da programação
325Alocação dinâmica de memória
101O operador de igualdade em C: ==
326O que é e para que serve a Alocação Dinâmica de memória em C
102Exemplo de código:
327A alocação estática e seus problemas
103O operador maior que em C: >
328Quanto de memória devo usar?
104O operador menor que em C: <
329O que é alocação dinâmica de memória em linguagem C
105O operador maior igual a em C: >=
330Onde a alocação dinâmica é usada
106Exemplo de código:
331A função malloc - Como alocar memória na linguagem C
107O operador menor igual a em C: <=
332Como usar a função malloc da stdlib.h
108Exemplo de código:
333Dica: usar sizeof()
109O operador diferente de em C: !=
334Exercício: Calculando a média de qualquer quantidade de números com malloc()
110Exemplo de código:
335A função free() - Liberar e evitar vazamento de memória: Memory leak (vazamento de memória) em linguagem C
111O operador módulo ou resto da divisão em C: %
336free(): A função que libera memória
112Exemplo de código:
337A importância do bom gerenciamento de memória
113Erro comum de iniciantes em programação C
338Alocação de memória, free() e segurança
114Exercícios sobre operadores de comparação em C:
339Exercício resolvido: Usando malloc() e free()
115Questões sobre IF e ELSE: Exercícios sobre IF e ELSE em C
340A função realloc(): realocando memória dinamicamente e a calloc()
116Operadores de Incremento (++) e Decremento (--) - Diferença entre a=b++ e a=++b
341Problemas com a malloc()
117Contando em linguagem C
342A função realloc(): O que é, para que serve e como usar
118Somando e Subtraindo variáveis em C
343Memória não alocada
119Diferença entre os operadores entre a=++b e a=b++
344Exemplo de código: Como usar a função realloc() em C
120O que é e como usar o laço WHILE em C
345A função calloc()
121Repetir e repetir: o que são e para que servem os laços em C
346Diferença entre calloc() e malloc()
122O laço while: definição e sintaxe
347Exercícios propostos com calloc() e realloc()
123Exemplo comentado de código:
348Estruturas de dados dinâmicas
124Programa em C que conta de 1 até 10 usando o laço while
349Listas, Filas, Pilhas e Árvores
125Exemplo comentado de código:
350O que é Estrutura Dinâmica de Dados em Linguagem C
126Crie um aplicativo em C que peça ao usuário o primeiro elemento de uma P.A, a razão da P.A e o número de elementos a serem exibidos.
351O que é uma Lista em C (Lists)
127Exemplo comentado de código:
352Filas em C (Queue)
128Questões sobre o laço WHILE em C: Exercícios sobre o laço WHILE
353Pilhas em C (Stack)
129Questões resolvidas sobre laço WHILE em C
354Árvores em C (Tree)
130O laço FOR: o que é, para que serve e como usar o FOR - Cast em C: o que é e como usar o Casting
355Conceitos básicos de uma estrutura dinâmica de dados
131O que é o laço FOR
356Listas em C - O que é e como funciona uma List
132A sintaxe do laço FOR: como usar o for
357Lista encadeada - O nó
133Exemplo: Contando de 1 até 10 com o laço FOR
358Conectando os nós de uma lista
134Exemplo:
359Inserindo nó ao final da lista
135Contagem regressiva de 10 até 1, usando o laço FOR
360Conectando nós no início da lista
136Exemplo: Contagem progressiva e regressiva no mesmo laço FOR
361Inserindo um nó no meio da lista
137Exemplo:
362Excluindo um nó da lista
138Exemplo:
363Lista simplesmente encadeada com cabeça em C: Inserindo nós no início e no fim
139Questões sobre o laço FOR: Exercícios sobre o laço FOR
364Tipos de Listas em C
140Soluções das questões sobre o laço FOR
365Lista encadeada com cabeça
141Os comandos CONTINUE e BREAK: pausando e alterando o fluxo de laços e testes condicionais
366Como inserir um nó no início da lista
142O comando BREAK em C: como usar
367Como inserir um nó ao final da lista
143Exemplo de código comentando em C
368Como exibir os elementos de uma lista
144Exemplo de código comentado em C
369Liberando a memória armazenada para uma lista
145O comando CONTINUE em C: como usar
370Código em C de uma lista encadeada
146O teste condicional SWITCH
371Considerações sobre listas em C
147SWITCH em C: o que é e como usar o comando
372Exercícios sobre listas
148Exemplo de código:
373Lista simplesmente encadeada: Retirando nós no início e no fim
149O switch sem o break
374Retirando nós da uma lista em C
150Exemplo:
375Retirando um nó do início da lista
151O que é o laço DO WHILE
376Como excluir um elemento ao final da lista
152Para que serve o laço DO WHILE em C
377Código C da uma Lista encadeada
153Como declarar e usar o laço DO WHILE em C
378Exercício de C
154Exemplo de uso do laço DO WHILE: Criando um MENU
379Lista simplesmente encadeada: Inserindo e retirando nós de qualquer posição
155Exercício de C:
380Como criar uma lista completa em C
156Criando uma calculadora em C
381Alterações em nossa lista
157Como criar uma calculadora em C
382Como inserir nós em qualquer posição da lista
158A lógica de uma calculadora na linguagem C
383Como retirar estruturas de uma lista
159Exercícios sobre testes condicionais e laços
384Código completo de uma Lista em C
160Soluções
385Pilhas (Stack) em C - O Que é e Como Implementar
161Funções em C
386Pilha em C - O Que É e Para Que Serve
162O que são funções, para que servem e como usá-las em C
387Como Programar Uma Pilha em C
163O que é uma função em linguagem C
388Struct e Cabeçalhos de Funções
164Para que serve uma função em C?
389Função main()
165Como declarar funções em C
390Função menu() e opcao()
166Exemplo de código:
391Função inicia()
167Criando um menu usando funções em C
392Função vazia()
168Exemplo de código em C
393Função aloca()
169Argumentos e Parâmetros de funções em C - Funções aninhadas
394Função libera()
170O que são e como usar parâmetros e argumentos em C
395Função exibe()
171 Exemplo de código
396Função push()
172Funções aninhadas - Invocando uma função dentro de outra função
397Função pop()
173O comando return - obtendo resultados das funções
398Código Completo De Uma Pilha em C: Considerações sobre a Estrutura de Dados Dinâmica Pilha
174O que é e como usar o comando return em C
399Filas em C - Como Programar
175Exemplo de código C
400Filas em C - Tutorial de Queue
176Exemplo de código
401Filas em C - Como Programar a Estrutura de Dados
177Variáveis Locais - Protótipo de uma função em C
402Função main(), opcao() e menu()
178Variáveis Locais em C
403Função aloca() e inicia()
179Como alterar o valor de uma variável passada como argumento
404Função vazia()
180Protótipos de uma função em C: o que é e como declarar
405Função insere()
181Gerando números aleatórios em C: rand, srand e seed
406Função retira()
182Números aleatórios em C
407Função exibe()
183A função rand() - Gerando números aleatórios
408Função libera()
184Alimentando a rand() com a srand() : seed
409Fila em C - Código Fonte Completo
185Escolhendo uma faixa de números aleatórios em C
410Arquivos
186Como criar um Jogo em linguagem C
411Arquivos (Files) em C
187Jogo em C: Adivinhe o número que o computador sorteou
412Dados temporários x Dados permanentes
188Como criar um jogo simples em C
413Arquivos em C - O que são e para que servem
189Recursão
414Comandando um Sistema Operacional através do uso de Arquivos
190Recursividade em C
415Operações com arquivos: Modos de abertura (FILE e fopen), fechamento (EOF, fclose e fcloseall), modo texto e binário
191Exemplo de código usando Recursão
416O que são arquivos
192Exemplo de código usando recursão em C
417Modo texto e binário
193Exercícios sobre funções em C
418Como abrir um arquivo: A função fopen() e o ponteiro FILE
194Soluções: Programa que calculas raízes de equação do segundo grau, até as complexas, em C
419Nome de um arquivo
195Vetores
420Modos de abertura: read (r), write (w) e append(a)
196O que são vetores, como declarar e quando usar
421read(r) - Leitura de arquivo
197O que é um vetor em C... E para quê serve?
422r
198Como declarar um vetor em C
423r+
199A contagem dos índices começa sempre do 0
424rb
200Como usar acessar os elementos de um vetor em C
425write(w) - Escrita em arquivo
201Inicializando vetores – Vetor de caracteres e Lixo
426w
202Inicializando vetores
427w+
203O que é o Lixo, em linguagem C
428wb
204Não use números, use constantes: const e #define
429append(a) - Escrevendo ao final do arquivo (anexando)
205Por que se deve evitar usar números em programação C
430a
206Definindo e usando constantes em C
431a+
207Vetores multidimensionais (Matrizes) em C: vetor de vetores
432ab
208Vetores multidimensionais, ou Matrizes: o que são e para quê servem
433EOF (end of file), final do arquivo - Fechando arquivos com fclose() e fcloseall()
209Como declarar e trabalhar com Matrizes em C
434Erros em abertura de arquivos
210Exemplo de código C: Criar e exibir uma matriz 3x3
435Escrevendo em arquivos - As funções fputc(), fprintf() e fputs()
211Exemplo 2: Como calcular o traço de uma matriz em C
436Arquivos padrões - Standard stdin, stdout e stderr
212Como passar vetores, ou arrays, e Matrizes (vetores multidimensionais) para funções em C
437fputc() - Como escrever um caractere em um arquivo
213Como passar um vetor parar uma função em C
438Exemplo de código - Escrevendo um caractere em um arquivo
214Como passar matrizes (vetores multidimensionais) para funções
439Exemplo de código - Adicionando caractere com o modo "a" (append)
215Exemplo de código: Como preencher, exibir uma matriz e seu traço, passando a matriz para uma função em C
440fprintf() - Escrevendo textos (strings) em arquivos
216Passagem por Referência - Como copiar vetor e matriz em C
441Exemplo de código - Armazenando notas, calculando a média e escrevendo no arquivo
217Vetor e Matriz: Passagem por referência
442Exercício sobre escrita de dados em C
218O que é uma referência, em linguagem C?
443Lendo arquivos em C: As funções fgetc, fscanf e fgets
219Como copiar vetores e matrizes em C
444fgetc() - Como ler caracteres de um arquivo
220Exemplo de código: Como copiar uma matriz em linguagem C
445Exemplo de código C - Programa que lê o conteúdo de um arquivo, caractere por caractere
221Exercícios sobre Vetores e Matrizes em C: Exercícios sobre vetores (arrays) e Matriz em C
446Exercício resolvido - Contando o número de linhas de um arquivo
222Jogo da Velha em C
447fscanf() - Lendo uma entrada formatada
223O Famoso Jogo da Velha
448Exemplo de código - Como usar a fscanf
224Como jogar o Jogo da Velha
449Exemplo de código - Nomes, notas e média
225Recomendações
450fgets() - Capturando linha