Você está na página 1de 10

Cursos: Análise e Desenvolvimento de Sistemas e Ciências

da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Linguagem C/C++

 Origem de C está associada ao sistema Unix;


 Histórico:
 1970: Ken Thompson desenvolve B, baseada em BCPL, para o primeiro Unix
no DEC PDP-7;
 1972: Dennis Ritchie projeta a linguagem C, baseada na linguagem B;
 1988: o American National Standard Institute (ANSI) define o padrão ANSI
C;
 É considerada uma linguagem de nível médio;
 É “case sensitive”, ou seja, interpreta como diferentes letras maiúsculas de
minúsculas.

Constante

 É um determinado valor fixo que não se modifica ao longo do tempo, durante


a execução de um programa.

Declaração de Constantes
Algoritmo Linguagem C/C++
Define PI = 3,1415 #define PI 3.1415
#define ON 1
#define OFF 0

Variável

 É uma posição de memória, cujo conteúdo pode variar ao longo do tempo


durante a execução de um programa;
 Embora possa assumir diferentes valores, ela só pode armazenar um valor a cada
instante;
 Toda variável é identificada por um nome (identificador).

Regras para formação de identificadores

 Identificadores são utilizados para dar nomes a constantes, variáveis, funções e


vários objetos definidos pelo usuário. As regras para formação desses nomes são:

 Na formação do identificador só podem ser utilizados: dígitos, letras (tanto


maiúsculas quanto minúsculas) e o caractere de sublinha ( _ );
 O identificador deve começar sempre com uma letra ou caractere de
sublinha;
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Tipos de Dados

 Numéricas - número com ou sem parte fracionária. (int, float, double)


 Literais - Qualquer sequência de caracteres entre aspas (char, String)
 Lógicas - Só pode ser falso ou verdadeiro.

Tipo de Dados
Algoritmo Linguagem C/C++
Tipo Tipo Tamanho Intervalo
bytes
int 2 bytes -32768 a 32767
Numérico float 4 bytes -3.4 e-38 a +3.4e38
double 8 bytes 1.7e-308 a 1.7e308
Literal char 1 byte -128 a 127
string 8 bytes
Lógico bool 1 byte true ou false

Modificadores de Tipos de Dados

 Os modificadores alteram algumas características dos tipos básicos para adequá-


los a necessidades específicas

Modificador Significado
signed Indica número com sinal (inteiros e caracteres)
unsigned Número apenas positivo (inteiros e caracteres)
long Aumenta abrangência (inteiros e reais)
short Reduz a abrangência (inteiros)

Abrangência dos dados

Tipo Tamanho Abrangência


Bytes
char 1 -128 a 127
unsigned char 1 0 a 255
int 2 -32768 a 32767
unsigned int 2 0 a 65535
short int 2 -32768 a 32767
long int 4 -2.147.483.648 a 2.147.483.647
unsigned long 4 0 a 4.294.967.295
float 4 ± 3,4·10 -38 a ± 3,4·10 38
double 8 ± 1,7·10 -308 a ± 1,7·10 308
long double 10 ± 3,4·10 -4932 a ± 3,4·10 4932
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Declaração de variáveis

Declaração de Variáveis
Linguagem C/C++

Tipo lista-de-identificadores

int codigo, num1, soma;


float media, salarioBruto;
double mediapondera;
char nome[40];
int nota[30]
int lugar[5] [30]

Palavras-chave

 É aquela que tem significado próprio independente do programa em que esteja inserida.

auto do goto signed


break double if sizeof
case else int static
char enum long struct
const extern register switch
continue float return typeof
default for short union
void while unsigned

Comentários

 É um instrumento de grande valia usado para aumentar a clareza do programa, ou seja, o grau de
facilidade que as pessoas terão em compreender o que nele está escrito.

Comentários
Linguagem C/C++
Delimitado por /* comentário */

float nota; // a partir das barras torna-se comentário


Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Expressões Aritméticas

 Aquela cujos operadores são aritméticos e cujos operandos são constantes e/ou
variáveis do tipo numérico.

