.. | ||
README.org |
Curso Básico da Linguagem C
Exercícios da aula 1: História
1. Pesquise e explique
As classificações abaixo são utilizadas para descrever as características da linguagem C: pesquise e explique cada uma delas.
- Linguagem de alto nível;
- Linguagem compilada;
- Linguagem procedural;
- Linguagem imperativa;
- Linguagem estruturada.
2. Analise o programa
Dado o programa abaixo (salve.c), explique cada uma perguntas nos comentários.
#include <stdio.h> // O que é isso e para que serve?
// Por que todo o programma é escrito na função 'main()'?
int main(void) {
puts("Salve, simpatia!"); // O que faz e como se usa a função 'puts()'?
return 0; // Para que serve esta instrução?
}
3. Compile, encontre, explique e corrija os bugs
O uso de números mágicos (valores literais que não dão pistas de seus
significados) é desaconselhado porque dificultam a leitura semântica do
código. Sendo assim, nós utilizaremos a constante simbólica EXIT_SUCCESS
,
definida na biblioteca padrão com valor 0
, em vez do inteiro literal 0
como
argumento da instrução return
:
#include <stdio.h>
int main(void) {
puts("Salve, simpatia!");
return EXIT_SUCCESS
}
Observe o resultado da compilação:
:~$ gcc salve.c -o salve
- Quantos erros foram encontrados e quais são eles?
- Quais são as correções sugeridas pelo
gcc
? - Como ficou o código corrigido?
4. Compile, pesquise e responda
Dado o código abaixo (por exemplo, main.c
):
#define EXIT_SUCCESS 0
int puts(const char *string);
int main(void) {
puts("Salve, simpatia!");
return EXIT_SUCCESS;
}
Compilação:
:~$ gcc main.c :~$
- Nenhum erro foi reportado, mas por quê?
- Como você executaria o binário resultante?
5. Pesquise e responda
Quando não explicitamos a especificação utilizada para compilar o nosso programa
(opção -std=PADRÃO
do gcc
), qual será o padrão utilizado e como podemos
confirmar isso pela linha de comandos?