Você está na página 1de 25

Bases de Programao

Mdulo 7 C / C++

2010/2011

ndice
2

Origens Caractersticas Variveis Constantes Instrues bsicas

Input/output/atribuies

Tipos de dados Operadores


Introduo Linguagem C/C++

Origens do C e do C++
3

C surge na dcada 70 Nos laboratrios Bell da companhia de

Telecomunicaes, AT&T
Dennis Richie e Brian Kerningham Unix - foi 1 S.O. escrito em C

Introduo Linguagem C/C++

Caractersticas do C++
4

C++ (C plus plus) uma evoluo do C - 1983 Linguagem orientada por Objectos e no estruturada Criador Bjarne Stroustrup Mas no 100% compatvel com o C considerada uma linguagem de alto nvel case sensitive
Printf no igual a printf
Introduo Linguagem C/C++

Estrutura de um programa C
5

Programa C
Directivas ao compilador - Includes - Macros Declaraes Globais - Variveis Definio das Funes main () {
-Declarao das var locais da funo main -Comandos da funo main

}
Introduo Linguagem C/C++

variveis
6

Varivel: objecto que pode assumir diversos valores; Espao de memria de um certo tipo de dado associado a

um nome para referenciar seu contedo

Declarao Tipo nome = [inicializao];

Exemplo
int a =2; float b=2.2;

Escopo

Globais variveis que so reconhecidas em toda a parte. Locais - variveis que apenas podem ser usadas dentro da funo de onde foram declaradas.

Introduo Linguagem C/C++

Variveis - Definio
7

quantos caracteres quiser ( at 32); comece com letras ou sublinhado:


Seguidos de letras, nmeros ou sublinhados

C sensvel ao caso:
peso <> Peso <> pEso

no podemos definir um identificador com o

mesmo nome que uma palavra reservada


auto static extern int long if while do ......

Introduo Linguagem C/C++

Constantes
8

So valores que so mantidos ao longo do programa

const int numero=100;

void main ( ) { const int idade=20; cout << A sua idade = : << idade); }

Introduo Linguagem C/C++

Linguagem Pascal/C
9

program Alegria;

#include <stdio.h>

Uses crt;

void main ()
BEGIN

