Aprendendo o básico de C

Vocês estão bem? hoje eu vou ensinar o básico de C! vamos lá então, C é uma linguagem de programação procedural compilada criada na década de 70 por Dennis Ritchie, a linguagem foi criada para reescrever o Unix que estava escrito em B, hoje em dia C é usada no kernel Linux, em interpretadores de linguagens com Python. Lua e Ruby, por traz do Windows, programas como GIMP, interfaces gráficas como Gnome, XFCE e LXDE. Sobre os compiladores vai dá sua preferencia, tem vários como o GNU/GCC que é dá GNU, LLVM Clang que é criado sobre o LLVM que é uma infraestrutura de compiladores que Rust, Zig e Swift usam em seus compiladores, tem o MSVC que é da Microsoft com foco em C++ mas funciona de boa. C tem vários sistemas de compilação, como o GNU/Make, CMake, Meson, Ninja e XMake ou se pode criar um script em Python ou Shell para fazer a build do seu programa em C.
Vamos fazer nosso primeiro “Hello World!”, crie um arquivo chamado main.c que é usado como pontapé de um programa C, recomendo que sabia outra linguagem de programação ou o básico de ciencia da computação e lógica de programação.

#include <stdio.h>
int main() {
  printf("Hello World!\n");
  return 0;
}

Esse código mostra “Hello World!” no console, a linha #include <stdio.h> é uma diretiva de inclusão, ele inclui um header de I/O. int main()... função main é o pontapé de uma aplicação, printf("Hello World!\n"); imprime na tela Hello World de forma formatada por isso do F no final, F de Format, return 0 indica que o programa terminou com sucesso.
Você pode compilar com o gcc main.c, esse comando gera um arquivo chamado a.out você deve executa-lo com o ./a.out. Agora vamos aprender sobre variáveis.

#include <stdio.h>
int main() {
    int age = 15;
    char gender = 'm';
    float height = 1.89f;
    const float pi = 3.14;
    return 0;
}

Esse código declara três variáveis e uma constante, a sintaxe de declaração é simples é o tipo, depois o nome após o valor.

#include <stdio.h>
int main() {
    int x, y;
    x = 0;
    y = 1;
    return 0;
}

As variáveis podem ser declaradas mas podem ser atribuídas depois, para evitar falhas de segmentação atribua sempre ela.

#include <stdio.h>
int main() {
    int age = 14;
    char gender = 'F';
    printf("%d\n", age);
    printf("%c\n", letter);
    return 0;
}

Para escreve uma variável na tela em C você deve usar no local quer um formatador como o %d que serve para inteiros, %c para uma letra.

#include <stdio.h>
int main() {
    int number = 14;
    if(number % 2 == 0) {
        printf("Even!\n");
    } else {
        printf("Odd!\n");
    }
    return 0;
}

Os condicionais em C são similares da linguagem Java, JavaScript, C#, etc, esse código verifica se um número é par ou impar.

#include <stdio.h>

int main() {
    int number = 10;

    if (number % 3 == 0 || number % 5 == 0) {
        printf("FizzBuzz\n");
    } else if (number % 3 == 0) {
        printf("Fizz\n");
    } else if (number % 5 == 0) { 
        printf("Buzz\n");
    } else {
        printf("%d", number);
    }
    return 0;
}

Esse é o FizzBuzz um exercício clássico da programação em C, os operadores lógicos de C são iguais a de várias linguagem, como C++, Java, etc.

#include <stdio.h>
int main() {
    int day = 5;
    switch(day) {
        case 1:
            printf("Sunday\n");
            break;
        case 2:
            printf("Monday\n");
            break;
        case 3:
            printf("Tuesday\n");
            break;
        case 4:
            printf("Wednesday\n");
            break;
        case 5:
            printf("Thursday\n");
            break;
        case 6:
            printf("Friday\n");
            break;
        case 7:
            printf("Saturday\n");
            break;
        default:
            printf("Invalid number!\n");
    }
    return 0;
}

Esse é um exemplo de Switch, Switch são muito útil durante um códigos que tem vários condicionais aninhados.

