Você está na página 1de 42

Linguagem C

Programação Imperativa

Profa. Beatriz Trinchão Andrade

Departamento de Computação - UFS

Profa. Beatriz Trinchão Andrade 1 / 28


Linguagem C

Sumário

Conceitos Básicos

Variáveis e Tipos de Dados

Referências

Profa. Beatriz Trinchão Andrade 2 / 28


Linguagem C
Conceitos Básicos

Sumário

Conceitos Básicos

Variáveis e Tipos de Dados

Referências

Profa. Beatriz Trinchão Andrade 3 / 28


Linguagem C
Conceitos Básicos

Estrutura Básica de um Programa


I Um programa em C é constituido por uma ou mais funções
com a seguinte estrutura geral:

tipo nomeFunc ( declaração dos parâmetros ) {


declaração de variáveis ;
instrução_2 ;
...
instrução_n ;
return exp_tipo ;
}

Profa. Beatriz Trinchão Andrade 4 / 28


Linguagem C
Conceitos Básicos

Função main()
I Existe uma função especial na linguagem C que é a função
main().

int main (){


return 0;
}

I Esta função marca o inı́cio da execução do programa.


I O programa começa a ser executado na primeira linha da
função main() e termina quando o comando de retorno é
alcançado (ou quando o sı́mbolo } for encontrado).

Profa. Beatriz Trinchão Andrade 5 / 28


Linguagem C
Conceitos Básicos

Função main()

int main (){


return 0;
}

I O tipo de retorno da função main() é int, o que significa que


a função deve retornar um valor inteiro.

Profa. Beatriz Trinchão Andrade 6 / 28


Linguagem C
Conceitos Básicos

Declaração de Funções

I Os parênteses após o nome da função permitem que o


compilador identifique que trata-se de uma função.
I O corpo de toda função começa com uma chave de abertura
de bloco ({) e termina com uma chave de fechamento de
bloco (}).

Profa. Beatriz Trinchão Andrade 7 / 28


Linguagem C
Conceitos Básicos

Declaração de Funções

I Espaços em branco são ignorados pelo compilador.


I Espaços em branco, tabulações, quebras de linha podem ser
inseridos à vontade pelas regras do compilador (mas não pelas
minhas!).
I Exceções: espaços em branco, tabulações e quebras de linha
em textos escritos entre aspas, em nomes de funções,
operadores, comandos da linguagem e diretivas do
pré-compilador.

Profa. Beatriz Trinchão Andrade 8 / 28


Linguagem C
Conceitos Básicos

Declaração de Funções

int main
(
)
{
return
0
;
}
int main (){ return 0;}

Profa. Beatriz Trinchão Andrade 9 / 28


Linguagem C
Conceitos Básicos

Hello World!

# include < stdio .h >


# include < stdlib .h > // windows

int main (){


printf ( " Hello World !\ n " );
system ( " pause " ); // windows
return 0;
}

Profa. Beatriz Trinchão Andrade 10 / 28


Linguagem C
Conceitos Básicos

Função printf()

I printf() não faz parte da linguagem C.


I Essa função pertence à biblioteca padrão de entrada e saı́da
que é fornecida com os compiladores C (stdio).
I A função printf() está associada à saı́da padrão do S.O.
I Os parênteses indicam que trata-se de uma função e a
informação contida nos parênteses é chamada de argumento
da função.

Profa. Beatriz Trinchão Andrade 11 / 28


Linguagem C
Conceitos Básicos

Função printf()

I Quando o programa encontra a linha com a função printf(), o


controle é desviado para esta função que executa a impressão
na saı́da padrão.
I Após o término da execução da função, o controle é devolvido
para a próxima instrução de onde ela foi chamada.
I O \n é um código especial que informa à função printf() que
ali deve ser inserida uma quebra de linha.

Profa. Beatriz Trinchão Andrade 12 / 28


Linguagem C
Conceitos Básicos

Função printf()

I Outros códigos especiais incluem:


I \t (tab)
I \r (retorno ao inı́cio da linha)
I \\ (barra invertida)
I \’ (aspas simples)
I \”(aspas duplas)
I Existem também códigos de formatação que podem ser
utilizados para imprimir o valor de expressões (variáveis,
constantes etc.).

Profa. Beatriz Trinchão Andrade 13 / 28


Linguagem C
Conceitos Básicos

Função printf()

I Alguns códigos de formatação:


I %c (caracter simples),
I %d (inteiro decimal com sinal)
I %i (inteiro decimal com sinal)
I %e (notação cientı́fica com e minúsculo)
I %E (notação cientı́fica com E maiúsculo)
I %f ponto flutuante em decimal
I %g (usa %e ou %f , o que for menor)
I %G (usa %E ou %f , o que for menor)

Profa. Beatriz Trinchão Andrade 14 / 28


Linguagem C
Conceitos Básicos

Função printf()

I Alguns códigos de formatação:


