26
Slides cedidos por 8.1

Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Programação de Computadores

II Aula 03. Linguagem C I

Slides cedidos por Karina Mochetti

2018.1

Aula 03. Linguagem C I

Page 2: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

C vs Python

Python é uma linguagem muito mais nova, de 1991.

C é muito mais e�ciente, os programas rodam mais rápido.

Seu objetivo é melhorar a compreensão do código e gerarcódigos menores.

Python possui muitas bibliotecas prontas, C precisa que muitacoisa seja programada do zero.

Aula 03. Linguagem C I

Page 3: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Hello World

/* Hello World program */

#include<stdio.h>

int main ()

{

printf ("Hello World.\n");

return 0;

}

Aula 03. Linguagem C I

Page 4: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

De�nição de Programa

Um programa em C começa após o cabeçalho int main() { etermina ao encontrar o return 0; }.

/* Hello World program */

#include<stdio.h>

int main () {

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 5: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Comentário

Um comentário em C pode ser delimitado por /* e */ ou contersomente uma linha começando com //.

/* Hello World program */

#include<stdio.h>

int main () {

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 6: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Comentário

Um comentário em C pode ser delimitado por /* e */ ou contersomente uma linha começando com //.

// Hello World program

#include<stdio.h>

int main () {

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 7: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Include

Algumas funções de C estão declaradas em bibliotecas e para seremusadas essas bibliotecas devem ser incluídas no começo doprograma usando #include <>.

/* Hello World program */

#include<stdio.h>

int main () {

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 8: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

argc e argv

Ao executarmos o programa em linha de comando podemos passar valores

/* Hello World program */#include<stdio.h>

int main (int argv, char* argv[]){

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 9: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

argc e argv

Ao executarmos o programa em linha de comando podemos passarvalores como parâmetros.O número de parâmetros passados é guardado na variável inteiraargc.Os parâmetros são guardados em ordem no vetor de strings argv.

Aula 03. Linguagem C I

Page 10: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Chaves

As chaves { e } são os grandes delimitadores de escopo em C.Indicam o começo e �m do programa, de funções e procedimentos,de repetições e condições.

/* Hello World program */

#include<stdio.h>

int main (int argv, char*argv[])

{

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 11: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Entrada e Saída

As funções de entrada e saída em C estão localizadas na biblioteca stdio.h (Standard In and Out). Assim, é preciso acrescentar#include<stdio.h> ao começo do programa, para usá-las.

/* Hello World program */#include<stdio.h>

int main (int argv, char* argv[]){

printf ("Hello World.\n");return 0;

}

Aula 03. Linguagem C I

Page 12: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Entrada e Saída

printf()

É a forma de imprimirmos valores na tela. O texto deve estar entreaspas e cada variável deve ser representada pelo seu código. Asvariáveis devem vir depois, separadas por vírgula na mesma ordem.O caracter `\n' indica que deve haver uma quebra de linha.

#include<stdio.h>

int main () {

int i, j;

float x;

printf ("Os valores sao: %d %d %f\n", i, j, x);

return 0;

}

Para pular a linha na impressão deve-se usar o \n.

Aula 03. Linguagem C I

Page 13: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Entrada e Saída

scanf()

É a forma de lermos valores. Cada variável deve estar representadapelo seu código entre aspas e seus nomes devem vir depois,separados por vírgula na mesma ordem.

#include<stdio.h>

int main () {

int i, j;

char c;

printf ("Digite 2 numeros e um caracter: ");

scanf ("%d %d %c", &i, &j, &c);

printf ("Os valores sao: %d %d %c\n", i, j, c);

return 0;

}

Antes de cada variável é necessária colocar o símbolo &.

Aula 03. Linguagem C I

Page 14: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Variáveis

inteiro 4 bytes short n; %hiinteiro 4 bytes int n; %dinteiro 8 bytes long n; %liinteiro 16 bytes long long n; %llireal 4 bytes �oat f; %freal 8 bytes double f; %fcaracter 1 bytes char c; %c

unsigned

Todos os tipos inteiros podem ser declarados como unsigned,forçando o valor a ser sempre positivo, mas dobrando o limitemáximo da variável.

Aula 03. Linguagem C I

Page 15: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Variáveis

Boolean

Não existe o tipo boolean em C. Normalmente usamos um inteiro,onde 1 representa verdadeiro e 0 representa falso.

String

Não existe o tipo string em C, um string é um vetor de caracteresque pode ser declarado com chaves (char str[100];) ou asterisco(char* str;).

Aula 03. Linguagem C I

Page 16: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Expressões

C

adição a + bsubtração a - bmultiplicação a * bdivisão a / bresto a % batribuição a = bincremento a += bdecremento a -= b

Incrementar

Ao incrementar 1 em C podemos fazer: i = i+1 ou i++

Decrementar

Ao decrementar 1 em C podemos fazer: i = i-1 ou i−−

Aula 03. Linguagem C I

Page 17: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Operadores lógicos

C

e a && bou a || bnão !bigual a == bdiferente a != bmenor a < bmaior a > bmenor e igual a <= bmaior e igual a >= b

Atribuição e Igual

Em C = é atribuição e == é igual.

Aula 03. Linguagem C I

Page 18: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Operadores lógicos

C

e a && bou a || bnão !bigual a == bdiferente a != bmenor a < bmaior a > bmenor e igual a <= bmaior e igual a >= b

Atribuição e Igual

Em C = é atribuição e == é igual.

Aula 03. Linguagem C I

Page 19: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Condicional if

O condicional deve ter a condição entre parênteses e as ações entrechaves. Cada if pode vir acompanhado por um else, com suas açõestambém entre chaves. Um if sem chave realiza somente uma ação.

#include<stdio.h>

int main () {

int i;

if (i > 10) printf("E maior que 10\n");else printf("Nao e maior que 10\n");if (i == 100) {

printf ("E igual a 100.\n");i = 0;

printf ("O valor foi zerado.\n");}

return 0;

}Aula 03. Linguagem C I

Page 20: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 1

#include<stdio.h>

int main() {

int num;

printf ("Digite o numero: ");

scanf ("%d", &num);

if (num >=0 && num <= 100)

printf ("Sim\n");

else

printf ("Não\n");

return 0;

}

Veri�ca se um número está entre 0 e 100.

Aula 03. Linguagem C I

Page 21: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 1

#include<stdio.h>

int main() {

int num;

printf ("Digite o numero: ");

scanf ("%d", &num);

if (num >=0 && num <= 100)

printf ("Sim\n");

else

printf ("Não\n");

return 0;

}

Veri�ca se um número está entre 0 e 100.

Aula 03. Linguagem C I

Page 22: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 2

#include<stdio.h>

int main() {

int num;

printf ("Digite o numero: ");

scanf ("%d", &num);

if (num % 2 == 0)

printf ("Sim\n");

else

printf ("Nao\n");

return 0;

}

Veri�ca se um número é par ou não.

Aula 03. Linguagem C I

Page 23: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 2

#include<stdio.h>

int main() {

int num;

printf ("Digite o numero: ");

scanf ("%d", &num);

if (num % 2 == 0)

printf ("Sim\n");

else

printf ("Nao\n");

return 0;

}

Veri�ca se um número é par ou não.

Aula 03. Linguagem C I

Page 24: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 3

#include<stdio.h>

int main() {

int b1, b2, b3, b4;

int num;

printf ("Digite os digitos: ");

scanf ("%d %d %d %d, &b1, &b2, &b3, &b4);

num = 2*2*2*b1 + 2*2*b2 + 2*b3 + b4;

printf ("O valor e %d\n",num);

return 0;

}

Converte um número binário de 4 dígitos para decimal.

Aula 03. Linguagem C I

Page 25: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exemplo 3

#include<stdio.h>

int main() {

int b1, b2, b3, b4;

int num;

printf ("Digite os digitos: ");

scanf ("%d %d %d %d, &b1, &b2, &b3, &b4);

num = 2*2*2*b1 + 2*2*b2 + 2*b3 + b4;

printf ("O valor e %d\n",num);

return 0;

}

Converte um número binário de 4 dígitos para decimal.

Aula 03. Linguagem C I

Page 26: Programação de Computadores II Aulasimone/progII/contaulas/aula03.pdfAula 03. Linguagem C I Entrada e Saída scanf() É a forma de lermos valores. Cada variável deve estar representada

Exercício

Faça um programa em C que leia duas datas em dia, mês e ano eretorne a mais antiga, formatada de maneira DD/MM/AAAA.

Aula 03. Linguagem C I