Estruturas Básicas da Linguagem C Flashcards

1
Q

Linguagem de alto Nível

A

A linguagem interna do computador é
- conhecida como “linguagem de máquina”, e
- muito complicada de usar na implementação de programas
Uma linguagem de alto nível
- está mais próxima da linguagem natural, e
- é muito fácil de utilizar na implementação de programas

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Tradutores

A

Um programa numa linguagem de alto nível para poder ser “executado” (para
funcionar) precisa de ser traduzido para linguagem de máquina
Existem dois tipos de programas tradutores:
- interpretadores
- compiladores

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Interpretador

A

As instruções de um programa escrito em linguagem de alto nível (código-fonte)
são traduzidas e executadas uma e uma,
- cada vez que o programa é executado é necessário fazer a tradução,
pois não é criada uma versão executável (ficheiro em linguagem de máquina)
Exemplos de linguagens que usam interpretadores:
- LISP
- MatLab
- PHP
- JavaScript

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Compilador

A

Todas as instruções de um programa escrito em linguagem de alto nível são
traduzidas de uma só vez
- ou seja, o compilador cria uma versão executável do programa, bastando compilar o
código-fonte uma única vez
Exemplos de linguagens que usam compiladores:
- C
- Pascal
- Java
- C++
- C#
Os compiladores analisam o código-fonte em três fases:
- análise léxica
- análise sintática
- análise semântica

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Análise léxica

A

Separação do código-fonte (texto) em palavras (os elementos/tokens léxicos)
- lê o texto caráter a caráter, formando palavras (tokens) e identificando cada uma
delas segundo as suas regras de construção (sintaxe)
- se as regras de alguns tokens são violadas, são identificados erros léxicos
Despreza os espaços em branco, as formatações e os comentários

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Análise sintática

A

Verificação sintática/gramatical de construção das frases (cadeias de tokens) que
compõem um texto, em que as frases são as instruções e o texto é o programa
- verifica se a estrutura das frases seguem as regras da gramática formal da
linguagem de programação (cada frase tem as suas regras de construção)
- ou seja, verifica se existem erros sintáticos na sintaxe do programa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Análise semântica

A

Verificação de outras regras, associadas ao significado de cada instrução e do programa

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nomes ou identificadores

A

As regras de formação de nomes/identificadores são as seguintes
- diferenciação gráfica (maiúsculas e minúsculas)
- tamanho variável (ANSI C limitado a 31 caracteres)
- validade (caráter inicial é: a…z, A…Z)
- nomes válidos: j, j5, mat3
- nomes inválidos: 5j, j5%, const
- O nome de uma variável,
- deve começar sempre com uma letra,
- pode ser seguida por letras, digitos e alguns outros carateres (underscore: _)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Diretivas para o compilador

A

Permite que o programador modifique a compilação
- O pré-processador é um programa que examina e modifica o código-fonte antes
da compilação
- As diretivas são os comandos utilizados pelo pré-processador
- Estes comandos estão disponíveis no código-fonte, mas não no código compilado
- As diretivas iniciam-se com #

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

include

A

Principal diretiva, pois é usado em praticamente todos os programas em C
- Permite inserir um arquivo (biblioteca de funções) qualquer no código-fonte
- A diretiva include é substituída pelo conteúdo do arquivo
- Usa-se <> para indicar que o arquivo é procurado apenas na pasta include
(pasta criada automaticamente aquando da instalação do compilador)
- Usa-se “” para indicar que o arquivo é procurado na pasta atual, e se não for
encontrado é procurado na pasta include
- As bibliotecas mais usadas são:
#include <stdio.h>
- usada em praticamente todos os programas
- inclui as funções de entrada e saída (input e output) de dados: scanf, printf, ...
#include <math.h>
- inclui as funções matemáticas: sqrt, pow, sin, cos, tan, log, ...</math.h></stdio.h>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

define

A

Permite definir constantes sem consumir memória durante a execução

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

main

A

A função principal (programa propriamente dito)
-Formado por:
- Declarações
- Instruções
- As Declarações devem aparecer antes das Instruções
- As declarações mais comuns são das variáveis que o programa pode utilizar
(indicadas nas Instruções)
- Na declaração de uma variável, o nome desta segue a sintaxe de nomes ou
identificadores (ver antes)
- As declarações e as instruções terminam sempre com ponto e vírgula (;)
- A execução do programa começa na primeira instrução e segue até à última,
sequencialmente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Tipos de dados simples

A

*Inteiros
*Reais
*Caracteres

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Inteiros

A

A representação de um número inteiro, em formato decimal, é composta por
duas partes (pela ordem apresentada):
- um sinal (+, -), sendo que o sinal + (positivo) pode ser omitido,
- uma sequência de dígitos
- Exemplos: 2563, -753, +35

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Inteiros - declaração de variáveis