I %o (inteiro octal sem sinal)
I %s (string de caracteres)
I %u (inteiro decimal sem sinal)
I %x (inteiro hexadecimal sem sinal - letras minúsculas)
I %X (inteiro hexadecimal sem sinal - letras maiúsculas)
I %p (ponteiro - endereço)
I %n (ponteiro inteiro)
I %% (imprime um caractere %)

Profa. Beatriz Trinchão Andrade 15 / 28


Linguagem C
Conceitos Básicos

Função printf()

I Alguns modificadores de formatação podem ser utilizados:


I %ld, %li, %lu, %lo e %lx informam que o tipo associado será
long.
I %hd, %hi, %hu, %ho e %hx indicam que o tipo será short.
I %Le, %Lf e %Lg informam que o tipo será long double.

Profa. Beatriz Trinchão Andrade 16 / 28


Linguagem C
Conceitos Básicos

Função printf()

int main (){


printf ( " Este é o número 5.\ n " );
}

int main (){


printf ( " Este é o número % d .\ n " , 5);
}

int main (){


float n1 = 1 , n2 = 3;
printf ( " Esta é a soma : % f .\ n " , n1 + n2 );
}

Profa. Beatriz Trinchão Andrade 17 / 28


Linguagem C
Conceitos Básicos

Função printf()
I É possı́vel ainda formatar a impressão de um campo de
impressão determinando quantos espaços serão utilizados e
quantas casas decimais (precisão).

int main (){


printf ( " Número %10.2 f formatado .\ n " , 5.0);
}

int main (){


printf ( " Número %.2 f formatado .\ n " , 5.0);
}

Profa. Beatriz Trinchão Andrade 18 / 28


Linguagem C
Conceitos Básicos

Valores Constantes

I Número decimal: é escrito normalmente, parte fracionária


separada por um ponto. Ex.: 12, 567, 8.19

Profa. Beatriz Trinchão Andrade 19 / 28


Linguagem C
Conceitos Básicos

Valores Constantes

I Número decimal: é escrito normalmente, parte fracionária


separada por um ponto. Ex.: 12, 567, 8.19
I Número hexadecimal: deve ser precedido de 0x. Ex.: 0x41,
0x1afb, 0x54CA

Profa. Beatriz Trinchão Andrade 19 / 28


Linguagem C
Conceitos Básicos

Valores Constantes

I Número decimal: é escrito normalmente, parte fracionária


separada por um ponto. Ex.: 12, 567, 8.19
I Número hexadecimal: deve ser precedido de 0x. Ex.: 0x41,
0x1afb, 0x54CA
I Número octal: deve ser precedido por um zero. Ex.: 012, 041,
0567

Profa. Beatriz Trinchão Andrade 19 / 28


Linguagem C
Conceitos Básicos

Valores Constantes

I Número decimal: é escrito normalmente, parte fracionária


separada por um ponto. Ex.: 12, 567, 8.19
I Número hexadecimal: deve ser precedido de 0x. Ex.: 0x41,
0x1afb, 0x54CA
I Número octal: deve ser precedido por um zero. Ex.: 012, 041,
0567
I Caractere: um único caracter pode ser representado entre
aspas simples.

Profa. Beatriz Trinchão Andrade 19 / 28


Linguagem C
Conceitos Básicos

Valores Constantes

I Número decimal: é escrito normalmente, parte fracionária


separada por um ponto. Ex.: 12, 567, 8.19
I Número hexadecimal: deve ser precedido de 0x. Ex.: 0x41,
0x1afb, 0x54CA
I Número octal: deve ser precedido por um zero. Ex.: 012, 041,
0567
I Caractere: um único caracter pode ser representado entre
aspas simples.
I String de caracteres: uma cadeia de caracteres pode ser
representada entre aspas duplas.

Profa. Beatriz Trinchão Andrade 19 / 28


Linguagem C
Conceitos Básicos

Comentários

I Comentários podem ser colocados em qualquer lugar e são


ignorados pelo compilador.

Profa. Beatriz Trinchão Andrade 20 / 28


Linguagem C
Conceitos Básicos

Comentários

I Comentários podem ser colocados em qualquer lugar e são


ignorados pelo compilador.
I Facilitam a leitura do código fonte do programa
(documentação).

Profa. Beatriz Trinchão Andrade 20 / 28


Linguagem C
Conceitos Básicos

Comentários

I Comentários podem ser colocados em qualquer lugar e são


ignorados pelo compilador.
I Facilitam a leitura do código fonte do programa
(documentação).
I Comentários são iniciados por /* e finalizados por */

Profa. Beatriz Trinchão Andrade 20 / 28


Linguagem C
Conceitos Básicos

Comentários

I Comentários podem ser colocados em qualquer lugar e são


ignorados pelo compilador.
I Facilitam a leitura do código fonte do programa
(documentação).
I Comentários são iniciados por /* e finalizados por */
I Alguns compiladores aceitam também comentários de linha,
indicados por //

Profa. Beatriz Trinchão Andrade 20 / 28


Linguagem C
Conceitos Básicos

Comentários

I Comentários podem ser colocados em qualquer lugar e são