Operadores Aritméticos
Descrição Algoritmo Linguagem C/C++
Potenciação xy pow(x,y) pow(2,5)
Radiciação x sqrt(x) sqrt(81)
Multiplicação * *
Divisão / /
Adição + +
Subtração - -
Resto inteiro da divisão Resto (X, Y) X % Y 10%2
Quociente inteiro da divisão Quociente (X, Y) X/Y

Prioridade das Operações Aritméticas


Prioridade Operação Para se obter uma sequência de cálculo
1.ª Potenciação, radiciação diferente, vários níveis de parênteses
2.ª Multiplicação, divisão podem ser usados para quebrar as
3.ª Adição, subtração prioridades definidas.

Operadores de atribuição composta

Considere: int c = 3, d = 5, e = 4, f = 6, g = 12

Operação de Exemplo de expressão Explicação Atribui


atribuição
+= c += 7 c =c+ 7 10 a c
-= d -= 4 d =d- 4 1 a d
*= e *= 5 e =e* 5 20 a e
/= f /= 3 f =f/ 3 2 a f
%= g %= 9 g =g%9 3 a g

Operadores de Incremento e Decremento

Operador Nome Exemplo de Explicação


Expressão
++ Pré-incremento ++a Incrementa a por 1, então usa o novo valor de a na
expressão em que a aparece
++ Pós-incremento a++ Usa o valor atual de a na expressão em que a
aparece, então incrementa a por 1
-- Pré-decremento --b Decrementa b por 1, então usa o novo valor de b
na expressão em que b aparece
-- Pós-decremento b-- Usa o valor atual de b na expressão em que b
aparece, então decrementa b por 1
Expressões Lógicas
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

 Aquela cujos operadores são lógicos e cujos operandos são relações (comparação
realizada entre dois valores do mesmo tipo básico), constantes e/ou variáveis do
tipo lógico.

Operadores Relacionais
Descrição Algoritmo Linguagem C/C++
igual a = ==
Diferente <> !=
maior que > >
menor que < <
maior ou igual >= >=
menor ou igual <= <=

Operadores lógicos
Descrição Algoritmo Linguagem C/C++
Conjunção e && and
Disjunção ou || or
Negação não !

Conectivo E (Conjunção) P^Q  Lê-se p E q

P Q P^Q

1 1 1
1 0 0
0 1 0
0 0 0

Conectivo OU (Disjunção) PvQ  Lê-se p OU q

P Q PvQ

V V V
V F V
F V V
F F F

¬P  Lê-se NAO p
Conectivo NÃO (Negação)

P ¬p

V F
F V

Prioridade das Operações

 Numa expressão pode ter mais de um operador lógico. Em alguns casos,


conforme os valores envolvidos, a ordem em que são efetuadas as operações
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

lógicas afeta o resultado final. Assim como acontece nas operações aritméticas,
também existe uma relação de prioridade entre os operadores lógicos.

Prioridade Operador

1ª Aritmético
2ª Relacional
3ª Não (!)
4ª E (&&)
5ª Ou (!!)

Comando de atribuição

 Permite que se forneça valor a certa variável, onde a natureza deste valor tem de
ser compatível com o tipo da variável na qual está sendo armazenado.

Comando de Atribuição
Algoritmo Linguagem C/C++
a1 a=1
aa+c a=b+c
,

Comando de entrada

 Permite que o usuário forneça dados para o computador.

Comando de Entrada
Algoritmo Linguagem C/C++
leia lista-de-identificadores scanf(“código-de-formatação”, &identificador)
leia nota scanf(“%d”, &nota)

cin >>nota;
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Comando de saída

 Permite que o computador forneça resultados ao usuário.

Comando de Saída
Algoritmo Linguagem C/C++
escreva lista-de-identificadores printf(“código-de-formatação”, identificador)
escreva nota printf(“Nota do Aluno foi %d”, nota)

cout << “Nota do Aluno “ << nota;

Código de Formatação de Entrada/Saída – comando printf

Formato Código de Formatação


caracter %c
decimal (int) %d
inteiro %i
ponto flutuante %f
string %s
ponteiro %p

Estrutura geral - programa em C++

Essencialmente, um programa C++ consiste de uma ou mais partes chamadas funções.


Além disso, um programa em C++ deve definir pelo menos uma função chamada main.
Esta função marca o ponto de início de execução do programa.

