Este documento descreve elementos básicos de uma linguagem algorítmica, incluindo:
1) A estrutura de um programa em C é composta por funções, com a função main sendo obrigatória;
2) São apresentados identificadores, tipos de dados, declaração de variáveis e bibliotecas em C.
1. Capítulo II: Elementos Básicos de uma Linguagem Algorítmica
2.1 Estrutura de um programa em C
Todo programa em C é composto por uma ou mais funções, que são blocos de
códigos independentes. Em cada programa deve‐se definir uma função
chamada main.
Exemplo:
/* Primeiro Programa */
# include <stdio.h>
main()
{
printf(“Primeiro Programa n”);
}
Obs: Comentários no programa são colocados entre /* e */ não sendo
considerados na compilação.
O C é ʺCase Sensitiveʺ, ou seja, as letras maiúsculas diferem das minúsculas.
Declarando uma variável com o nome soma ela será diferente de Soma, SOMA,
SoMa ou sOmA.
Compilando e executando este programa você verá que ele coloca a mensagem
ʺPrimeiro Programa” na tela. Vamos analisar o programa por partes.
A linha #include <stdio.h> diz ao compilador que ele deve incluir a biblioteca
stdio.h. Nesta biblioteca existem definições de funções úteis. Toda vez que você
quiser usar uma destas funções deve‐se incluir este comando. O C possui
diversas bibliotecas.
A linha main() define uma função de nome main. Todos os programas em C
têm que ter uma função main, pois é esta função que será chamada quando o
programa for executado. O conteúdo da função é delimitado por chavetas { }. O
código que estiver dentro das chavetas será executado sequencialmente quando
a função for chamada.
pedromoises48@gmail.com; pedromoises48@hotmail.com
1
2. A única coisa que o programa realmente faz é chamar a função printf(),
passando a string(1) ʺ Primeiro Programa nʺ como argumento. É por causa da
função printf() que devemos incluir a biblioteca stdio.h. A função printf() neste
caso irá apenas colocar a string na tela do computador. O n é uma constante
chamada de barra invertida. O n é de ʺnew lineʺ e ele é interpretado como
sendo mudança de linha. É importante observar também que os comandos do C
terminam com ; (ponto e virgula).
2.2 Identificadores
São nomes usados para se fazer referência a variáveis, funções, rótulos e vários
outros objectos definidos pelo usuário. O primeiro carácter deve ser uma letra
ou um underscore (_).
Existem certos nomes que não podem ser usados como identificadores. São
chamadas as palavras reservadas e são de uso restrito da linguagem C
(comandos, estruturas, declarações, etc.). O conjunto de algumas palavras
reservadas usadas em C é o seguinte:
break case char
default do double else float for
goto if int long private public register return
short signed sizeof static struct switch typedef
unsigned void while
2.3 Tipos de dados
Em C, como na maioria das linguagens, os dados são divididos tipos: inteiro,
real, carácter, etc. Esta divisão se deve basicamente ao número de bytes
reservados para cada dado. Cada tipo de dado possui um intervalo de valores
permitidos.
(1) string – sequência de caracteres
pedromoises48@gmail.com; pedromoises48@hotmail.com
2
3. Tipos básicos
Abaixo segue uma lista dos tipos básicos de dados permitidos em C. Os tipos
char e int são inteiros e os tipos float e double são de ponto flutuante.
Tipo Tamanho Intervalo Uso
char 1 byte ‐128 a 127 número muito pequeno e carácter ASCII
int 2 bytes ‐32768 a 32767 contador, controle de laço
float 4 bytes 3.4e‐38 a 3.4e38 real (precisão de 7 dígitos)
double 8 bytes 1.7e‐308 a 1.7e308 científico (precisão de 15 dígitos)
2.4 Declaração de variáveis
Para que se possa usar uma variável em um programa, é necessário fazer uma
declaração de variável antes. A declaração de variáveis simplesmente informa
ao processador quais são os nomes utilizados para armazenar dados variáveis e
quais são os tipos usados. Deste modo o processador pode alocar (reservar) o
espaço necessário na memória para a manipulação destas variáveis. É possível
declarar mais de uma variável ao mesmo tempo, basta separá‐las por vírgulas
(,).
Sintaxe: A sintaxe para declaração de variáveis é a seguinte:
tipo variavel_1 [, variavel_2, ...] ;
Onde tipo é o tipo de dado e variavel_1 é o nome da variável a ser declarada. Se
houver mais de uma variável, seus nomes são separados por vírgulas.
Existem variáveis globais (são definidas fora de qualquer função e podem ser
referenciadas em qualquer função) e variáveis locais (são declaradas dentro duma
função, sendo visíveis apenas na função em foram definidas).
pedromoises48@gmail.com; pedromoises48@hotmail.com
3
4. Exemplo: Declaração das variáveis:
int i;
int x,y,z;
char letra;
float nota_1, nota_2, nota_3, media;
double num;
No exemplo acima, i, x, y e z foram declaradas variáveis inteiras. Assim elas
podem armazenar valores inteiros de ‐32768 até 32767. Do mesmo modo letra
foi declarada como variável carácter podendo receber valores de ‐128 até 127 ou
caracteres do conjunto padrão ASCII. As variáveis nota_1, nota_2 e media
foram declaradas como ponto flutuante tipo float e num como ponto flutuante
tipo double.
Em C existem dois modificadores: o modificador long e o modificador
unsigned. Tipicamente o modificador long aumenta o número de bytes usados
para o registro do número. Por consequência o intervalo de validade do número
fica aumentado significativamente. O modificador unsigned, usado somente em
inteiros, permite que um bit usado para guardar o sinal do número seja usado
para guardar o valor do número. Em consequência disto o intervalo do número
fica dobrado, porém somente permite o uso de números positivos.
Tipo Tamanho (bytes) Intervalo
unsigned char 1 0 a 255
unsigned int 2 0 a 65 535
long int 4 ‐2 147 483 648 a 2 147 483 647
unsigned long int 4 0 a 4 294 967 295
long double 10 3.4e‐4932 a 1.1e4932
pedromoises48@gmail.com; pedromoises48@hotmail.com
4
5. 2.5 Algumas Bibliotecas do C
Biblioteca Descrição
stdio.h Funções de entrada e saída (I/O)
string.h Funções de tratamento de strings
(sequência de caracteres)
math.h Funções de Matemática
2.6 Constantes
Muitas vezes identificamos uma constante numérica por um símbolo:
Pi = 3,14159 por exemplo. Podemos definir um nome simbólico para esta
constante, isto é, podemos definir uma constante simbólica que represente o
valor.
Sintaxe: A sintaxe da instrução de definição de uma constante simbólica é:
#define nome valor
#define é uma instrução de compilação que diz ao compilador para trocar as
ocorrências do texto nome por valor. Observe que não há ; (ponto e virgula) no
final da instrução pois trata‐se de um comando para o compilador e não para o
processador. A instrução #define deve ser escrita antes da instrução de
declaração da função principal (main).
Exemplos:
#define PI 3.14
#define LETRA ‘k’
#define MAX 1000
main()
{…
pedromoises48@gmail.com; pedromoises48@hotmail.com
5
6. 2.7 Operações com expressões aritméticas, relacionais, lógicas. Prioridades
dos operadores.
2.7.1 Operadores aritméticos
Operador Descrição
+ Adição
* Multiplicação
/ Divisão
% Resto da divisão inteira
++ Incremento pré ou pós‐fixado
‐‐ decremento pré ou pós‐fixado
Exemplo
++ var var = var + 1
var ++ var = var + 1
‐‐ var var = var ‐ 1
var ‐‐ var = var ‐ 1
onde var é o nome da variável da qual se quer incrementar ou decrementar
uma unidade.
Observe que existe duas sintaxes possíveis para os operadores: pode‐se colocar
o operador à esquerda ou à direita da variável. Nos dois casos o valor da
variável será incrementado (ou decrementado) de uma unidade. Porém se o
operador for colocado à esquerda da variável, o valor da variável será
incrementado (ou decrementado) antes que a variável seja usada em alguma
outra operação. Caso o operador seja colocado à direita da variável, o valor da
variável será incrementado (ou decrementado) depois que a variável for usada
em alguma outra operação.
pedromoises48@gmail.com; pedromoises48@hotmail.com
6
8. Operadores lógicos
Operador Descrição
&& E lógico (And)
|| Ou lógico (Or)
! Negação (Not)
2.7.4 Prioridades de Operadores (Precedências)
1 ! ++ ‐‐
2 * / %
3 + ‐
4 < <= > > =
5 = = ! =
6 =
Exemplo: Algumas expressões aritméticas:
1+2 a‐4.0 b*c valor_1/taxa num%2
2.8 Comandos de Entrada e saída
Um programa deve trocar informações com o meio externo. Em C, existem
muitas funções pré‐definidas que tratam desta troca de informações. São as
funções de entrada e saída do C. Algumas funções de entrada (scanf(), getch()) e
algumas funções de saída (printf()).
printf
A função printf() tem a seguinte forma geral:
printf (“string_de_controle”,lista_de_argumentos);
pedromoises48@gmail.com; pedromoises48@hotmail.com
8
9. printf é uma função que permite escrever na tela.
A string de controle pode conter caracteres que serão exibidos na tela e os
códigos de formatação que indicam o formato em que os argumentos devem ser
impressos. Cada argumento deve ser separado por vírgula.
n nova linha %c caractere simples
t tab %d decimal
b retrocesso %e notação científica
ʺ aspas %f ponto flutuante
barra %o octal
f salta formulário %s cadeia de caracteres
0 nulo %u decimal sem sinal %x hexadecimal
Exemplos
printf (ʺTeste %% %%ʺ) ‐> ʺTeste % %ʺ
printf (ʺ%fʺ,40.345) ‐> ʺ40.345ʺ
printf (ʺUm caractere %c e um inteiro %dʺ,ʹDʹ,120) ‐> ʺUm caractere D e um
inteiro 120ʺ
printf (ʺ%s e um exemploʺ,ʺEsteʺ) ‐> ʺEste e um exemploʺ
printf (ʺ%s%d%%ʺ,ʺJuros de ʺ,10) ‐> ʺJuros de 10%ʺ
scanf
O formato geral da função scanf() é:
scanf (string‐de‐controle,lista‐de‐argumentos);
Exemplo: scanf(ʺ%dʺ,&num);
getchar()
putchar()
gets()
pedromoises48@gmail.com; pedromoises48@hotmail.com
9