Você está na página 1de 15

Introdução à Programação

Priscila da Silva Neves Lima

Instituto de Matemática e Estatística


Universidade de São Paulo
São Paulo - SP

Verão 2023
Revisão dos tópicos anteriores

De algoritmos a programas

Linguagem de programação

Paradigma Estrutural x Orientado a Objetos

Linguagem Baixo x Alto nível

Softwares necessários para programar

MAC Terminal: https://www.youtube.com/watch?v=FGSlg8L5kf0

1/14
Linguagem C

Compilada, estruturada e imperativa

Criada em 1972 (Dennis Ritchie), no ATT Bell Labs

Padrão ANSI C (C90): http://en.wikipedia.org/wiki/ANSI/_C

2/14
Primeiro programa em C

Um programa em C é um arquivo texto, contendo declarações e operações


da linguagem. Isto é chamado de código fonte.

#i n c l u d e < s t d i o . h>

i n t main ( ) {
p r i n t f ( " Ola mundo ! ! ! \n" ) ;

return 0;
}

3/14
Como executar este programa

Para executar um programa a partir do seu código fonte é necessário


compilá-lo, gerando código binário ou executável. Este pode ser
executado como qualquer outro programa de aplicação.

$ g c c o l a . c −o o l a
$ ./ ola
Ola mundo !

4/14
O que são erros de compilação?

Caso o programa não esteja de acordo com as regras da linguagem, erros


de compilação ocorrerão. Ler e entender estes erros é muito importante!

#i n c l u d e < s t d i o . h>
i n t main ( ) {
p r i n t f ( " Ola mundo ! ! ! \n" ) ;

$ g c c o l a . c −o o l a
o l a . c : I n f u n c t i o n ‘’main :
o l a . c : 5 : e r r o r : s y n t a x e r r o r a t end o f i n p u t

5/14
O que são erros de execução?

Acontecem quando o comportamento do programa diverge do esperado e


podem acontecer mesmo quando o programa compila corretamente.

#i n c l u d e < s t d i o . h>
i n t main ( ) {
p r i n t f ( "%f \n" , 3 / 0 ) ;

return 0;
}

$ g c c d i v i s a o . c −o d i v i s a o
$ ./ divisao
E x c e c a o de p o n t o f l u t u a n t e ( imagem do n u c l e o g r a v a d a )

6/14
Curiosidade: código Assembly

É possível visualizar o código Assembly gerado a partir da compilação de


um código fonte.

$ g c c −S o l a . c
$ cat ola . s

7/14
O que é um depurador?

Ferramenta que executa um programa passo a passo

Ajuda a encontrar erros de execução (bugs).

Exemplo: gdb.

8/14
Estrutura de um programa em C

#i n c l u d e < s t d i o . h>

/∗ Funcao main , que i n i c i a a e x e c u c a o do p ro g r a m a ∗/


i n t main ( ) {
p r i n t f ( "Bem v i n d o a C ! \n" ) ;

r e t u r n 0 ; /∗ i n d i c a que o p r o gr a m a t e r m i n o u com s u c e s s o ∗/
} /∗ f i m da f u n c a o main ∗/

Comentários no código: trechos que iniciam /* e terminam com */


indicam que se trata de um bloco de comentário.

Comentário de linha: //

9/14
Estrutura de um programa em C

#i n c l u d e < s t d i o . h>

/∗ Funcao main , que i n i c i a a e x e c u c a o do p ro g r a m a ∗/


i n t main ( ) {
p r i n t f ( "Bem v i n d o a C ! \n" ) ;

r e t u r n 0 ; /∗ i n d i c a que o p r o gr a m a t e r m i n o u com s u c e s s o ∗/
} /∗ f i m da f u n c a o main ∗/

Diretivas do pré-processador C: linhas que comecem com # são


verificadas pelo pré-processador antes de o programa ser compilado.

#include <stdio.h>: solicita ao pré-processador que inclua no


programa o conteúdo do cabeçalho-padrão de entrada/saída
(<stdio.h>).

10/14
Estrutura de um programa em C

#i n c l u d e < s t d i o . h>

/∗ Funcao main , que i n i c i a a e x e c u c a o do p ro g r a m a ∗/


i n t main ( ) {
p r i n t f ( "Bem v i n d o a C ! \n" ) ;

r e t u r n 0 ; /∗ i n d i c a que o p r o gr a m a t e r m i n o u com s u c e s s o ∗/
} /∗ f i m da f u n c a o main ∗/

int main(): faz parte de todo programa em C. Os parênteses


informam que main é um bloco de comandos, chamado de função.

11/14
Estrutura de um programa em C

#i n c l u d e < s t d i o . h>

/∗ Funcao main , que i n i c i a a e x e c u c a o do p ro g r a m a ∗/


i n t main ( ) {
p r i n t f ( "Bem v i n d o a C ! \n" ) ;

r e t u r n 0 ; /∗ i n d i c a que o p r o gr a m a t e r m i n o u com s u c e s s o ∗/
} /∗ f i m da f u n c a o main ∗/

printf("Bem vindo a C! "); instrui o computador a realizar uma


ação: imprimir na tela o texto entre aspas.

12/14
Estrutura de um programa em C

#i n c l u d e < s t d i o . h>

/∗ Funcao main , que i n i c i a a e x e c u c a o do p ro g r a m a ∗/


i n t main ( ) {
p r i n t f ( "Bem v i n d o a C ! \n" ) ;

r e t u r n 0 ; /∗ i n d i c a que o p r o gr a m a t e r m i n o u com s u c e s s o ∗/
} /∗ f i m da f u n c a o main ∗/

return 0; é incluída no fim de toda função main. O return é um meio


para encerrar e sair de uma função.

13/14
Dúvidas?

Você também pode gostar