programação de computadores ii aulasimone/progii/contaulas/aula03.pdfaula 03. linguagem c i...
TRANSCRIPT
![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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.mx/reader033/viewer/2022052012/602854ad7d57b8317c16ee9c/html5/thumbnails/26.jpg)
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