Disciplina:
Programação Computacional*
Prof. Fernando Rodrigues
e-m@il: [email protected]
Aula 04: Conceitos básicos da linguagem C
Principais bibliotecas
Tipos de dados
Palavras reservadas
Operadores
Atribuição
Funções de Entrada e Saída (printf() e scanf())
Conceitos básicos da linguagem C
2
Ambiente de Programação: Dev C++
3
Criação de programa
4
O menor programa em C
6
Informações Importantes
Tudo deve ter começo e fim:
– Os símbolos /* e */ indicam o começo e o fim de um comentário. Em alguns
(versões de) compiladores , pode-se usar // como comentário de linha única,
finalizado com a quebra de linha (Enter).
– Os símbolos { e } indicam o começo e o fim de um bloco de comandos.
– Listas de parâmetros são delimitadas por ( e ) .
– Os símbolos " e " indicam o começo e o fim de uma cadeia de caracteres,
enquanto ‘ e ‘ delimitam um único caractere.
– Todo comando deve ser encerrado com o símbolo ; (ponto-e-virgula).
7
Declaração de variáveis e/ou constantes
Sintaxe: tipo nome_variavel 1, nome_variavel 2;
8
Declarando variáveis e/ou constantes
9
Identificadores
10
Constantes x Variáveis
11
Tipos primitivos
O tipo void é utilizado apenas para funções (que não retornam valores)
e ponteiros genéricos (como veremos posteriormente).
A linguagem C ANSI não possui o tipo boolean. O mesmo é definido apenas
para a linguagem C++ (como tipo “bool”).
12
Modificadores de tipos (combinações)
15
Palavras reservadas
16
Principais bibliotecas
17
Principais bibliotecas
18
Atribuição
19
Atribuição
20
Operadores
21
Operadores Aritméticos
22
Operadores Lógicos
23
Operadores (Exemplo)
24
Operadores de Atribuição
Suponha: int c = 3, d = 5, e = 4, f = 6, g =
12
c += 7 => c = c + 7 => 10?
d -= 4 => d = d - 4 => 1?
?
e *= 5 => e = e * 5 => 20
f /= 3 => f = f / 3 => 2?
g %= 9 => g = g % 9 => 3?
25
Incremento e decremento
26
Operadores de Incremento e Decremento
pré-incremento ++a Incrementa a por 1, depois utiliza o novo valor de a na
expressão em que a reside.
pós-incremento a++ Utiliza o valor atual de a na expressão em que a reside, depois
incrementa a por 1.
pré-decremento --b Decrementa b por 1, depois utiliza o novo valor de b na
expressão em que b reside.
pós-decremento b-- Utiliza o valor atual de b na expressão em que b reside, depois
incrementa b por 1.
int c = 5;
printf(“%d\n”,c++); Será impresso 5 e o valor de c será 6
printf(“%d\n”,++c); Será impresso 7 e o valor de c será 7
27
Prioridades de operadores
2*4+2 = ?
2*(4+2) = ?
3*4/2 = ?
3*(4/2) = ?
28
Função de escrita: printf()
30
Símbolos utilizados na função printf()
31
printf( ) - Exemplos
32
Função de leitura scanf()
33
Função de leitura scanf()
Na função scanf( ), o código de formatação %d só permite
entrada de um número inteiro com sinal no formato decimal.
Quando usa-se o %d, o padrão determina que os caracteres
sejam apenas dígitos numéricos e símbolos agregados,
notadamente o sinal de negativo.
Já o %i, permite a entrada no formato hexadecimal ou octal, pois
é possível incluir um prefixo indicando que o formato de entrada é
outro (sem prefixo é usado o decimal).
Se usar, por exemplo 0x, as letras de a até f, não importa a caixa,
são aceitas também, já que a notação hexadecimal as permite.
Já se usar 0 como prefixo, será considerada a leitura de um valor
octal.
34
scan( ) - Exemplos:
Pode-se usar o “%*c” após qualquer outro código de controle
na função scanf( ), pois isso determina que o <Enter> digitado
após os caracteres / valores inseridos antes não fiquem no
buffer de entrada, podendo ser considerados / lidos
errôneamente numa próxima entrada de valores pelo teclado.
35
scanf( ) - Exemplos:
Ler o valor de uma variável inteira, sem “lixo” <Enter> no buffer:
int j;
scanf(“%d%*c”, &j);
Ler o valor de duas variáveis inteiras, sem “lixo” no buffer de entrada:
int i, j;
scanf(“%d %i”, &i, &j);
Ler o valor de uma variável real e uma variável inteira, sem lixo no buffer
int j; float x;
scanf(“%f %d%*c”, &x, &j);
Ler o valor de uma variável string (array de caracteres):
char str [30];
scanf(“%s”, str); // Lê somente até o 1º espaço em branco
scanf(“%[^\n]s”, str); // Lê toda a string incluindo os espaços em branco
36
scanf( ) - Utilização
Na função scanf( ) é imprescindível o uso do símbolo de endereço
‘&’ imediatamente antes do nome da variável.
A exceção fica por conta dos vetores, como as strings, onde não é
necessário incluir tal caractere (&) antes do nome da variável.
37
Formatando a saída
38
Observação: operação de divisão
39
Observação: módulo
40
Exercícios Propostos 1 – Linguagem C
●
Escreva programas em C que:
– Leia dois números inteiros e exiba a soma, a diferença, a multiplicação, a
divisão inteira, o resto e a potência entre eles;
– Faça o mesmo do anterior, mas com 2 números reais (com a divisão de
ponto flutuante e sem o resto);
– Leia dois números, exiba-os e troque os valores das duas variáveis que
receberam tais números, exibindo os mesmos depois da troca;
– Faça o mesmo do anterior, mas usando apenas as 2 variáveis (sem usar
variável auxiliar) para a troca dos valores;
– Faça um programa que receba três notas e seus respectivos pesos,
calcule e mostra a média ponderada;
– Faça um programa que calcule e mostre a área de um triângulo,
recebendo a base(B) e a altura(H) como parâmetros e sabendo que
Área = (B*H)/2
41
FIM