#include <stdio.h>
#include <iostream>

using namespace std;

definição de constantes

Funções

int main( ) {

Declaração de variáveis
....
Sentenças
....
return 0;
}
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

 A diretiva #include diz ao pré-processador para incluir o arquivo iostream (cin e cout).
Este arquivo contém declarações da biblioteca básica de entrada e saída em C++ e é
incluído pela funcionalidade que será utilizada em linhas posteriores do programa.

 Todos os elementos da biblioteca padrão do C++ são declarados dentro do que é


chamado namespace, e o nome do namespace padrão é std. Para acessar suas
funcionalidades nós declaramos esta expressão. Esta linha de código é muito
frequente em programas escritos em C++ que usam a biblioteca padrão.

 A função main é o ponto onde todo programa escrito em C++ inicia sua execução.
Não importa qual o número de funções que um programa contenha antes, ou depois
da função main, ou ainda seus nomes, um programa sempre inicia sua execução pela
função main.

 A palavra main é seguida por um par de parênteses ( ( ) ). Neste caso trata-se de uma
declaração de função: em C++, o que diferencia uma declaração de função de outro
tipo de expressão são os parênteses após seu nome. Opcionalmente, estes parênteses
podem conter uma lista de parâmetros.

 Logo após os parênteses encontramos o corpo do programa. O corpo do programa é


apresentado entre duas chaves ({ }). O conteúdo incluído dentro das chaves é o que
será executado e onde nós iremos escrever o código do programa.

 A instrução return faz com que a função main termine. return pode ser seguido por
um código de retorno (no nosso exemplo é seguido pelo código de retorno com um
valor de zero). Um código de retorno de 0 para a função main é geralmente
interpretado como um correto e esperado funcionamento do programa, sem quaisquer
erros durante sua Página | 8 de 93 execução. Esta é a forma mais usual para encerrar
um programa em C++.
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Estrutura Sequencial

 Os comandos devem ser executados um após o outro, na mesma ordem em que


aparecem escritos.

Exemplo – Faça um programa que leia a idade do pai e a do filho calcule e escreva
a diferença de idades entre os dois.

Algoritmo Linguagem C/C++

#include <stdio.h>
Algoritmo main( ) {
declare idp, idf, dif numérico int idp, idf, dif;
leia idp, idf printf("Digite Idade do Pai :");
dif  idp – idf scanf("%d", &idp);
escreva “A diferença entre as idades é “, dif printf("Digite Idade do Filho :");
Fim-algoritmo scanf("%d", &idf);
dif = idp - idf;
printf("A diferenca entre as idades e : %d ", dif);
}

#include <iostream>
using namespace std;

main( ) {
int idp, idf, dif;

cout << "Digite Idade do Pai : ";


cin >> idp;

cout << "Digite Idade do Filho : ";


cin >> idf;

dif = idp - idf;

cout << "A diferenca entre as idades e :" << dif;

}
Cursos: Análise e Desenvolvimento de Sistemas e Ciências
da Computação
Disciplina: INTRODUÇÃO À PROGRAMAÇÃO
ESTRUTURADA EM C
- Prof.ª: Maria Rita

Exemplo – João faz economias em dólar e deseja saber quanto vale em reais, faça um
programa que leia a quantidade de dólares que ele possui e a cotação do dólar em real,
calcule e escreva o valor convertido.

Algoritmo Linguagem C/C++

#include <stdio.h>
Algoritmo main( ) {
declare qtdedolar, cotacao, conv numérico float dolar, cotacao, conv;
leia qtdedolar
leia cotacao printf("Quantidade de Dolar :");
conv  qtdedolar * cotacao scanf("%f", &dolar);
escreva “Valor em Reais é “, conv
Fim-algoritmo printf("Cotacao do Dolar :");
scanf("%f", &cotacao);

conv = dolar * cotacao;

printf("Valor em Reais : %4.2f", conv);


}

#include <iostream>
using namespace std;

main( ) {

float dolar, cotacao, conv;

cout << "Quantidade de Dolar :";


cin >> dolar;

cout << "Cotacao do Dolar :";


cin >> cotacao;

conv = dolar * cotacao;

cout << "Valor em Reais : " << conv;


}

Você também pode gostar