1. Linguagens de programação podem ser classificadas como de alto nível ou baixo nível dependendo de seu nível de abstração em relação à arquitetura do computador. Linguagens de alto nível são mais abstratas e independentes da arquitetura.
2. Arquivos cabeçalho contêm informações sobre funções, macros e tipos de dados para permitir que o compilador reconheça esses itens em arquivos diferentes.
3. Constantes, ao contrário de variáveis, têm valores fixos que não podem ser alterados durante a execução de um programa.
1. 1.
Linguagem alto nível:
Linguagem de programação de alto nível é como se chama, na Ciência da
Computação de linguagens de programação, uma linguagem com um nível
de abstração relativamente elevado, longe do código de máquina e mais próximo
à linguagem humana. Desse modo, as linguagens de alto nível não estão diretamente
relacionadas à arquitetura do computador. O programador de uma linguagem de alto
nível não precisa conhecer características do processador, como instruções e
registradores. Essas características são abstraídas na linguagem de alto nível.
Linguagem de baixo nível:
Linguagem de programação de baixo nível trata-se de uma linguagem de
programação que compreende as características da arquitetura do computador.
Assim, utiliza somente instruções do processador, para isso é necessário conhecer os
registradores da máquina. Nesse sentido, as linguagens de baixo nível estão
diretamente relacionadas com a arquitetura do computador. Um exemplo é a
linguagem Assembly (não Assembler) que trabalha diretamente com
os registradores do processador, manipulando dados.
2.
C é freqüentemente chamada de linguagem de médio nível porque combina
elementos de linguagem de alto nível com a funcionalidade da linguagem assembly.
3.
Compilador converte o código do programa em código binário, para ser reconvertido
em código, dado código objeto. Arquivos “.c” , “.h” e binário.
4.
é um programa que liga objectos gerados por um compilador, formando assim o
ficheiro executável final. O trabalho de um Ligador é bastante simples: Estabelece a
amarração ou vinculação entre referências mais abstratas para referências mais
concretas.
Arquivos:
5.
Deve conter funções, procedimentos e bibliotecas.
6.
a diretiva #ifndef verifica se o arquivo de cabeçalho ja foi ou não incluido.
#ifndef __arq_H__
#define __arq_H__
#endif
2. 7.
// e /* */
8.
constantes simbólicas são constantes definidas pela diretiva #define no inicio do
código e constantes no código fonte, são variaves que possuem o modificador const e
não podem ser redefinidas, diferentemente de quando usado a diretiva #defina.
9.
Variáveis:
Em um programa, existe a necessidade de se guardar valores na memória, e isso é
feito através de variáveis, que podem ser definidas simplificadamente como nomes
que se referem a lugares na memória onde são guardados valores. para utilizar uma
variável, ela deve ser primeiramente declarada, ou seja, devemos requisitar o espaço
necessário para essa variável. Após reservar um espaço na memória, o computador
irá associar a ele o nome da variável. Se você não declarar uma variável e tentar
utilizá-la, o compilador irá avisá-lo disso e não continuará a compilação.
Em um programa, uma variável corresponde a um espaço na memória principal, cujo
conteúdo pode ser alterado durante a execução do programa.
Estática: tem seu endereço fixado antes de iniciar a execução do programa, e a
área de memória ocupada por ela se mantém constante durante toda a
execução;
Dinâmica: pode ser criada ou eliminada durante a execução do programa,
ocupando espaço na memória apenas enquanto está sendo utilizada.
10.
float, Double, int , char.
11.
O ponteiro nada mais é do que uma variável que guarda o endereço de uma outra
variável.
12.
alocação dinamica de memória e apontar para um endereço na memória.
13.
IF , else IF.
3. 14.
While, do while, for...
O laço While testa se a condição é verdadeira antes de entrar no bloco.
O laço Do-While entra no bloco e ao final testa se a condição é verdadeira para repetir
o bloco.Basicamente, o Do-While vai sempre executar ao menos uma vez.
For, determina as condições e realiza enquanto estiverem sendo satisfeitas.
15.
Função, Conjunto de comandos agrupados em um bloco que recebe um nome e
através deste pode ser ativado. permitir o reaproveitamento de código já construído,
facilitar a leitura do programa-fonte.
16.
O valor que retorna da função de acordo com os requisitos passados através de
parâmetros.
17.
a linguagem C permite o uso de parâmetros. Este parâmetros possibilitam que se
definida sobre quais dados a função deve operar.
18.
Um protótipo de função, nas linguagens de programação C e C++, é uma declaração
de uma função que omite o corpo mas especifica o seu
nome, aridade, tipos de argumentos e tipo de retorno. Enquanto a definição da função
especifica o que ela faz, um protótipo de função pode ser entendido como a
especificação da sua interface.
19.
Variáveis locais são aquelas nas quais apenas a função onde ela está pode usá-la. As
variáveis globais são declaradas da mesma forma que uma variável local - primeiro o
tipo, depois o nome da variável. Mas a diferença é que esta variável é declarada fora
de qualquer função. Por convenção, geralmente, utilizamos um underline (_) no
começo do nome da variável para facilitar a leitura do programa e facilmente
percebermos de que se trata de uma variável global.
20.
O uso de variáveis globais é geralmente considerado inadequado pois seu conteúdo
pode ser potencialmente modificado de qualquer local, e qualquer parte de um código
pode depender dela. A técnica possui o potencial de criar dependências mútuas, o que
aumenta a complexidade e dificuldade de leitura de um código. Entretanto, para
alguns casos seu uso pode ser adequado; um exemplo é a passagem frequente de
variáveis continuamente por diversas funções.
4. 21.
Alocação estática, Ao se declarar uma variável qualquer, o compilador deixa reservado
um espaço suficiente na memória para armazená-la. Ao fazer a alocação estática, usa
apenas o espaço necessário na memória é reservado.
22.
A alocação dinâmica é o processo que aloca memória em tempo de
execução. Ela é utilizada quando não se sabe ao certo quanto de memória será
necessário para o armazenamento das informações, podendo ser determinadas em
tempo de execução conforme a necessidade do programa. Dessa forma evita-se o
desperdício de memória.
No padrão C ANSI existem 4 funções para alocações dinâmica pertencentes
a biblioteca stdlib.h. São elas malloc(), calloc(), realloc() e free(). Sendo que as mais
utilizadas são as funções malloc() e free(). Além das funções mencionadas acima
existem outras que não serão abordadas neste tutorial, pois não são funções padrões.
A alocação dinâmica é muito utilizada em problemas de estrutura de dados,
por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos. As funções
malloc() e calloc() são responsáveis por alocar memória, a realloc() por realocar a
memória e por ultimo a free() fica responsável por liberar a memória alocada
24.
Os vetores são uma maneira de armazenar vários dados num mesmo nome de
variável através do uso de índices numéricos. Em C, vetores devem sempre conter
dados do mesmo tipo de variável.
As matrizes em geral são caracterizadas por se tratarem de uma única variável de um
determinado tamanho que guarda varias informações do mesmo tipo. Essas
informações são gravadas na memória seqüencialmente e são referenciadas através
de índices. As matrizes podem ser tanto unidimensionais (vetores) como
multidimensionais.
5. Boole:
A álgebra de Boole é um sistema completo para operações lógicas. Este sistema é
usado para colocar de uma forma matemática o pensamento lógico com base nas
alternativas que podem assumir somente duas possibilidades: Falso ou Verdadeiro.
Arquivos cabeçalho:
Arquivos-cabeçalho são arquivos que contém informações que servem para o
compilador reconhecer funções "VER : convenções para chamadas a funções ou
calling convention", macros, tipos de dados e variáveis que não estão no arquivo
sendo compilado. Esses arquivos costumam ter a extensão ".h" — é o caso, por
exemplo, dos cabeçalhos padrão stdio.h e math.h.
Constantes:
Constantes são o oposto das variáveis, apesar de trabalharem da mesma forma.
As variáveis têm esse nome exatamente porque podemos mudar seu valor durante a
execução do programa. Já as constantes são dados gravados em memória que de
forma alguma podemos alterar seu valor.