Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
stdio.h:
▶ É um cabeçalho da biblioteca (coleção de funções/informações) padrão
do C (libc) - C11
▶ “Cabeçalho padrão de entrada/saída”;
▶ Exemplos: leitura do teclado e impressão na tela, definições de
constantes, variáveis e tipos.
Função main: principal - início de execução do programa
TODA INSTRUÇÃO TERMINA COM “;”
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( ) {
4 ...
5 r e t u r n 0 ; // p a d r a o C : r e t u r n 0 s u c e s s o e nao−z e r o e r r o .
6 }
7
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
Figura: https://xerxes.cs.manchester.ac.uk/comp251/kb/images/variables.png
Variáveis, associadas:
▶ Um tipo: quantos bytes ocupa, e como ela deve ser interpretada
▶ Um nome: um identificador
▶ Um endereço: o endereço do byte menos significativo do local da
memória associado a variável
▶ Um valor: o conteúdo da variável
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
Relembrando
Salvar como “meu_programa.c”
Compilar
▶ gcc meu_programa.c -o meu_programa
▶ gcc é o compilador: traduz o código fonte escrito em linguagem C em
linguagem de máquina
Executar
▶ ./meu_programa
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
20 + 5 × 9
10
20 + 5 × 9
10
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 p r i n t f ( "%d\n" ,(20+5∗9) / 1 0 ) ;
6 return 0;
7 }
8
a×4
+ p × 6 (a valendo 3 e p valendo 23)
2
a×4
+ p × 6 (a valendo 3 e p valendo 23)
2
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 i n t a =3;
6 i n t p =23;
7 p r i n t f ( "%d\n" , ( a ∗ 4 ) /2+p ∗ 6 ) ;
8 return 0;
9 }
10
a = a + 1 (a valendo 111)
a = a + 1 (a valendo 111)
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 i n t a =111;
6 a=a +1;
7 // a++;
8 // a+=1;
9 p r i n t f ( "%d \n" , a ) ;
10 return 0;
11 }
12
b = b/3 (b valendo 9)
b = b/3 (b valendo 9)
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 i n t b =9;
6 b=b / 3 ;
7 // b /=3;
8 p r i n t f ( "%d \n" , b ) ;
9 return 0;
10 }
11
b = b + 2 (b valendo 9)
b = b + 2 (b valendo 9)
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 i n t b =9;
6 b=b +2;
7 // b+=2;
8 p r i n t f ( "%d \n" , b ) ;
9 return 0;
10 }
11
a
b× (a valendo -13 e b valendo 7)
2
a
b× (a valendo -13 e b valendo 7)
2
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 i n t a=−13;
6 i n t b =7;
7 p r i n t f ( "%d \n" , b ∗ ( a / 2 ) ) ;
8 return 0;
9 }
10
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
1 Linguagem C
2 Programas C
4 Saídas
5 Operadores Aritméticos
6 Constantes
7 Entradas
scanf
A função scanf() precisa saber o endereço da variável para gravar dados
dentro dela. Acessa o endereço através do operador &.
1 int x ;
2 s c a n f ( "%d" , &x ) ;
3
Execução 1: 345 78
▶ scanf : irá ler os 3 digitos de 345 e os 2 digitos de 78
▶ printf : 345 78
Execução 2: 2654 87
▶ scanf : irá ler os 3 digitos 265 e gravar na variável x e o 4 será a
próxima entrada e gravada em y
▶ printf : 265 4
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( ) {
4 // D e c l a r a c a o de v a r i a v e i s
5 double r a i o ;
6
7 // I n i c i a l i z a c a o de v a r i a v e i s p e l a e n t r a d a p a d r a o
8 s c a n f ( "% l f " ,& r a i o ) ;
9
10 // S a i d a
11 p r i n t f ( "A=%.4 l f \n" , r a i o ∗ r a i o ∗ 3 . 1 4 1 5 9 ) ;
12
13 return 0;
14 }
15
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( ) {
4 // D e c l a r a c a o de v a r i a v e i s
5 double a , b ;
6
7 // I n i c i a l i z a c a o de v a r i a v e i s p e l a e n t r a d a p a d r a o
8 s c a n f ( "% l f " ,& a ) ;
9 s c a n f ( "% l f " ,&b ) ;
10
11 // S a i d a
12 p r i n t f ( "MEDIA = %.5 l f \n" , ( a ∗ 3 . 5 + 7 . 5 ∗ b ) / 1 1 ) ;
13
14 return 0;
15 }
16
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( ) {
4 // D e c l a r a c a o de v a r i a v e i s
5 int R;
6
7 // I n i c i a l i z a c a o de v a r i a v e i s p e l a e n t r a d a p a d r a o
8 s c a n f ( "%d" , &R) ;
9
10 // S a i d a
11 p r i n t f ( "VOLUME = %.3 l f \n" , ( 4 . 0 / 3 ) ∗ 3 . 1 4 1 5 9 ∗R∗R∗R) ;
12
13 return 0;
14 }
15
Dica:
▶ ‘A’ é o decimal 65 na tabela ASCII
▶ ‘a’ é o decimal 97 na tabela ASCII
Entrada:
▶ A entrada é composta por um caractere maiúsculo.
Saída:
▶ Seu programa deve imprimir uma linha contendo o correspondente
minúsculo do caractere lido.
Salvar minusculo.c
Compilar: gcc minusculo.c -o minusculo
Executar: ./minusculo
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 // D e c l a r a c a o de v a r i a v e i s
6 char l e t r a ;
7
8 // I n i c i a l i z a c a o de v a r i a v e i s p e l a e n t r a d a p a d r a o
9 s c a n f ( "%c " , & l e t r a ) ;
10
11 // S a i d a
12 p r i n t f ( "%c \n" , l e t r a +32) ;
13
14 return 0;
15 }
16
Dica:
▶ Resto % → 3%2 = 1
▶ Divisão / → 33/10 = 3
Entrada:
▶ A entrada é composta por um número inteiro.
Saída:
▶ Seu programa deve imprimir uma linha contendo um inteiro que
representa o último algarismo do número de entrada.
Salvar ultimo.c
Compilar: gcc ultimo.c -o ultimo
Executar: ./ultimo
1 #i n c l u d e < s t d i o . h>
2
3 i n t main ( )
4 {
5 // D e c l a r a c a o de v a r i a v e i s
6 i n t num ;
7
8 // I n i c i a l i z a c a o de v a r i a v e i s p e l a e n t r a d a p a d r a o
9 s c a n f ( "%d" , &num ) ;
10
11 // S a i d a
12 p r i n t f ( "%d\n" , num%10) ;
13
14 return 0;
15 }
16