Aula2 Tipos
Aula2 Tipos
Engenharia de Computação
2018/1
CEFET-MG
etapas da programação
edição do programa: editor de texto
compilação
transformação do programa fonte em programa executável
feito pelo compilador: programa
execução: feita pelo usuário usando o programa executável
Escrita de um programa em C
Programa mínimo em C
int main ( ){ }
observações
a função main( ) é obrigatória
todas as funções em C tem parênteses ( )
main é uma palavra reservada da linguagem
a linguagem C distingue letras maiúsculas e minúsculas
Main é diferente de main, mAin, maIn, MAin, maiN, MAIN
todas as palavras reservadas da linguagem são escritas com letras
minúsculas
em geral, um programa em C é todo escrito com minúsculas, a
menos de certos tipos de definição
Programa "Hello World" em C
#include <stdio.h>
int main ( ) {
printf("Hello, World!");
}
versão em português:
#include <stdio.h>
int main ( ) {
printf("Olá, mundo!");
}
Variáveis
Conceito de variável pode ser expresso de diversas formas
variável: armazena valores que podem variar
equivale aos utensílios utilizados para armazenar os alimentos
quando fazemos uma receita
os dados (valores numéricos) que o programa utiliza
precisam ser armazenados na memória do computador
antes de serem processados pela CPU: o lugar para
isso são as variáveis
Memória do computador
sequência grande e numerada de bytes
cada byte possui um endereço
cada variável ocupa um conjunto de bytes na memória
o número de bytes depende do tipo da variável
Memória do computador e variáveis
Numeração
dos bytes
variável f
ocupa 4 bytes
e tem valor
igual a 3.14
Variáveis
como a memória é muito grande e pode possuir bilhões de bytes (109
bytes) é difícil programar usando os endereços de memória
Exemplos:
Ver mais
int idade; //ok exemplos no
livro
int Num_Cliente; //ok
float x; //ok
float 5x; //erro: inicia com dígito
double porcento%; //erro:caractere inválido %
char sim?nao; //erro: caractere inválido ?
int _alfa; //correto, porém desaconselhável
char letra, Letra; //duas variáveis diferentes
correto, porém desaconselhável
Nomes de variáveis e identificadores
escrever de forma a facilitar a leitura:
nomeclienteprincipal
NomeClientePrincipal
nome_cliente_principal
Nome_Cliente_Principal
Tipos de dados básicos
a linguagem C implementa 4 tipos de dados básicos
cada compilador é livre para escolher tamanhos (bytes) adequados de
acordo com seu próprio hardware
as variáveis e expressões podem assumir um destes tipos:
Tamanho
Tipo Valor
(bytes)
um caractere (ou um
char 1
inteiro pequeno)
o número de
bytes
int 4 um número inteiro depende da
arquitetura do
número pequeno em computador
float 4
ponto flutuante
número grande em
double 8
ponto flutuante
Modificadores de Tipos
São palavras que alteram o significado de um tipo base, definindo um
novo tipo derivado => especifica as características da variável
As palavras são: short, long, signed, unsigned
Exemplos: tipos comuns modificados => tipos derivados
short int
long int
signed char
signed int
signed short int
signed long int
unsigned char
unsigned int
unsigned short int
unsigned long int
Faixa de valores para as variáveis
Tipo Num de bits Formato para leitura Menor valor Maior valor
com scanf
atribuição
para atribuir um valor a uma variável, utilizamos a operação de
atribuição
sintaxe: variável = expressão;
exemplos:
int num;
num = -17;
int numero = -17;
int n1 =3, n2 = 5;
int a = 10, b, c, d = 123; //4 variáveis
int valor = num;
a = b = c = d = 5; //atribuições múltiplas
módulo 21 4 Valor da
divisão inteira
1 5
Operadores de incremento e decremento
x = x + 5; x += 5;
x = x – (a + b); x -= (a + b);
x = x * (a – b); x *= (a – b);
x = x / (x + 1); x /= (x + 1);
Exercício
int x,y,z;
x = y = 10;
z = ++x;
x = -x;
y++;
z = z + x + y;
Variáveis do tipo char
são representadas pela linguagem como inteiros de 8 bits (um byte)
por isso, podem ser vistas também como inteiros
cada caractere tem o valor inteiro de sua posição na tabela de
caracteres ASCII
#include <stdio.h>
int main () {
char Ch;
Ch='D';
printf ("%c",Ch); //char D
printf ("%d",Ch); //int 68
}
Variáveis do tipo char
#include <stdio.h>
int main () {
char Ch;
scanf("%c", &Ch);
printf ("Voce pressionou a tecla %c",Ch);
}
Captura e imprime o
caractere digitado
pelo usuário
Tabela de caracteres ASCII
Dec Char Dec Char Dec Char Dec Char
--------- --------- --------- ----------
0 NUL (null) 32 SPACE 64 @ 96 `
1 SOH (start of heading) 33 ! 65 A 97 a
2 STX (start of text) 34 " 66 B 98 b
3 ETX (end of text) 35 # 67 C 99 c
4 EOT (end of transmission) 36 $ 68 D 100 d
5 ENQ (enquiry) 37 % 69 E 101 e
6 ACK (acknowledge) 38 & 70 F 102 f
7 BEL (bell) 39 ' 71 G 103 g
8 BS (backspace) 40 ( 72 H 104 h
9 TAB (horizontal tab) 41 ) 73 I 105 i
10 LF (NL line feed, new line) 42 * 74 J 106 j
11 VT (vertical tab) 43 + 75 K 107 k
12 FF (NP form feed, new page) 44 , 76 L 108 l
13 CR (carriage return) 45 - 77 M 109 m
14 SO (shift out)
15 SI (shift in)
46 .
47 /
78 N
79 O
110 n
111 o ASCII
16 DLE (data link escape) 48 0 80 P 112 p
17 DC1 (device control 1) 49 1 81 Q 113 q
18 DC2 (device control 2) 50 2 82 R 114 r American
19 DC3 (device control 3) 51 3 83 S 115 s
20 DC4 (device control 4) 52 4 84 T 116 t Standard Code
21 NAK (negative acknowledge) 53 5 85 U 117 u
22 SYN (synchronous idle) 54 6 86 V 118 v for Information
23 ETB (end of trans. block)
24 CAN (cancel)
55 7
56 8
87 W
88 X
119 w
120 x
Interchange
25 EM (end of medium) 57 9 89 Y 121 y
26 SUB (substitute) 58 : 90 Z 122 z
27 ESC (escape) 59 ; 91 [ 123 {
28 FS (file separator) 60 < 92 \ 124 |
29 GS (group separator) 61 = 93 ] 125 }
30 RS (record separator) 62 > 94 ^ 126 ~
31 US (unit separator) 63 ? 95 _ 127 DEL
exemplo: printf(”o valor de número é %d\n”, numero);
código Significado
%d Inteiro
%f Float O formato
depende do tipo
%c Caractere da variável a ser
impressa
%s String
%% escreve %
Exemplos
printf ("Teste %% %%"); imprime Teste % %
scanf(“%d”, &idade);
Trecho de código:
printf (“Digite a sua idade:\n”);
scanf (“%d”, &idade);
printf(“Sua idade é: %d”, idade);
String de controle: formatos de leitura
%c caracter
%d inteiro
%e número ou notação científica
%f ponto flutuante
%o octal
%x hexadecimal
%s string (cadeia de caracteres)
%lf double
Exemplo de uso de strings de controle
#include <stdio.h>
main ( )
{
char a ;
printf ( “digite um caracter\n” );
scanf ( “ % c”, &a );
printf (“ \n %c = %d em decimal”, a, a);
printf (“%o em octal, %x em hexadecimal”, a, a);
}
Digitando m:
m = 109 em decimal, 155 em octal, 6d em hexadecimal
Caracteres especiais: constantes iniciadas por \
Código Significado
\b Retrocesso ("back")
\f Alimentação de formulário ("form feed")
\n Nova linha ("new line")
\t Tabulação horizontal ("tab")
\" Aspas
\' Apóstrofo
\0 Nulo (0 em decimal)
\\ Barra invertida
\v Tabulação vertical
\a Sinal sonoro ("beep")
\N Constante octal (N é o valor da constante)
\xN Constante hexadecimal (N é o valor da constante)
Formatando a impressão com printf
#include <stdio.h>
main ( ) {
printf (“os alunos são %2d \n”, 350);
printf (“os alunos são %4d \n”, 350);
printf (“os alunos são %5d \n”, 350);
}
• Exemplo:
32
Formatação de valores numéricos
33
Formatação de valores numéricos
• Exemplo:
34
Exercícios
Estude os capítulos 1 e 2.
Faça os exercícios dos capítulos 1 e 2.
Leia o capítulo 3 para a próxima aula, isto é, ler antes da aula.
Curso de C na Web
http://www.ead.cpdee.ufmg.br/cursos/C/c.html