Olá e bem-vindo à aula de programação C para iniciantes.
Meu nome é Jason Fitton e serei seu instrutor.
Quero agradecê-lo por ter se inscrito neste curso.
Será muito divertido e farei o possível para motivá-lo e ajudá-lo a aprender tudo sobre a linguagem
de programação C.
Vamos começar.
Primeiro, quero falar um pouco sobre mim.
Tenho mestrado em ciência da computação pela Binghamton University e também sou bacharel
em ciência da computação pela SUNY Oswego.
Recebi meu mestrado em 2001.
Sou desenvolvedor de software há mais de 16 anos.
Sou instrutor on-line há mais de 11 anos.
Já ministrei mais de 20 aulas diferentes, desde programação orientada a objetos até teoria
de compiladores.
Tenho uma vasta experiência com programação e ciência da computação em geral.
Trabalho com a linguagem de programação C há mais de 16 anos.
Basicamente, assim que consegui meu primeiro emprego, comecei a escrever código C.
Também criei aulas de C para iniciantes e C avançado em várias universidades, portanto, tenho uma boa
experiência com currículo e apresentação de conceitos de C para os alunos.
Sou desenvolvedor de software na Xerox Corporation há cerca de 10 a 12 anos.
Enquanto trabalhei aqui, escrevi principalmente código C e também um pouco de código C plus plus.
Executamos todo o nosso repositório de código-fonte na plataforma Linux e escrevemos código em tempo real.
Concentro-me principalmente em linguagens orientadas a objetos e programação móvel.
É isso que eu adoro fazer.
Então, coisas como C, Plus e Java, mas a linguagem C é realmente a minha especialidade.
Também me concentro em escrever códigos de alta qualidade.
Esse é um conceito vital e importante que enfatizarei ao longo do curso.
Quero que vocês se concentrem em escrever um bom código, não apenas em escrever um código que funcione,
mas em escrever um bom código que ajude a facilitar a manutenção do programa.
Portanto, alguns dos tópicos que abordaremos na aula incluem o seguinte.
E, a propósito, quando abordarmos esses tópicos, forneceremos.
Vou fornecer o material da palestra.
Vou oferecer exercícios práticos.
Vou fornecer avaliações.
Vou orientá-lo sobre o código e os conceitos de programação enquanto o edito em um ambiente de desenvolvimento integrado.
Portanto, será muito prático.
Primeiro, falaremos sobre C em geral, dando a você uma pequena visão geral dele.
Vou lhe dizer como a linguagem de programação C é muito eficiente.
Ele também é portátil.
Você pode escrevê-lo em várias plataformas.
Ele tem muito poder e flexibilidade, além de ser voltado para programadores.
Também apresento a você um breve histórico do C, apenas para dar um pouco de contexto.
Em seguida, descreveremos alguns dos recursos comuns da linguagem C.
C é uma linguagem imperativa.
Esse é o tipo mais moderno de linguagem.
Ele é organizado por funções.
Ela tem design de módulo, é uma linguagem de programação estruturada.
E você também pode ter um planejamento de cima para baixo quando estiver escrevendo seu código.
As vantagens do uso do C se concentrarão no fato de que o C é excelente para programas pequenos e rápidos.
É muito confiável, muito fácil de aprender e muito fácil de entender.
Se você aprender um programa em C com um colega ou desenvolvedor, poderá segui-lo
rapidamente.
Usaremos um ambiente de desenvolvimento integrado moderno e multiplataforma.
Vamos editar o código.
Também usaremos o IDE para depurar nosso código, o que é muito importante.
Portanto, isso será apresentado como um dos conceitos.
Eu o guiarei pelo ambiente e mostrarei como usar a ferramenta.
Primeiramente, vamos começar com conceitos básicos.
Vou descrever a você como é um programa em C e dar um exemplo.
Vou lhe mostrar a estrutura de um programa básico em C.
Falaremos sobre como você pode fornecer comentários em seu código e também sobre a saída básica usando a função printf.
Veremos um exemplo do Hello World e também faremos com que você escreva seu primeiro programa em C.
Em seguida, falaremos sobre os makefiles.
Não entraremos em muitos detalhes sobre os makefiles, mas quero falar sobre eles para ajudá-lo a entender
como você pode usar essa ferramenta para criar e compilar seu código.
Vamos falar sobre o conceito de programação mais básico que existe, que é a criação e o uso
de variáveis.
Variáveis é a ideia de associar memória, dados e memória para seu programa com um nome.
E você criará muitas variáveis e muitas declarações diferentes em seu código.
Falaremos sobre tipos de dados, o que inclui os tipos de dados float, double e char.
E, mais adiante na aula, falaremos sobre tipos de dados mais avançados, como enums, e sobre como fornecer
seus próprios tipos de dados usando a palavra-chave typedef.
Fornecerei informações sobre os operadores básicos.
São coisas como fazer adição ou subtração, operadores matemáticos.
Ele também inclui operadores lógicos como and ou, or.
Isso seria uma espécie de declaração de decisão.
Falaremos sobre como você pode atribuir dados a uma variável usando um operador de atribuição.
Tomar decisões em seu código.
Conceito de programação muito importante.
Vamos falar sobre isso.
Essas são chamadas de declarações condicionais.
Essas são palavras-chave como if e switch.
Forneceremos exemplos e analisaremos as várias construções.
Em seguida, fale sobre a repetição de código.
Principalmente o looping, as grandes construções de looping em C são for while e do while.
Eles são todos iguais.
Eles têm apenas uma sintaxe um pouco diferente.
Vamos falar sobre como você pode armazenar dados e categorizá-los de duas formas diferentes usando matrizes.
Portanto, discutiremos como você pode definir matrizes de inicialização e, em seguida, matrizes multidimensionais,
que é uma espécie de conceito de planilha de matriz.
Funções.
As funções são um dos maiores e mais importantes conceitos relacionados à linguagem de programação C.
Nem tudo deve ser usado e organizado em torno de uma função.
Isso é chamado de programação de tipo de módulo.
Você aprenderá como declarar uma função, como usá-la, como passar dados para ela e como retornar
dados dela.
Também falaremos sobre conceitos mais avançados, como chamada por valor e chamada por referência.
A depuração é um conceito vital e essencial para todos os programadores.
É essa ideia de encontrar e corrigir seus erros.
Discutiremos a pilha de chamadas, que pode mostrar se o seu programa falhou onde ele falhou.
Conceito muito importante.
Apresentarei os erros comuns que muitos programadores em C cometem para que, se você os encontrar,
saiba como corrigi-los.
E, em seguida, o compilador verificará seu código para garantir que ele esteja sintaticamente correto.
E, se não for, ele exibirá mensagens de erro ou avisos.
Você precisa entender o que o compilador está lhe dizendo.
Portanto, falaremos sobre as mensagens do compilador e como entendê-las.
Vamos falar sobre structs.
Você aprenderá tudo sobre structs, que são semelhantes a matrizes e armazenam dados.
É uma estrutura de dados.
Discutiremos como você pode inicializar structs, como existe esse conceito de estruturas aninhadas.
Para aqueles que estão familiarizados com objetos, ele pode ser relacionado a
isso, mas não é tão robusto quanto as cadeias de caracteres, que são essencialmente uma cadeia de caracteres alfanuméricos em C entre
aspas duplas.
Esse é um dos tipos de dados básicos, mas é considerado uma matriz e, portanto, tem um conceito um pouco
diferente.
Vamos passar por isso.
Vamos falar sobre algumas das operações que você pode realizar em strings e assim por diante.
Indicadores.
Os ponteiros provavelmente serão nosso conceito mais importante em todo o curso.
Portanto, vamos dedicar muito tempo a isso.
Os ponteiros são esse conceito e você verá onde precisa gerenciar sua própria memória.
Pode ser um conceito não familiar para você se programar em outros idiomas, pois isso geralmente é feito
para você.
Especificamente, se você programar Java ou C sharp, não precisará se preocupar com ponteiros.
Em C, você precisa se preocupar em gerenciar sua própria memória.
Portanto, os ponteiros são muito importantes.
Vou explicar como você pode definir e usar ponteiros, como pode usá-los com funções
e matrizes, como pode chamar diferentes chamadas da biblioteca padrão para criar memória e também como pode desreferenciar ponteiros.
É um conceito importante, como eu disse, e vamos dedicar muito tempo a isso.
Vou apresentar vários exemplos, vários cenários do mundo real, para que os ponteiros fiquem realmente
gravados em seu cérebro, pois não é possível usar a linguagem de programação C sem entender completamente os ponteiros.
Vamos dedicar muito tempo a isso.
O pré-processador que aprenderemos aqui é uma etapa que ocorre antes do compilador.
Especificamente, são diretivas que você precisa entender, como definir e incluir.
Vamos analisar isso.
Vamos analisar a entrada e a saída, como é possível ler e gravar dados no console.
Já falamos sobre printf.
Vamos nos aprofundar um pouco mais nisso usando o formato getchar e scanf, especificadores e coisas
do gênero.
Também falaremos sobre como você pode ler e gravar dados em um arquivo.
Esse é outro tipo de conceito importante quando se está escrevendo código, pois é uma forma de armazenar dados.
Há muitas operações de arquivo diferentes em C, e discutiremos algumas delas.
C é uma linguagem de nível muito baixo e pode fazer muitas coisas de forma eficiente e rápida, e a gravação e a leitura
de arquivos estão nesse nível baixo.
Você pode interagir com o sistema operacional de forma muito, muito agradável.
Há uma biblioteca C padrão que vem com a linguagem de programação C, na qual há muitas funções
diferentes que você pode utilizar.
Há funções de string, funções de manipulação de string, funções matemáticas e funções utilitárias.
Vamos examinar todas essas funções básicas que você pode usar para ajudá-lo a escrever código de forma mais
eficiente, assim como diferentes bibliotecas e outras linguagens.
O C fornecerá alguns dos conceitos básicos novamente, para que você possa escrever e ler arquivos manipulando strings.
Se você quiser obter o cosseno e a tangente para funções matemáticas, tudo isso será fornecido pela linguagem.
Vamos aprender sobre isso.
E esses são os principais tópicos que abordaremos, os tópicos iniciais.
Ainda não entraremos em nenhum tópico avançado, mas abordaremos os fundamentos básicos.
Portanto, ao final deste curso, você deverá ser capaz de escrever programas em C para iniciantes, entender os aspectos
fundamentais da linguagem C e saber como fornecer entrada e saída.
Faça um arquivo para aprofundar o conceito de ponteiros, etc.
Ao longo deste curso, você também se concentrará em escrever um código de alta qualidade e eficiente.
Isso é muito, muito importante.
Novamente, isso afeta as fases de manutenção do ciclo de vida do software.
Portanto, se você quiser encontrar e corrigir seus erros, será muito mais fácil fazer isso se tiver um código de alta qualidade.
Portanto, à medida que analisarmos os exemplos e aprendermos esses conceitos, aprenderemos como fazer isso da maneira
correta.
Aprenderemos a modularizar as coisas de modo que elas sejam agrupadas em funções.
Vamos nos certificar de que, em nossos diferentes arquivos, tenhamos poucas dependências e pouco acoplamento, para que
eles não afetem uns aos outros.
Quando há muitas dependências em seu código, você pode.
É muito mais fácil encontrar e corrigir seus bugs.
E se você quiser adicionar novas funções ou adicionar novo código a um programa, será muito mais fácil fazer isso se ele for modularizado,
se tiver uma função organizada.
Portanto, vamos nos concentrar nesse conceito de escrever código de alta qualidade.
Não vamos apenas fazer com que as coisas funcionem, vamos fazer isso da maneira correta.
Ao final do curso, você será capaz de encontrar e corrigir seus próprios erros.
Uma parte essencial para se tornar um bom programador é a solução de problemas.
Vamos nos concentrar em técnicas de solução de problemas, em como depurar seu código e em como você pode se tornar um solucionador
de problemas eficiente.
Isso inclui a compreensão das mensagens do compilador.
Ele entende como executar um depurador, como usar a pilha de chamadas, todas essas coisas legais.
A solução de problemas será abordada em todas as aulas.
Você entenderá os aspectos fundamentais dos tópicos da linguagem de programação C que mencionei
anteriormente.
Este será um material básico em C.
Por fim, você vai se divertir.
Farei o possível para motivá-lo.
Terei exemplos divertidos e empolgantes.
Não quero que você durma durante as aulas ou exercícios, por isso vou deixá-los animados
e farei o possível para motivá-lo e ajudá-lo durante o curso.
Portanto, estou ansioso por isso.
Estou muito animado e espero que todos estejam prontos para aprender muito sobre a linguagem de programação C.
Obrigado.