Apontamentos
Índice
Exemplo de um primeiro programa em C ..................................................................................... 3
Atributos em C .............................................................................................................................. 3
Ponto e vírgula .......................................................................................................................... 4
Comentários .............................................................................................................................. 4
Identificadores .......................................................................................................................... 4
Palavras-chave........................................................................................................................... 5
Espaçamentos no C ................................................................................................................... 5
Variáveis ........................................................................................................................................ 5
Definição de variáveis em C ...................................................................................................... 6
Declaração de variáveis ............................................................................................................. 7
Operadores.................................................................................................................................... 7
Operadores aritméticos ............................................................................................................ 8
Operadores relacionais ............................................................................................................. 8
Operadores lógicos ................................................................................................................... 9
Função printf() ............................................................................................................................... 9
Função scanf() ............................................................................................................................. 10
2
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
#include <stdio.h>
int main()
{
/* O meu primeiro programa em C */
printf(“Olá, Mundo!”);
return 0;
}
#include <stdio.h>
O significado desta diretiva é indicar ao compilador que, neste programa, deve ser incluído (include) o
código de um ficheiro de biblioteca com funções predefinidas, ficheiro esse que tem o nome de stdio.h.
No caso concreto deste programa, a biblioteca de funções stdio.h fornece o código-fonte de uma função
utilizada no programa: printf() – que se destina a imprimir ou escrever algo no ecrã.
Nota: No nome do ficheiro stdio.h, a extensão .h vem da palavra header, ou seja, cabeçalho – que é a
posição que estes ficheiros predefinidos assumem num programa com a diretiva #include.
A linha de código que começa com main() indica o começo da função ou unidade de código principal do
programa.
Em C, o ponto de entrada (entry point) por onde qualquer programa começa a ser executado é a função
main() ou alguma outra que lhe seja equivalente.
A instrução
printf(“Olá, Mundo!”);
utiliza a função printf() – predefinida na biblioteca stdio.h – para fazer escrever no ecrã a mensagem
indicada dentro de parênteses e de aspas: Olá, Mundo!.
Atributos em C
Um programa em C consiste em vários atributos e um atributo pode ser uma palavra-chave, um
identificador, uma constante ou um símbolo. Por exemplo, a instrução seguinte é constituída por cinco
atributos:
3
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
printf(“Olá, Mundo!”);
printf
(
“Olá, Mundo!”
)
;
Ponto e vírgula
printf(“Olá, Mundo!”);
return 0;
Comentários
Os comentários são como textos de ajuda no seu programa e são ignorados pelo compilador. Começam
por /* e terminam com */ como nos mostra o exemplo seguinte:
/* Este é um comentário
relativo ao meu primeiro
programa em C */
Nota: Existe também a possibilidade de criar comentários mais curtos, ou seja, de apenas uma linha:
Identificadores
Um identificador em C é um nome utilizado para identificar uma variável, função, ou outro item definido
pelo utilizador. Um identificador deve começar por uma letra de A a Z, a a z, ou por um underscore ‘_’
seguido por zero ou mais letras, underscores, e dígitos (0 a 9).
A linguagem C não permite caracteres de pontuação tais como @, $, e % nos identificadores. O C é uma
linguagem case-sensitive, ou seja é sensível à utilização de maiúsculas e minúsculas. Assim, Total e total
são dois identificadores diferentes. Aqui estão alguns exemplos de identificadores com nomes aceitáveis:
4
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
Palavras-chave
A seguinte tabela mostra uma lista de palavras reservadas da linguagem C. Estas palavras reservadas não
podem ser utilizadas como constantes ou variáveis ou outros nomes de identificadores.
Double
Espaçamentos no C
Uma linha que contém apenas espaçamentos, possivelmente apenas com um comentário, é conhecida
por uma linha em branco e o compilador vai ignorá-la totalmente.
Espaçamento é o termo utilizado para descrever espaços, tabs, linhas em branco e comentários. Um
espaçamento separa uma parte de uma instrução de outra e permite que o compilador identifique onde
é que um elemento da instrução, como o int, termina e onde o próximo elemento começa. No entanto,
na seguinte instrução:
int idade;
tem de haver pelo menos um caracter de espaçamento (geralmente um espaço) entre int e idade para
que o compilador possa distingui-los. Por outro lado, na seguinte instrução:
não era necessário qualquer tipo de espaçamento entre fruta e =, ou entre = e laranjas, porém é sempre
livre de incluir alguns se pretender aumentar a legibilidade do código.
Variáveis
Uma variável não é nada mais do que um nome atribuído a um local de armazenamento que o nosso
programa pode manipular. Cada variável em C tem um tipo específico, o qual determina o tamanho e a
5
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
estrutura da variável da memória; o intervalo de valores que podem ser armazenados nessa memória; e
o conjunto de operações que podem vir a ser aplicadas à variável.
O nome de uma variável pode ser composto por letras, dígitos e pelo caracter underscore. Tem de
começar ou por uma letra ou por um underscore. Maiúsculas e minúsculas são diferentes isto porque o C
é uma linguagem case-sensitive. Vamos então ver os principais tipos de variáveis:
Tipo Descrição
char Representação de caracteres
int Valores numéricos inteiros
float Valores decimais de precisão simples (reais)
double Valores decimais de precisão dupla
Definição de variáveis em C
A definição de uma variável indica ao compilador onde e que quantidade de memória necessita para criar
a variável. A definição da variável especifica o tipo de dados e contém a lista de uma ou mais variáveis
desse tipo. Ver exemplo:
tipo lista_variaveis;
Aqui, tipo terá de ser um tipo de dados válido, e lista_variaveis pode consistir num ou mais identificadores
separados por vírgulas. Alguns exemplos de declaração são mostrados a seguir:
int i, j, k;
char c, ch;
float f, salario;
double d;
A linha de código int i, j, k; declara e define as variáveis i, j e k; que indica ao compilador para criar as
variáveis i, j e k do tipo inteiro (integer).
As variáveis podem ser inicializadas (atribuindo-lhes um valor inicial) na sua declaração. Essa inicialização
consiste num sinal de igual seguido por uma constante como pode ver:
Por definição, sem haver uma inicialização, as variáveis têm um valor indefinido.
6
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
Declaração de variáveis
A declaração de variáveis assegura ao compilador que existe uma variável com um determinado nome e
com um tipo de dados.
Uma variável pode ser utilizada várias vezes ao longo do programa, podendo ser definida apenas uma vez
num ficheiro, numa função ou num bloco de código.
Exemplo:
Experimente o seguinte código, onde as variáveis são definidas e inicializadas na função principal (main).
#include <stdio.h>
int main()
{
/* definição de variáveis */
int a, b;
int c;
float f;
/* inicialização de variáveis */
a = 10;
b = 20;
c = a + b;
Valor de c: 30
Valor de f: 23.333334
Operadores
Um operador é um símbolo que informa o compilador para realizar uma função ou lógica específica. A
linguagem C é rica na utilização de operadores, existindo os seguintes tipos:
Operadores aritméticos
Operadores relacionais
Operadores lógicos
7
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
Operadores aritméticos
A tabela seguinte mostra todos os operadores aritméticos suportados pela linguagem C. Assuma que a
variável A tem o valor 10 e a variável B tem o valor 20, então:
Operadores relacionais
A tabela seguinte mostra todos os operadores relacionais suportados pelo C. Assuma que a variável A tem
o valor 10 e a variável B tem o valor 20, então:
8
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
Operadores lógicos
A tabela seguinte mostra todos os operadores lógicos suportados pela linguagem C. Assuma que a variável
A tem o valor 1 e a varável B tem o valor 0, então:
Função printf()
Num programa, a maneira mais simples de escrever uma mensagem para o utilizador é usando a função
printf. Esta função faz parte da biblioteca de funções de entradas e saídas do C. Como faz parte de uma
biblioteca, é necessário indicá-lo no início do programa com a seguinte instrução:
#include <stdio.h>
Uma vez incluída esta linha, podemos usar a função printf em qualquer parte do programa. Para escrever
a mensagem “Qual é o seu peso?” basta a linha:
Para escrever um valor numérico, é um pouco mais complicado, é necessário colocar na frase, no sítio
onde queremos que o valor apareça um código que indica o seu tipo. Por exemplo:
O código %f indica que o valor a imprimir é de tipo float (decimal de precisão simples) ou double (decimal
de precisão dupla). Para imprimir um valor de tipo inteiro usa-se %d:
Neste exemplo, o programa vai escrever: o valor de a, a palavra “vezes”, o valor de b, as palavras “é igual
a” e o valor da expressão a * b. Finalmente o \n que representa aqui um caracter de fim de linha faz que
a próxima mensagem apareça na linha seguinte.
O formato é uma sequência de caracteres que serão escritos, sendo cada especificação iniciada por %,
substituída pelo valor argumento correspondente depois de convertido.
9
Formador: Fernando Miguel Costa Curso: Técnico(a) de Informática - Sistemas
UFCD14: Programação em C/C++ - Estrutura básica e Conceitos Fundamentais
Função scanf()
A função usada para efetuar a leitura de valores é a função scanf. Está definida na biblioteca stdio.h, este
ficheiro deve ser portanto incluído no início do programa. Para ler um valor de tipo float e colocá-lo na
variável peso basta:
scanf("%f", &peso);
O primeiro argumento ("%f") é a cadeia de controlo. Define o tipo do valor que vai ser lido. Para ler um
valor inteiro usa-se %d por exemplo para perguntar ao utilizador a sua idade podemos fazer:
int idade;
printf("Qual é a sua idade: ");
scanf("%d", &idade);
Um pormenor pode parecer estranho: o nome da variável é precedido do símbolo &. Porquê??? O
caracter & é um operador em C que dá a posição em memória da variável que segue. Esta explicação é
talvez nebulosa (é de propósito) porque ainda não vimos matéria suficiente para divulgar mais
pormenores. Felizmente não é preciso saber mais, basta lembrar-se que na função scanf, o nome das
variáveis é precedido do operador &.
O utilizador terá que escrever a sua idade e o seu peso separados por um espaço ou carregando na tecla
Enter.
Os valores que scanf é capaz ler são: inteiros (%d), float ou double (%f), caracteres (%c) e cadeias de
caracteres (%s).
A função scanf está muitas vezes na origem de erros. Se o seu programa der resultados errados, deve
sempre verificar se os valores lidos são os valores esperados. Para isso não hesite em acrescentar uma
instrução printf que mostre no ecrã os valores inseridos.
10