Tipos Primitivos

Em C, os tipos de dados primitivos são os blocos de construção básicos para armazenar informações. Os mais comuns são:

  • int: Números inteiros.
  • float: Números com casas decimais (precisão simples).
  • double: Números com casas decimais (maior precisão).
  • char: Um único caractere.
  • void: Representa "nenhum tipo".

Declaração e Inicialização de Variáveis

Antes de usar uma variável, é necessário declará-la com tipo e nome. Inicialização é atribuir valor a ela.

Exemplo:


                                                         
#include <stdio.h>

int main() {
    int idade;
    float salario;
    char inicial;
    double pi_valor;

    idade = 30;
    salario = 2500.75f;
    inicial = 'J';
    pi_valor = 3.1415926535;

    int ano = 2024;
    float altura = 1.75f;

    printf("Idade: %d\n", idade);
    printf("Salario: %.2f\n", salario);
    printf("Inicial: %c\n", inicial);
    printf("PI: %lf\n", pi_valor);
    printf("Ano: %d\n", ano);
    printf("Altura: %.2f\n", altura);

    return 0;
}
                                

Constantes em Programação

Define

O #define é uma diretiva do pré-processador que substitui um nome por um valor em todo o código antes da compilação.

Sintaxe: #define NOME_DA_CONSTANTE valor

                                                         
#include <stdio.h>

#define PI 3.14159
#define IDADE_MINIMA 18

int main() {
    float raio = 5.0;
    float area = PI * raio * raio;
    
    printf("Área do círculo: %.2f\n", area);
    printf("Idade mínima: %d\n", IDADE_MINIMA);
    
    return 0;
}
                                

Const

A palavra-chave const cria uma variável cujo valor não pode ser modificado após sua inicialização.

Sintaxe: const tipo nome_da_constante = valor;

                                                         
#include <stdio.h>
int main() {
    const float PI = 3.14159;
    const int IDADE_MINIMA = 18;
    
    float raio = 5.0;
    float area = PI * raio * raio;
    
    printf("Área do círculo: %.2f\n", area);
    printf("Idade mínima: %d\n", IDADE_MINIMA);
    
    // PI = 3.14; // Isso causaria um erro de compilação
    return 0;
}

                                

Quando usar cada uma?

  • Use #define para valores simples que não mudam e não precisam de tipo específico
  • Use const quando precisar de verificação de tipo ou quando a constante for mais complexa

Regras de Nomenclatura

  • Deve começar com letra ou underscore.
  • Não pode ser palavra reservada.
  • É case-sensitive: idadeIdade.
  • Use nomes descritivos: precoProduto.
  • Convenções: snake_case, camelCase, PASCALCASE, etc.

Atividades Resolvidas

Desafio: Declare duas variáveis, some e imprima o resultado.


#include <stdio.h>

int main() {
    int numero1 = 15;
    int numero2 = 27;
    int soma = numero1 + numero2;

    printf("Soma: %d\n", soma);
    return 0;
}
                                        

Desafio: Converta Celsius para Fahrenheit.


#include <stdio.h>

#define FATOR_CONVERSAO (9.0f/5.0f)
#define PONTO_CONGELAMENTO 32.0f

int main() {
    float celsius = 25.5f;
    float fahrenheit = (celsius * FATOR_CONVERSAO) + PONTO_CONGELAMENTO;

    printf("%.1f C = %.1f F\n", celsius, fahrenheit);
    return 0;
}
                                        

Exercícios

Exercício 1: Crie um programa que declare variáveis para armazenar seu nome, sua idade, e sua altura em metros. Utilize as variáveis apropriadas e imprima os valores.


               
#include <stdio.h>
int main() {
    char inicial = 'L';
    int idade = 20;
    float altura = 1.75f;

    printf("Inicial do nome: %c\n", inicial);
    printf("Idade: %d anos\n", idade);
    printf("Altura: %.2f metros\n", altura);

    return 0;
}
 

Exercício 2: Declare duas variáveis para armazenar duas notas. Calcule a média aritmética dessas notas e mostre o resultado.


                
#include <stdio.h>
int main() {
    float nota1 = 7.5f;
    float nota2 = 8.2f;
    float media = (nota1 + nota2) / 2;

    printf("Nota 1: %.1f\n", nota1);
    printf("Nota 2: %.1f\n", nota2);
    printf("Média: %.2f\n", media);

    return 0;
}
 
Próximo