1. Introdução
- Título da Página: Linguagem de Programação C – Aula 3
- Autor: Carlos Fernandes
- E-mail para contato: carlos.fernandes@afogados.ifpe.edu.br
- Objetivo da Aula: Apresentar a estrutura básica de um programa em C, suas palavras reservadas, inserção de comentários, funcionamento do pré-processador, compilador e linker, além dos tipos básicos de dados.
2. Estrutura Básica de um Programa em C
-
Seções de um programa em C:
- Inclusão de bibliotecas (se necessário).
- Declaração de constantes (se necessário).
- Programa principal (
main). - Declaração de variáveis (se necessário).
- Sequência de comandos.
-
Exemplo de código básico em C:
#include <stdio.h>
int main(void) {
int num, c;
printf("Cubo de um número\n\n");
printf("Digite o número: ");
scanf("%d", &num);
c = num * num * num;
printf("\nCubo de %d = %d\n", num, c);
return 0;
}
- Explicação do código:
- Inclusão da biblioteca
stdio.h. - Declaração das variáveis
numec. - Uso de
printf()para exibir mensagens na tela. - Uso de
scanf()para capturar a entrada do usuário. - Cálculo do cubo do número inserido (
num * num * num). - Impressão do resultado.
- Retorno
0para indicar execução bem-sucedida.
- Inclusão da biblioteca
3. Palavras Reservadas em C
- As palavras reservadas são definidas pelo American National Standards Institute (ANSI).
- Exemplos:
auto, break, case, char, const, switch, volatile, continue, default, do, double, else, typedef, while, enum, extern, float, for, goto, union, if, int, long, register, unsigned, return, short, signed, sizeof, static, struct, void - Essas palavras não podem ser usadas como identificadores de variáveis ou funções.
4. Comentários no Código
- Facilitam o entendimento e manutenção do código.
- São ignorados pelo compilador.
- Tipos de Comentários:
- Comentário de Linha:
// Este é um comentário de linha - Comentário de Bloco:
/* Este é um comentário de bloco Ele pode ocupar várias linhas */
- Comentário de Linha:
5. Fundamentos da Compilação em C
-
O ciclo de desenvolvimento em C envolve quatro etapas principais:
- Edição: O programador escreve o código-fonte (.c).
- Pré-processamento: O pré-processador analisa o código e expande diretivas (
#include,#define). - Compilação: O compilador traduz o código C para código objeto.
- Linkagem: O linker conecta o código objeto com bibliotecas necessárias, gerando o executável.
-
Fluxo do Processo de Compilação:
Código-fonte (.c) → Pré-processador → Compilador → Código objeto (.o) → Linker → Executável
6. Tipos Básicos de Dados em C
-
Inteiros:
Tipo Tamanho Faixa de Valores short 16 bits -32.768 a +32.767 int 32 bits -2.147.483.648 a +2.147.483.647 long 64 bits -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807 -
Reais (Ponto Flutuante):
Tipo Tamanho Faixa de Valores float 32 bits 3.4E-38 a 3.4E+38 double 64 bits 1.7E-308 a 1.7E+308 -
Caracteres:
char (8 bits) -
Tipo
void:void // Representa ausência de valor
7. Exercícios de Fixação
-
Perguntas para reforçar o aprendizado:
- Quais são os componentes básicos de um programa em C?
- Qual é o nome da função principal em um programa C?
- Como inserir comentários em um código C?
- Quais são as etapas da compilação de um código C?
- Quais são os tipos básicos de dados em C e seus respectivos tamanhos e faixas de valores?
-
Exemplo prático:
#include <stdio.h> int main() { int num1, num2; printf("Digite dois números inteiros: "); scanf("%d %d", &num1, &num2); if (num1 > num2) { printf("%d é maior que %d\n", num1, num2); } else if (num2 > num1) { printf("%d é maior que %d\n", num2, num1); } else { printf("Os números são iguais\n"); } return 0; }- Objetivo do código: Comparar dois números e exibir qual é o maior.
Código em C com Comentários
#include <stdio.h> // Inclui a biblioteca padrão de entrada e saída, necessária para usar printf() e scanf()
int main() { // Define a função principal do programa, onde a execução começa
int num1, num2; // Declara duas variáveis inteiras para armazenar os números digitados pelo usuário
printf("Digite dois números inteiros: "); // Exibe uma mensagem pedindo ao usuário para inserir dois números
scanf("%d %d", &num1, &num2); // Lê dois números inteiros digitados pelo usuário e armazena em num1 e num2
// Estrutura condicional para comparar os dois números
if (num1 > num2) {
// Se num1 for maior que num2, imprime que num1 é maior
printf("%d é maior que %d\n", num1, num2);
}
else if (num2 > num1) {
// Se num2 for maior que num1, imprime que num2 é maior
printf("%d é maior que %d\n", num2, num1);
}
else {
// Se nenhum dos casos acima for verdadeiro (ou seja, os números são iguais), imprime que são iguais
printf("Os números são iguais\n");
}
return 0; // Retorna 0 para indicar que o programa foi executado com sucesso
}
Explicação Passo a Passo
-
Inclusão da Biblioteca (
#include <stdio.h>)- Necessária para usar funções de entrada e saída, como
printf()escanf().
- Necessária para usar funções de entrada e saída, como
-
Declaração da Função Principal (
int main())- Todo programa em C começa pela função
main().
- Todo programa em C começa pela função
-
Declaração das Variáveis (
int num1, num2;)num1enum2são inteiros usados para armazenar os valores fornecidos pelo usuário.
-
Exibição da Mensagem (
printf("Digite dois números inteiros: ");)- Pede ao usuário para inserir dois números.
-
Leitura dos Números (
scanf("%d %d", &num1, &num2);)- O
scanf()captura dois valores inteiros e os armazena emnum1enum2.
- O
-
Comparação dos Números (
if (num1 > num2))- Se
num1for maior quenum2, imprime quenum1é o maior.
- Se
-
Segunda Condição (
else if (num2 > num1))- Se
num2for maior quenum1, imprime quenum2é o maior.
- Se
-
Caso os Números Sejam Iguais (
else)- Se nenhuma das condições anteriores for verdadeira, imprime que os números são iguais.
-
Finalização (
return 0;)- Indica que o programa foi executado corretamente.
Fluxograma do código

Explicação breve sobre o comando if.
O comando if em C é uma estrutura de controle condicional que permite executar um bloco de código apenas se uma determinada condição for verdadeira (veremos em detalhes mais adiante). Ele segue a seguinte sintaxe básica:
if (condição) {
// Bloco de código executado se a condição for verdadeira
}
Caso seja necessário tratar diferentes possibilidades, podem ser utilizados else if e else:
if (condição1) {
// Executa se condição1 for verdadeira
} else if (condição2) {
// Executa se condição1 for falsa e condição2 for verdadeira
} else {
// Executa se todas as condições anteriores forem falsas
}
Exemplo de Uso
#include <stdio.h>
int main() {
int num = 10;
if (num > 0) {
printf("O número é positivo.\n");
} else if (num < 0) {
printf("O número é negativo.\n");
} else {
printf("O número é zero.\n");
}
return 0;
}
Saída no console:
O número é positivo.
O if também pode usar operadores lógicos (&&, ||, !, que serão vistos mais adiante) para combinar múltiplas condições. É uma estrutura essencial para a tomada de decisões na programação em C.
Exemplo de Execução
Entrada do Usuário
Digite dois números inteiros: 10 20
Saída do Programa
20 é maior que 10
Entrada do Usuário
Digite dois números inteiros: 15 15
Saída do Programa
Os números são iguais
Outro exemplo prático
Aqui está um programa em C que converte um valor de Fahrenheit para Celsius, com o valor a ser convertido definido diretamente no código.
Código em C
#include <stdio.h>
int main() {
// Definição do valor em Fahrenheit
float fahrenheit = 98.6; // Valor a ser convertido (exemplo: temperatura corporal normal)
// Conversão para Celsius usando a fórmula
float celsius = (fahrenheit - 32) * 5.0 / 9.0;
// Exibição do resultado
printf("%.2f Fahrenheit equivale a %.2f Celsius\n", fahrenheit, celsius);
return 0;
}
Explicação do Código
-
Inclusão da Biblioteca (
#include <stdio.h>)- Necessária para usar
printf()e exibir resultados na tela.
- Necessária para usar
-
Declaração da Função Principal (
int main())- Onde o programa inicia sua execução.
-
Declaração da Variável
fahrenheit- Definição fixa de um valor em Fahrenheit. No exemplo,
98.6°Frepresenta a temperatura corporal normal.
- Definição fixa de um valor em Fahrenheit. No exemplo,
-
Cálculo da Conversão para Celsius
- Utiliza a fórmula:
![]()
-
- O resultado é armazenado na variável
celsius.
- O resultado é armazenado na variável
-
Impressão do Resultado
- O
printf()exibe o resultado com duas casas decimais para melhor precisão.
- O
-
Retorno
0- Indica que o programa foi executado corretamente.
Exemplo de Saída
98.60 Fahrenheit equivale a 37.00 Celsius
8. Recursos Complementares
-
Livros Recomendados:
- “A Linguagem de Programação C” – Brian W. Kernighan & Dennis M. Ritchie.
- “C: Como Programar” – Paul Deitel & Harvey Deitel.
- “The C Programming Language” – Kernighan & Ritchie.
-
Cursos Online:
-
Compiladores Online:
Respostas dos Exercícios de Fixação
1. Quais são os componentes básicos de um programa em C?
Um programa em C possui cinco componentes principais:
1.1. Inclusão de Bibliotecas (#include)
Permite importar funções prontas, como printf() e scanf(), contidas em bibliotecas.
#include <stdio.h> // Biblioteca padrão de entrada e saída
1.2. Declaração de Constantes (#define)
Define valores fixos que não podem ser alterados.
#define PI 3.14159
1.3. Função Principal (main())
Ponto de entrada da execução do programa.
int main() {
return 0;
}
1.4. Declaração de Variáveis
Armazena dados temporários usados pelo programa.
int idade = 25;
float altura = 1.75;
char inicial = 'A';
1.5. Sequência de Comandos
Blocos de código que executam ações.
printf("Olá, mundo!\n");
Referências
2. Qual é o nome da função principal em um programa C?
A função principal de um programa em C é main().
Exemplo
#include <stdio.h>
int main() { // Função principal do programa
printf("Programa em execução.\n");
return 0; // Indica execução bem-sucedida
}
- O programa SEMPRE começa executando a função
main(). - O retorno
0indica ao sistema operacional que o programa terminou corretamente.
Referências
3. Como inserir comentários em um código C?
Os comentários ajudam a documentar o código, tornando-o mais compreensível.
Tipos de Comentários em C
3.1. Comentário de Linha (//)
// Este é um comentário de linha
printf("Olá, mundo!\n"); // Comentário no final da linha
3.2. Comentário de Bloco (/* ... */)
/*
Este é um comentário de bloco.
Ele pode ocupar várias linhas.
*/
printf("Executando o programa.\n");
- Comentários são ignorados pelo compilador.
- Não afetam o funcionamento do programa.
Referências
4. Quais são as etapas da compilação de um código em C?
O processo de compilação em C é dividido em quatro etapas:
4.1. Edição (Escrita do Código)
O programador escreve o código-fonte (.c).
#include <stdio.h>
int main() {
printf("Compilação em andamento...\n");
return 0;
}
4.2. Pré-processamento (#include, #define)
Expande diretivas de pré-processador antes da compilação.
4.3. Compilação (Código Objeto .o)
Transforma o código-fonte em código objeto.
gcc programa.c -o programa
4.4. Linkagem (Criação do Executável)
Conecta o código objeto com bibliotecas para gerar um arquivo executável.
Fluxo da compilação:
Código-fonte (.c) → Pré-processador → Compilador → Código Objeto (.o) → Linker → Executável
Referências
5. Quais são os tipos básicos de dados em C e seus respectivos tamanhos e faixas de valores?
A tabela abaixo mostra os principais tipos de dados em C com seus tamanhos e faixas de valores:
| Tipo | Tamanho | Faixa de Valores |
| Inteiros | ||
short |
16 bits | -32.768 a 32.767 |
int |
32 bits | -2.147.483.648 a 2.147.483.647 |
long |
64 bits | -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
| Ponto Flutuante | ||
float |
32 bits | 3.4E-38 a 3.4E+38 |
double |
64 bits | 1.7E-308 a 1.7E+308 |
| Caractere | ||
char |
8 bits | 0 a 255 (ASCII) |
| Void | ||
void |
Nenhum | Representa ausência de valor |
Exemplo de Uso de Tipos de Dados
#include <stdio.h>
int main() {
int inteiro = 100;
float decimal = 5.75;
char letra = 'A';
printf("Inteiro: %d\n", inteiro);
printf("Float: %.2f\n", decimal);
printf("Char: %c\n", letra);
return 0;
}
Saída:
Inteiro: 100
Float: 5.75
Char: A
Referências
Para quem quer mais.
Fim da aula 03