#include <stdio.h>
#include <unistd.h>
int main() {
    int i = 0;
    while(i < 10) {
        sleep(1);
        printf("%d\n", i);
        i++;
    }
    return 0;
}

Esse é um contator progressivo que vai de 0 á 10, a biblioteca unistd é usada na função sleep para dar uma pausa de um segundo.

#include <stdio.h>
int main() {
    int i = 0;
    do {
        if (i % 2 == 1) {
            printf("Even\n");
        } else {
            printf("Odd\n");
        }
        i++;
    } while (i < 20);
    return 0;
}

Esse código é o do while, ele verifica o intervalo de 0 á 20 se é par ou impar, o do while executara pelo menos uma vez a condição.

#include <stdio.h>
int main() {
    for (int i = 0; i < 100; i++) {
        printf("%d\n", i);
    }
    return 0;
}

Esse é um loop for, o loop for deve ser usada para iterar uma lista, não é recomendado usar em contextos comuns.

#include <stdio.h>
int main() {
    int matrix[] = {10, 15, 14, 14, 90, 34, 10};
    printf("Firts Element: %d\nSecond Element: %d\n", matrix[0], matrix[1]);
    return 0;
}

Array são muito importantes, agora vamos aprender a iterar um Array.

#include <stdio.h>
#include <stdlib.h>
int main() {
    int matrix[] = {10, 15, 14, 14, 90, 34, 10};
    int size = sizeof(matrix) / sizeof(matrix[0]);
    for (int i = 0; i < size; i++) {
        printf("%d\n", matrix[i]);
    }
    return 0;
}

Esse código itera o Array, esse é o jeito mais tradicional em C de iterar em um array, incluímos a biblioteca stdlib para ter acesso sizeof que é uma função para saber o tamanho de um conteúdo, tipo ou variável.

#include <stdio.h>
int main() {
    const char* name = "Gatóli";
    printf("Hi %s!", name);
    return 0;
}

Para declarar uma string você deve usar essa sintaxe, evite de mudar um string e use sempre uma string como uma constante, para imprimir uma string use %s como formatador.
Agora vamos fazer um exercício simples, vai pedir dois números na tela e vai somar

#include <stdio.h>
int main() {
    int x, y, sum;
    printf("X-> ");
    scanf("%d", &x);
    printf("Y-> ");
    scanf("%d", &y);
    sum = x + y;
    printf("%d + %d = %d", x, y, sum);
    return 0;
}

Esse é um exemplo simples de código, mas vamos implantar um sistema simples de erro, quando alguém digita algo que não seja texto o programa pare.

#include <stdio.h>
int main() {
    int x, y, sum;
    printf("X-> ");
    if (scanf("%d", &x) != 1) {
        perror("Enter a Number!\n");
        return -1;
    }
    printf("Y-> ");
    if (scanf("%d", &y) != 1) {
        perror("Enter a Number!\n");
        return -1;
    }
    sum = x + y;
    printf("%d + %d = %d", x, y, sum);
    return 0;
}

Esse código adiciona o tratamento de erros, na maioria das funções se ter dado tudo certo ela retorna 1 senão ele pode retornar 0, -1 ou qualquer outro número.

#include <math.h>
#include <stdio.h>

float my_tan(float angle) {
    return sin(angle) / cos(angle);
}

float to_rad(float angle) {
    return angle * 3.14 / 180 
}

int main() {
    printf("%f\n", my_tan(to_rad(45)));
}

Esse é um exemplo de tipo de função em C que retorna a tangente de um número que é seno do ângulo divido pelo cosseno do número e converte para radianos.

#include <stdio.h>

void hi(const char* name) {
    printf("Hi %s!\n", name);
}


int main() {
    hi("Ana");
}

Uma simples função sem retorno, uma função sem retorno pode ser útil em casos.

Esse foi um simples tutorial de C, trouxe o básico da linguagem, não abordei assuntos avançados como ponteiros e tipos de dados abstratos, mas se interessou pela linguagem você pode achar bastante conteúdo na internet.

Espero que tenham gostado do meu mini guia de C!

3 curtidas