diff --git a/README.org b/README.org index 335f74c..d2ade39 100644 --- a/README.org +++ b/README.org @@ -18,6 +18,7 @@ qualquer distribuição. ** Anotações e vídeos -- [[./aulas/00-intro/README.org][Aula 0: Sobre o curso]] ([[https://youtu.be/RZmfuuABTHY][vídeo]]) -- [[./aulas/01-historia/README.org][Aula 1: História]] ([[https://youtu.be/wqJQL5W9FIw][vídeo]]) +- 10.03.2025 [[./aulas/00-intro/README.org][Aula 0: Sobre o curso]] ([[https://youtu.be/RZmfuuABTHY][vídeo]]) +- 12.03.2025 [[./aulas/01-historia/README.org][Aula 1: História]] ([[https://youtu.be/wqJQL5W9FIw][vídeo]]) +- 14.03.2025 [[./aulas/02-dados-e-instrucoes/README.org][Aula 2: Dados e instruções]] ([[https://youtu.be/2KsvRJjshQ0][vídeo]]) diff --git a/aulas/02-dados-e-instrucoes/README.org b/aulas/02-dados-e-instrucoes/README.org new file mode 100644 index 0000000..794f7d1 --- /dev/null +++ b/aulas/02-dados-e-instrucoes/README.org @@ -0,0 +1,108 @@ +#+title: Curso Básico da Linguagem C +#+subtitle: Aula 2: Dados e instruções +#+author: Blau Araujo +#+startup: show2levels +#+options: toc:3 + +* Aula 2: Dados e instruções + +[[https://youtu.be/2KsvRJjshQ0][Vídeo desta aula]] + +Programas podem ser entendidos como formas de manipular dados através de +instruções para realizar tarefas. + +** Instruções: + +- Declarações de variáveis e funções +- Atribuições e alterações de variáveis +- Chamadas de funções +- Retorno de funções, etc... + +#+begin_quote +Toda instrução simples é terminada com =;=. +#+end_quote + +** Dados: + +- Constantes simbólicas +- Expressões constantes +- Operações lógicas e aritméticas +- Valores retornados por funções +- Endereços de memória, etc... + +#+begin_quote +Tudo que expressa um valor é chamado de /expressão/. +#+end_quote + +** Exemplo (=x10.c=): + +#+begin_src c +#include + +int main(void) { + int num; + + num = 5; + + printf("%d x 10 = %d\n", num, num * 10); + return 0; +} +#+end_src + +*** O que temos aqui: + +- =int num;= → Declaração da variável =num=. +- =num = 5;= → Atribuição de um valor à variável =num=. +- =printf(...);= → Chamada da função =printf=. +- ="%d x 10 = %d\n"= → Primeiro argumento da função =printf=. +- =num= → Acesso ao dado na variável =num=. +- =num * 10= → Dado na variável =num= vezes =10=. + +** Outro exemplo (=xconst.c=): + +#+begin_src c +#include + +#define MULT 10 // Multiplicador. + +int main(void) { + int num = 5; + + printf("%d x 10 = %d\n", num, num * MULT); + return 0; +} +#+end_src + +*** O que há de novo: + +- =#define MULT 10= → Definição da constante simbólica =MULT=. +- =int num = 5;= → Inicialização da variável =num= na própria declaração. +- =num * MULT= → Dado em =num= vezes a expansão de =MULT=. + +#+begin_quote +O valor de =MULT= será expandido no pré-processamento! +#+end_quote + +** Mais um exemplo (=quadrado.c=): + +#+begin_src c +#include + +int quadrado(int base) { + return base * base; +} + +int main(void) { + int num = 5; + + printf("%d^2 = %d\n", num, quadrado(num)); + return 0; +} +#+end_src + +*** O que há de novo desta vez: + +- =int quadrado(int base)...= → Definição da função =quadrado=. +- =return base * base= → Retorno da função =quadrado=. +- =quadrado(num);= → Chamada da função =quadrado=. + diff --git a/aulas/02-dados-e-instrucoes/quadrado.c b/aulas/02-dados-e-instrucoes/quadrado.c new file mode 100644 index 0000000..d832fd9 --- /dev/null +++ b/aulas/02-dados-e-instrucoes/quadrado.c @@ -0,0 +1,12 @@ +#include + +int quadrado(int base) { + return base * base; +} + +int main(void) { + int num = 5; + + printf("%d^2 = %d\n", num, quadrado(num)); + return 0; +} diff --git a/aulas/02-dados-e-instrucoes/x10.c b/aulas/02-dados-e-instrucoes/x10.c new file mode 100644 index 0000000..b5443fa --- /dev/null +++ b/aulas/02-dados-e-instrucoes/x10.c @@ -0,0 +1,10 @@ +#include + +int main(void) { + int num; + + num = 5; + + printf("%d x 10 = %d\n", num, num * 10); + return 0; +} diff --git a/aulas/02-dados-e-instrucoes/xconst.c b/aulas/02-dados-e-instrucoes/xconst.c new file mode 100644 index 0000000..dbbec3e --- /dev/null +++ b/aulas/02-dados-e-instrucoes/xconst.c @@ -0,0 +1,10 @@ +#include + +#define MULT 10 // Multiplicador. + +int main(void) { + int num = 5; + + printf("%d x 10 = %d\n", num, num * MULT); + return 0; +}