Linguagem C Hello World Palavras Reservadas Tipos de Dados

Transcrição

Linguagem C Hello World Palavras Reservadas Tipos de Dados
Hello World
void main() {
printf("Hello world!\n");
}
Linguagem C
ƒ main é a função principal, a
execução do programa começa por
ela
ƒ printf é uma função usada para
enviar dados para o vídeo
Palavras Reservadas
auto
break
case
char
continue
default
do
double
else
entry
extern
float
for
goto
if
int
long
register
return
sizeof
short
static
struct
switch
typedef
union
unsigned
while
Operadores Aritméticos
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
- subtração
+ adição
* multiplicação
/ divisão de inteiros e reais
% resto da divisão
-- decremento
++ incremento
Tipos de Dados
ƒ Tipo
Bits Faixa
ƒ Char
8
-128 a 127
ƒ int
16 -32768 a 32767
ƒ unsigned int 16 0 a 65535
ƒ signed int
16 -32768 a 32767
ƒ long int
32 -2147483648 a 147483648
ƒ float
32 3.4e-38 a 3.4e+38
ƒ double
64 1.7e-308 a 1.7e+308
Os tipos podem mudar com o compilador
Pré e pós incremento e
pré e pós decremento
Exemplo:
x=10;
//pré incremento
y=++x;
Resultado:
x=11, y=11
Exemplo:
x=10;
//pós incremento
y=x++;
Resultado:
x=11, y=10
1
Operadores Relacionais
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Operadores Lógicos
ƒ && e
ƒ | | ou
ƒ!
negação
> maior que
< menor que
>= maior ou igual
<= menor ou igual
== igual a
!= diferente de
– Exemplo:
if (10 < i && i <= 20) {
...
}
Operadores de Atribuição
Operadores Manipulação de Bits
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
& e
| or
>> desloca à direita
<< desloca à esquerda
^ ou exclusivo
~ negação (complemento de 1)
ƒ
ƒ
ƒ
ƒ
=
+=, -=, *=, /=, %=
&=, |=, !=
<<= , >>= , &=, ^=, |=
– A expressão E1 (lado esquerdo) deve ser
modificável (lvalue)
E1=E2
– Uma operação de atribuição retorna o
valor atribuído
i=(j=3);
Operador Condicional ?:
ƒ Em Pascal:
IF A>B THEN
C:=A
ELSE
C:=B;
ƒ Em C:
if (a>b)
c=a;
else
c=b;
ƒ Também em C:
c=a>b?a:b
//j=3 e i=3
Operador , (vírgula)
ƒ Exemplo 1:
i=2, j=(3, 4, 5);
i=2, j=3, 4, 5;
//i=2 e j=5
//i=2 e j=3
ƒ Exemplo 2:
i=2, 3, 4, j=5;
if (i==2, j==4)
//i=2 e j=5
a condição do if é falsa, pois o valor retornado
corresponde ao j==4
ƒ Exemplo 3:
i=(j=2, k=3);
//j=2, k=3 e i=3
2
Definição de Funções
tipo identificador(lista de argumentos)
{
declaração de variáveis locais;
comando ou bloco de comandos;
}
onde: tipo – tipo de dado retornado pela função
identificador – nome da função
lista de argumentos – lista dos parâmetros
Formato de um Programa
Completo em C
declaração de variáveis globais
função 1
declaração de variáveis globais
função 2
...
declaração de variáveis globais
função n
uma das funções deve ser a função
Exemplo de Função
/* Eleva x a n-ésima potência */
int pot(int x, int n) {
int i, p;
p=1;
for (i=1; i<=n; i++)
p*=x;
return p;
}
Exemplo de um Programa
int pot(int x, int n) {
int i, p;
p=1;
for (i=1; i<=n; i++)
p*=x;
return p;
}
void main() {
int x, p;
x=10;
p=pot(x, 2);
printf(“%d\n”, p);
}
main (início do programa)
break
continue
ƒ Salta para a primeira instrução após o fim
do laço (bloco de repetição) mais interno.
ƒ A condição do laço não é verificada
#include <stdio.h>
void main() {
int i, j;
for (i=1; i<=3; i++) {
j=0;
while (j++<=3) {
if (j==2)
break;
printf("%d, %d\n", i, j);
}
}
}
ƒ Retorna para início do laço mais interno.
ƒ A condição do laço é verificada antes de
continuar
#include <stdio.h>
No vídeo:
1, 1
2, 1
3, 1
void main() {
int i, j;
for (i=1; i<=3; i++) {
j=0;
while (j++<=3) {
if (j==2)
continue;
printf("%d, %d\n", i, j);
}
}
}
No vídeo:
1, 1
1, 3
1, 4
2, 1
2, 3
2, 4
3, 1
3, 3
3, 4
3
Função printf()
ƒ Envia texto e valores formatados para o
vídeo
Formato:
printf(formatação, arg1, arg2, ...);
onde:
formatação – é uma cadeia de caracteres
contendo textos e formatações que serão
utilizadas para apresentar os argumentos
(argi)
argi – é a expressão que terá seu valor
apresentado no vídeo
printf() – Formatação
ƒ O texto de formatação pode conter dois tipos de
objetos:
1. Texto que será apresentado literalmente
2. Declarações de conversões
– % [comprimento] [.prec] [F|N|h|l|L] tipo
onde:
Declarações de Conversões
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
%c
%d
%i
%e
%f
%o
%s
%x
%p
%g
%%
%u
caractere único
inteiro decimal
inteiro decimal
número com ponto flutuante
número com ponto flutuante
número octal
string
número hexadecimal
ponteiro
usa %e ou %f, aquele que for menor
Imprime %
decimal sem sinal
Caracteres Especiais
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
\b
\f
\n
\r
\t
\’
\0
\\
\xnn
Retrocesso (BackSpace)
Nova página (Form Feed)
Linha nova (Line Feed)
Retorno do carro (Carriage Return)
Tabulação horizontal
Caractere apóstrofo
Caractere nulo ou fim de string
Caractere barra invertida
Caractere nn em hexadecimal
comprimento – número mínimo de caracteres ocupados
pelo formato
prec – número mínimo de caracteres (em inteiros)
número de casas decimais (em reais)
N = near pointer
F = far pointer
h = short int
l = long
L = long double
Usando printf()
void main() {
float x;
x=3.141592;
printf(“%5.2f!”, x);
printf(“%3.2f\n”, x);
}
ƒ No vídeo obteremos:
_3.14!3.14
Espaço
printf(“linha1\nlinha2”);
printf(“\nlinha3\n”);
ƒ No vídeo:
linha1
linha2
linha3
Função scanf( )
ƒ Lê valores digitados pelo usuário
Formato:
scanf(formatação, arg1, arg2, ...);
onde:
formatação – é uma cadeia de caracteres
contendo formatações que serão utilizadas
para ler os dados
argi – é o endereço (ponteiro) da variável que
receberá os dados lidos
4
Função scanf( )
void main() {
int x, a;
scanf(“%d%x”, &x, &a);
printf(“x=%d, a=%d\n”, x, a);
}
ƒ No vídeo:
33
Digitado pelo usuário
7f
x=33, a=127
Função scanf( )
void main() {
int x, a;
scanf(“%d,%x”, &x, &a);
printf(“x=%d, a=%d\n”, x, a);
}
ƒ No vídeo:
33,7f Digitado pelo usuário
x=33, a=127
Função scanf( )
void main() {
int x, a, y;
scanf(“%d,%x”, &x, &a);
scanf(“%d;%x”, &x, &a);
scanf(“;%x”, &y);
printf(“x=%d, a=%d, y=%d\n”, x, a, y);
}
ƒ No vídeo:
33;7f Digitado pelo usuário
x=33, a=<lixo>, y=127
ƒ Atenção: se um símbolo diferente for digitado pelo usuário, os
scanf’s seguintes serão ignorados até que um scanf com a
formatação iniciada pelo símbolo seja executado.
5

Documentos relacionados

Lista03 Extra

Lista03 Extra 6. Escreva uma função transporMatriz que receba por parâmetro uma matriz 4 × 5 e outra matriz 5 × 4. A função deve transpor a matriz 4 × 5 e armazenar os resultados na matriz 5 × 4. 7. Utiliza...

Leia mais