Você está na página 1de 8

AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DO

CURSO PROFISSIONAL DE TCNICO DE GESTO E PROGRAMAO DE SISTEMAS


INFORMTICOS
2012-2015
PROGRAMAO E SISTEMAS DE INFORMAO

MDULO 2 Mecanismos de Controlo de Execuo

Objetivos do mdulo:

Conhecer vrios tipos de variveis

Compreender a estrutura de um programa

Conhecer estruturas de deciso e de repetio

Os objetivos indicados aplicam-se a duas linguagens de programao: C e PHP

Contedos do mdulo:

Estrutura de um programa

Tipos de dados e variveis

Operadores e expresses

Entrada e sada de dados

Mecanismos de controlo

Seleo simples

Seleo mltipla

Repetio condicional

Repetio incondicional

Verso C

Estrutura de um programa

Em C os programas devem todos respeitar a seguinte estrutura:

Incluso de livrarias de funes (#include)

Funo principal (main)

Exemplo-1
#include <stdio.h>
int main(int argc,char *argv[])
{
printf(Ol mundo\n);
return 1;
}

alunosnet@gmail.com alunosnet.pt.vu Pgina 1 de 8


Neste exemplo inclumos a livraria STDIO.H que define e implementa a funo PRINTF.

O comando #include designado por pr-processador, trata-se de um comando para o compilador que deve
procurar nessa livraria as funes que no existem em C.

Em C s existem 32 palavras reservadas, todas as restantes palavras ou funes tm de estar definidas em algum
ficheiro, seja no nosso programa seja numa livraria que foi importada.

Os compiladores incluem dezenas de ficheiros designados por livrarias de funes que implementam diversas
funes que simplificam a vida do programador pois este pode utilizar estas para tarefas comuns como a introduo
ou sada de dados no tendo de criar as suas prprias funes.

muito importante no esquecer que todas as instrues em C devem terminar com um ; (ponto e vrgula), bem
como o C case sensitive, ou seja, diferentes escrever em minsculas e MAISCULAS.

Comentrios

Em C os comentrios iniciam-se com os carateres /* e terminam com */

Em C++ podemos utilizar comentrio de linha com //

Tipos de dados e variveis

C uma linguagem em que as variveis tm de estar previamente definidas e os seus tipos de dados no
podem ser alterados durante a execuo do programa.

Tipo N de bytes Format scanf Incio Fim


char 1 %c -128 127
unsigned char 1 %c 0 255
signed char 1 %c -128 127
int 2 %i -32768 32767
unsigned int 2 %u 0 65535
signed int 2 %i -32768 32767
short int 2 %hi -32768 32767
unsigned short int 2 %hu 0 65535
signed short int 2 %hi -32768 32767
long int 4 %li -2147483648 2147483647
signed long int 4 %li -2147483648 2147483647
unsigned long int 4 %lu 0 4294967295
float 4 %f 3,4E-38 3,4E+38
double 8 %lf 1,7E-308 1,7E308
long double 10 %Lf 3,4E-4932 3,4E+493

Declarao de variveis e constantes

tipo_de_dados nome_da_varivel;

const tipo_de_dados nome_da_constante=valor;

#define nome_da_constante valor

Exemplos:

alunosnet@gmail.com alunosnet.pt.vu Pgina 2 de 8


#define PI 3.14159

-x-

const float PI=3.14159;

float vencimento;

int idade;

char letra1,letra2=c;

int x=5;

float k=3,j=-5;

char nome[]=Joaquim;

Delimitadores de strings e char

As servem para delimitar as strings (cadeiras de carateres) enquanto que a serve para delimitar um
carater.

Operadores e expresses

Aritmticos

+ Soma
- Subtrao
* Multiplicao
/ Diviso
% Resto da diviso inteira

Relacionais

== Igual a
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a
!= Diferente de

Lgicos

&& E
|| Ou
! No

Operador de increment e decrement

++ Incrementa de uma unidade


-- Decrement de uma unidade

alunosnet@gmail.com alunosnet.pt.vu Pgina 3 de 8


Operador aritmtico de atribuio

= Atribui varivel um valor


Ex: x=5;

Operador condicional ternrio

? Testa uma condio e atribui um valor


Ex: x=(y==3) ?5:4;

Operador endereo de

& Permite saber o endereo de memria de uma varivel


Ex: printf(A varivel idade tem o valor %d e est na posio de memria %u,idade,&idade);

Entrada e sada de dados

Para sada de dados existem diversas funes, sendo a mais conhecida o printf. Esta permite imprimir no
ecr constantes e variveis.

A sintaxe :

printf(constantes e expresses, lista de variveis)

Ex:

printf(Ol mundo);

int idade=10;

printf(Idade: %d,idade);

Carateres de controlo

No printf existem alguns carateres especiais que permitem executar determinadas tarefas como
quebras de linha, tabulaes e outras.

Carater Funo
\a Beep
\\ \
\b Backspace
\r Carriage return
\
\f Formfeed
\t Horizontal tab
\n Newline
\0 Null
\
\v Vertical tab
\? ?
Para imprimir um varivel basta indicar a posio dela com % seguido do tipo de dados.

A introduo de dados pode ser feita recorrendo funo scanf. Esta permite ler diferentes tipos de dados e
guarda-los nas respetivas variveis. Esta funo para a execuo do programa at o utilizador carregar em ENTER.

alunosnet@gmail.com alunosnet.pt.vu Pgina 4 de 8


A sintaxe :

scanf(%tipo de dados,endereo das variveis)

Ex:

scanf(%d,&idade);

scanf(%c,&letra);

Carateres de tipo de dados

Carater Tipo de dados


%i ou %u Inteiros, precedido de 0x indica um hexadecimal, s um 0 indica um octal
%d Inteiro decimal
%o Inteiro octal
%x Inteiro hexadecimal
%f Float
%c Prximo carater
%s Uma string sem espaos em branco
%p Endereo
[carateres] Carateres indicados
[^carateres] Carateres diferentes dos indicados
%[^\n]s L strings com espaos em branco
n Introduo de dados no consumida, s armazenada.

Outras funes de entrada e sada

gets() L strings com espaos em branco

getch() L um carater

getche() L um carater e faz eco

getchar() L um carater e espera ENTER

puts() Escreve no ecr uma string

putchar() Escreve um carater no ecr

Mecanismos de controlo

A execuo de um programa iniciada na funo main, sendo executadas todas as instrues por ordem
sequencial de cima para baixo e da esquerda para a direita.

Seleo simples

Os blocos de cdigo em C tm de estar delimitados por chavetas { }.

Bloco SE

Para a linguagem C qualquer valor diferente de 0 (zero) considerado verdadeiro. No existe o valor
verdadeiro ou falso.

alunosnet@gmail.com alunosnet.pt.vu Pgina 5 de 8


Em C a estrutura SE definida assim:

if (condio) ao;

Ex.1: if(idade==10) printf(Tens dez anos!);

Ex.2: if(idade==10){

printf(Tens dez anos!\n);

printf(s uma criana!\n);

Tambm existe a estrutura SE SENO:

if (condio) ao;

else ao;

Ex:

if (idade==10){
printf(Tens dez anos!\n);
}else{
printf(No tens dez anos\n);
}
Seleo mltipla

Uma estrutura que pode evitar uma sequncia de SEs a estrutura switch case.

switch(varivel){
case valor1:
ao;
break;
case valor2:
ao;
break;
default:
ao;
}
Ex.:

idade=10;
switch(idade){
case 10:
printf(Tens dez anos\n);
break;
case 11:
printf(Tens onze anos\n);
break;
default:

alunosnet@gmail.com alunosnet.pt.vu Pgina 6 de 8


printf(No tens dez ou onze anos\n);
}

Repetio condicional

Para criar ciclos em C podemos utilizar condies, tal como na estrutura SE.

Sintaxe do ciclo while: (repete enquanto a condio verificar verdadeiro)

while(condio)
{
ao;
}
Ex.:
idade=0;
while(idade<10)
{
printf(Idade: %d\n,idade);
idade=idade+1:
}
Ciclo infinito:
while(1)
{
ao a repetir eternamente;
}

Sintaxe do ciclo do .. while: (repete enquanto a condio verificar verdadeiro)


do
{
}while(condio)
Ex:
idade=0;
do
{
printf(Idade: %d\n,idade);
idade++;
}while(idade<10);

A principal diferena entre este ciclo e o anterior que no ciclo do while o cdigo sempre executado uma
vez pois a condio s testada no final da execuo.

Dentro dos ciclos podemos utilizar a instruo break para interromper a repetio.
Ex:
Idade=0;
while(idade<10)
{
printf(Idade: %d\n,idade);
idade++;

alunosnet@gmail.com alunosnet.pt.vu Pgina 7 de 8


if (idade==5) break;
}

Outra instruo que s podemos utilizar dentro dos ciclos a instruo continue.
Ex:
Idade=0;
while(idade<10)
{
printf(Idade: %d\n,idade);
idade++;
if (idade==5) continue;
}

Repetio incondicional

O outro tipo de ciclos que o C implementa o ciclo com contador, o ciclo for.

Sintaxe do ciclo for:

for(inicio;condio para continuar;nova repetio)

ao;

inicio - , normalmente, utilizado para inicializar variveis mas pode ter qualquer instruo que pretendemos
executar uma vez no inicio do ciclo, mas tambm pode ficar em branco. Pode tambm ter vrias instrues
separadas por , (virgulas).

condio para continuar a condio que deve ser verdadeira para o ciclo continuar

nova repetio-, normalmente, utilizado para incrementar/decrementar a varivel mas pode ter qualquer
instruo que pretendemos executar sempre no final das instrues que esto dentro do ciclo e antes de iniciar a
repetio do ciclo. Tambm pode ficar em branco ou ter vrias instrues separadas por , (virgulas).

Ex:

for(idade=0;idade<10;idade++)
{
printf(Idade: %d\n,idade);
}

alunosnet@gmail.com alunosnet.pt.vu Pgina 8 de 8

Você também pode gostar