A

Sintaxe para declarar variáveis do tipo inteiro (todas as variáveis devem estar
identificadas)
- Sintaxe para declarar apenas uma variável do tipo inteiro
int variável; (; obrigatório no fim da declaração)
- Sintaxe para declarar duas variáveis do tipo inteiro
int variável1, variável2; (; obrigatório no fim da declaração)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Reais

A

Um número real pode ser representado usando dois formatos:
- com ponto fixo (ex: 12.34)
- com ponto flutuante (ex: 0.4273x10-8)
- Na representação com ponto fixo, um número é composta por 2 partes:
- uma parte inteira (número inteiro com ou sem sinal)
- uma parte fracionária (ponto decimal seguido por inteiro sem sinal)
- Na representação em formato com ponto flutuante, a notação é semelhante à
notação científica, que é composta por 3 partes:
- um número real em formato de ponto fixo ou um inteiro, com ou sem sinal,
- o caráter ‘e’ ou ‘E’
- um número inteiro com ou sem sinal
- Exemplos:
- formato com ponto fixo: 12.764 (12 e 0.764), -542.78 (-542 e 0.78)
- com expoente: 12.78E-6, -34E10

17
Q

Reais - declaração de variáveis

A
  • Sintaxe para declarar variáveis do tipo real (todas as variáveis devem estar
    identificadas)
  • Sintaxe para declarar apenas uma variável do tipo real
    float variável; (; obrigatório no fim da declaração)
  • Sintaxe para declarar duas variáveis do tipo real
    float variável1, variável2; (; obrigatório no fim da declaração)
  • Exemplos:
    float x;
    float X, xyz, ponto, soma;
  • Uma variável do tipo real ocupa 4 bytes (32 bits) na memória; assim,
  • maior número real (valor absoluto): 3.40 x 10^38
  • menor número real (valor absoluto): 1.18 x 10^-38
18
Q

Caracteres

A
  • Um caráter é representado entre plicas (‘)
  • Exemplos:
  • ‘a’
  • ‘A’
  • ‘x’
  • ‘n’
  • Note-se que existe diferença entre letras maiúsculas e minúsculas:
    ‘a’ e ‘A’ são diferentes (carateres diferentes)
  • Alguns carateres especiais:
  • \a (sinal sonoro - bell)
  • \b (recua uma posição – backspace)
  • \n (nova linha – new line)
  • \t (tabulação - tab)
19
Q

Carateres - declaração de variáveis

A
  • Sintaxe para declarar variáveis do tipo caráter (todas as variáveis devem estar
    identificadas)
  • Sintaxe para declarar apenas uma variável do tipo caráter
    char variável1; (; obrigatório no fim da declaração)
  • Sintaxe para declarar duas variáveis do tipo caráter
    char variável1, variável2; (; obrigatório no fim da declaração)
  • Exemplos:
    char c;
    char a, ch;
    char resposta, opcao, marca, p;
  • Um caráter ocupa 1 byte (8 bits) na memória
20
Q

Expressões aritméticas

A

Uma expressão aritmética contém
- operadores aritméticos (+, -, , /, %)
- valores numéricos (inteiros e reais)
- variáveis do tipo numérico com valores
- funções matemáticas predefinidas
O computador calcula o valor de uma expressão segundo as seguintes regras:
- se contiver apenas valores inteiros o resultado é um valor inteiro
- se contiver pelo menos um valor real, o resultado é um valor real
- os operadores (
, / e %) tem maior prioridade do que (+, -)
- os cálculos são efetuados da esquerda para à direita, quando os operadores têm a
mesma prioridade
- as operações que estão entre parênteses são efetuadas em primeiro

21
Q

Operadores relacionais

A

Os operadores relacionais permitam
- comparar valores (ou expressões) dos tipos:
- inteiro,
- real, ou
- caráter
- devolvendo como resultado:
- verdadeiro (true)
- falso (false)
Os operadores relacionais têm menos prioridade do que os aritméticos
- Os valores verdadeiro e falso são chamados valores lógicos, que não existem na
linguagem C:
- o valor 1 equivale ao verdadeiro
- o valor 0 equivale ao falso

22
Q

Operadores relacionais - símbolos

A

== igual
> maior
>= maior ou igual
< menor
<= menor ou igual
!= diferente

23
Q

Operadores lógicos

A

Os operadores lógicos
- permitem comparar expressões que tenham valores lógicos,
- devolvendo também um valor lógico: verdadeiro (true) ou falso (false)
Os operadores lógicos são os operadores com menos prioridade entre todos os
operadores

24
Q

Operadores lógicos - símbolos

A

&& e (and)
|| ou (or)
! não (not)