{
writeln('Benfica - Sporting 0 - 3');

printf (Benfica - Sporting 0 - 3\n);

end.

Introduo Linguagem C/C++

Exemplo de um programa em C ++
10
/* Primeiro programa */ #include <iostream> using namespace std;
biblioteca utilizada I/O Comentrios ou // caso utilize uma s linha

void main() { Int raio; Float area; Cout<< Digite a medida do raio; Cin >> raio; Area=3.14*raio*raio; Cout<< A rea = << area; }
Introduo Linguagem C/C++

funo principal inicio do programa marca incio da funo Definio de variveis locais, utilizadas dentro do programa principal (inteiro / decimal)

Instruo de escrita no ecr Instruo de leitura do teclado Instruo de atribuio marca fim da funo

Intrues bsicas
11

Instruo de leitura de dados

cin >> nota ;

Instruo de tratamento de dados

Atribuio

ex. nota = (teste1+teste2)/2

Instruo de escrita de dados

cout << A sua nota foi = << nota;

Introduo Linguagem C/C++

Tipos de dados - Primitivos


12
Tipo Char Int Tamanho bytes 1 2 ou 4 4 8 0 Faixa mnima -128 a 127 N inteiros [-32 768 a 32 767] N inteiros [-2 147 483 648 a 2 147 483 647] N reais [3.4E-38 a 3.4E+38] N reais [1.7E-308 a 1.7E+308] Nenhum valor (vazio)

Float Double Void

O tamanho do inteiro depende da arquitectura do sistema Um sistema 32 bits -> inteiro de 32 bits Um sistema 64 bits -> inteiro de 64 bits Exemplo de declarao de var char s declara s como apenas 1 caractere; char s[10] declara s como um array de 10 caracteres

Introduo Linguagem C/C++

Tipos de dados - outros


13

Tipo Bool Short Long signed unsigned True/false

Modificadores signed, unsigned, long e short -> Podem ser aplicados ao tipo int long -> pode ser aplicado ao tipo double signed e unsigned -> Podem ser aplicados ao tipo de dados char

Introduo Linguagem C/C++

Lista de caracteres especiais


14

Cdigo \n \r \t \b \ \\ \ \a \?

significado Nova linha Enter tabulao (tab) Retrocesso Aspas duplas Barra invertida Aspas simples Alerta (emite um bip) Ponto de interrogao

Introduo Linguagem C/C++

Formatando as sadas - cout


15
possvel estabelecer o tamanho mnimo para a impresso de um campo
Biblioteca que oferece recursos para controlar espaos e dgitos de preciso na escrita

#include <iostream> #include <iomanip> using namespace std; void main ( ) { float x=10; cout << setw (20)<< setprecision (3); cout << x/3 << '\n'; }

Avana o cursor 20 espaos

Formata o decimal para 3 dgitos de preciso 3.33

10/3= 3.3333333333333333333333333333333

Coloca o cursor na linha abaixo

Introduo Linguagem C/C++

Formatando as sadas - cout


16

Altere o programa anterior de forma a que o valor apresentado no cran

Aparea no meio da 3 linha do cran (40x80) O valor apresentado tem de conter 6 digitos de preciso

Operadores Aritmticos
17

Operador + * / % -++

Ao Adio Multiplicao Diviso Resto da diviso inteira Subtrao Decremento Incremento

Nas primeira mquinas o incremento /decremento era processado mais rpido do que uma tribuio X++ x=x+1
Introduo Linguagem C/C++

Comparaes e Testes
18

Observemos antes de mais nada que ++x diferente de x++


Se x = 10; y = ++x; /* x=x+1; ento x = 11 e y = 11 porm Se x = 10; y = x++; /* y=x; x=x+1 */ ento x = 11 e y = 10

Resolva: x = 19; y = x++; y = ++x;

y=x; */

Introduo Linguagem C/C++

Operadores Relacionais e Lgicos


19

Operador > >= < <= == != && || !


Introduo Linguagem C/C++

Aco Maior que Maior ou igual que Menor que Menor ou igual que Igual a Diferente de Condio E Condio OU Negado

Operadores - Observao
20

Em C o resultado da comparao

FALSO -> 0 VERDADEIRO -> 1

Introduo Linguagem C/C++

Comparaes e Testes
21

Resolva o seguinte exercicio no computador

Se x = 1; y = 2; cout << x == y << \n

Qual seria a sada deste comando? V (1)ou F(0)


Introduo Linguagem C

Operadores aritmticos de atribuio


22

Operador += -= *= /= %=
Ex. x+=2

Significado Soma seguido de atribuio Subtrao seguido de atribuio Multiplicao seguido de atribuio Diviso seguido de atribuio Resto da diviso seguido de atribuio

x=x+2

Introduo Linguagem C/C++

Comparaes e Testes
23

cout<< (10 > 4 && !(10 < 9) || 3 <= 4)

Qual seria a sada deste comando? V ou F


Introduo Linguagem C/C++

Converses de Tipos
24

Quando forem misturadas variveis de diferentes tipos, o compilador C

converter os operandos para o tipo de operando maior. int i=5; float f=1.5; double d=0.15; x= i +

f
float

d;
double

inteiro

double double

Pelo que a varivel x deve ser declarada como double


Introduo Linguagem C/C++

Programando C++
25

Faa um programa que pea a sua idade e o seu nome e depois volte a listar no cran estes estes dados, tal como mostra a seguinte figura

Use os carecteres especiais de formatao por forma a que a informao listada tenha uma boa apresentao.

Depois de aparecer no cran a ltima frase deve-se ouvir um sinal sonoro

Introduo Linguagem C/C++