ignorados pelo compilador.
I Facilitam a leitura do código fonte do programa
(documentação).
I Comentários são iniciados por /* e finalizados por */
I Alguns compiladores aceitam também comentários de linha,
indicados por //
I Normalmente não são permitidos blocos de comentário
aninhados. Ex.: /*Isto não /* é aceito */ como comentário */

Profa. Beatriz Trinchão Andrade 20 / 28


Linguagem C
Variáveis e Tipos de Dados

Sumário

Conceitos Básicos

Variáveis e Tipos de Dados

Referências

Profa. Beatriz Trinchão Andrade 21 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

I “Uma variável em C é um espaço em memória reservado para


armazenar um certo tipo de dado, tendo um nome para
referenciar seu conteúdo.”

Profa. Beatriz Trinchão Andrade 22 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

I “Uma variável em C é um espaço em memória reservado para


armazenar um certo tipo de dado, tendo um nome para
referenciar seu conteúdo.”
I Num dado momento, um único valor pode ser armazenado em
uma variável.

Profa. Beatriz Trinchão Andrade 22 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

I “Uma variável em C é um espaço em memória reservado para


armazenar um certo tipo de dado, tendo um nome para
referenciar seu conteúdo.”
I Num dado momento, um único valor pode ser armazenado em
uma variável.
I O valor de uma variável pode ser modificado.

Profa. Beatriz Trinchão Andrade 22 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

I “Uma variável em C é um espaço em memória reservado para


armazenar um certo tipo de dado, tendo um nome para
referenciar seu conteúdo.”
I Num dado momento, um único valor pode ser armazenado em
uma variável.
I O valor de uma variável pode ser modificado.
I Toda variável deve ser declarada no inı́cio do bloco de uma
função.

Profa. Beatriz Trinchão Andrade 22 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

I “Uma variável em C é um espaço em memória reservado para


armazenar um certo tipo de dado, tendo um nome para
referenciar seu conteúdo.”
I Num dado momento, um único valor pode ser armazenado em
uma variável.
I O valor de uma variável pode ser modificado.
I Toda variável deve ser declarada no inı́cio do bloco de uma
função.
I Toda variável deve ser declarada antes de ser usada.

Profa. Beatriz Trinchão Andrade 22 / 28


Linguagem C
Variáveis e Tipos de Dados

Declaração de Variáveis

int num , var_int ;


float var_float , quociente ;
double variavel2 ;
char um_caracter ;

Profa. Beatriz Trinchão Andrade 23 / 28


Linguagem C
Variáveis e Tipos de Dados

Tipos de Dados

I Toda variável em C deve ter um tipo.

Profa. Beatriz Trinchão Andrade 24 / 28


Linguagem C
Variáveis e Tipos de Dados

Tipos de Dados

I Toda variável em C deve ter um tipo.


I O tipo de dados informa a quantidade de memória que ela
ocupará e como a variável será interpretada e armazenada.

Profa. Beatriz Trinchão Andrade 24 / 28


Linguagem C
Variáveis e Tipos de Dados

Tipos de Dados

I Toda variável em C deve ter um tipo.


I O tipo de dados informa a quantidade de memória que ela
ocupará e como a variável será interpretada e armazenada.
I Existem cinco tipos básicos em C: char, int, float, double e
void.

Profa. Beatriz Trinchão Andrade 24 / 28


Linguagem C
Variáveis e Tipos de Dados

Tipos de Dados

I Além disso, existem três modificadores: short, long e


unsigned.
I Regras ANSI:
I short int <= int <= long int
I float <= double <= long double
I Quando um modificador é utilizado sem um tipo especı́fico, o
compilador assume que o tipo é int.

Profa. Beatriz Trinchão Andrade 25 / 28


Linguagem C
Variáveis e Tipos de Dados

Tipos de Dados
Tipo Bits Bytes Escala
char 8 1 -128 a 127
unsigned char 8 1 0 a 255
int 32 4 -2.147.483.648 a 2.147.483.647
unsigned int 32 4 0 a 4.294.967.295
short int 16 2 -32.768 a 32.767
unsigned short int 16 2 0 a 65.535
long int 32 4 -2.147.483.648 a 2.147.483.647
unsigned long int 32 4 0 a 4.294.967.295
float 32 4 −3, 4 × 1038 a 3, 4 × 1038
double 64 8 −1, 7 × 10308 a 1, 7 × 10308
long double 80 10 −3, 4 × 104932 a 3, 4 × 104932
void 0 0 nenhum valor

Tabela: Tabela de tipos em C

Profa. Beatriz Trinchão Andrade 26 / 28


Linguagem C
Referências

Sumário

Conceitos Básicos

Variáveis e Tipos de Dados

Referências

Profa. Beatriz Trinchão Andrade 27 / 28


Linguagem C
Referências

Referências:

I Slides de aula do Prof. Breno Piva. UFS, 2012.


I Treinamento em Linguagem C - Victorine Viviane Mizrahi - 2a
Ed., São Paulo, Pearson Prentice Hall, 2008.

Profa. Beatriz Trinchão Andrade 28 / 28

Você também pode gostar