Post on 06-Jul-2018
8/17/2019 EstruturasLinguagem Slides
1/12
18/03/2010 08:42 1
Curso de C
Estruturas da Linguagem C
8/17/2019 EstruturasLinguagem Slides
2/12
18/03/2010 08:42 2
Curso C - IC/UNICAMP
Estruturas de Linguagem C
• Blocos
• Sentenças
• Expressões
Roteiro:
>
8/17/2019 EstruturasLinguagem Slides
3/12
18/03/2010 08:42 3
Curso C - IC/UNICAMP
Estruturas de Linguagem
• ExpressõesEx.: media = (nota_a + 2 * nota_b) / 3 ;
Um programa C é composto por:
>
• SentençasEx.: int variavel = 3;
• BlocosEx.: if (media >= 5.0)
{ printf(“Aprovado!”);
...
};
printf(“Helo!”);
8/17/2019 EstruturasLinguagem Slides
4/12
18/03/2010 08:42 4
Curso C - IC/UNICAMP
Expressões
• Unidade indivisível de código C
• Define:
– Operação – Valores utilizados
– Propagação do resultado
• Muitas expressões são parecidas comexpressões matemáticas.
O que é uma Expressão ?
>
8/17/2019 EstruturasLinguagem Slides
5/12
18/03/2010 08:42 5
Curso C - IC/UNICAMP
• Pensamentomatemático:
b ← 3
a = b
...
b ← 5
• Pensamentomatemático:
b ← 3
a = b
...
b ← 5
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
Expressões
Cuidado:
Propaga paraexpressõesanteriores
Não afetasentençasanteriores
>
8/17/2019 EstruturasLinguagem Slides
6/12
18/03/2010 08:42 6
Curso C - IC/UNICAMP
• Pensamentomatemático:
b ← 3
a = b
...
b ← 5
• Pensamentomatemático:
b ← 3
a = b
...
b ← 5
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
Expressões
Cuidado:
Propaga paraexpressõesanteriores
Não afetasentençasanteriores
>
⇒ a = b = 5Expressões representamafirmações verdadeiras.
⇒ a = b = 5Expressões representamafirmações verdadeiras.
8/17/2019 EstruturasLinguagem Slides
7/12
18/03/2010 08:42 7
Curso C - IC/UNICAMP
• Pensamentomatemático:
b ← 3
a = b
...
b←
5
• Pensamentomatemático:
b ← 3
a = b
...
b ← 5
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
• Pensamento emCódigo C:
b = 3;
a = b;
...
b = 5;
Expressões
Cuidado:
Propaga paraexpressõesanteriores
Não afetasentençasanteriores
>
⇒ a = b = 5Expressões representamafirmações verdadeiras.
⇒ a = b = 5Expressões representamafirmações verdadeiras.
⇒ b = 5, mas a = 3Expressões representamoperações independentes
⇒ b = 5, mas a = 3Expressões representamoperações independentes
8/17/2019 EstruturasLinguagem Slides
8/12
18/03/2010 08:42 8
Curso C - IC/UNICAMP
Sentenças
• Unidade completa.• São um passo do algoritmo ou uma declaração.
• Terminam em ponto-e-vírgula.
• Exemplos:
– Declaração ou definição
– Comando primitivo (ex: atribuição, return)
– Chamda à rotinas (ex: printf, scanf)
– Controle de fluxo de execução
O que são sentenças ?
>
8/17/2019 EstruturasLinguagem Slides
9/12
18/03/2010 08:42 9
Curso C - IC/UNICAMP
float nota1, nota2;
float media=0.0;
printf("Digite as duas notas: ");
scanf("%f %f", ¬a1, ¬a2);media = (nota1 + nota2) / 2;
printf("Média: %f", media);
return 0;
float nota1, nota2;float media=0.0;
printf("Digite as duas notas: ");
scanf("%f %f", ¬a1, ¬a2);media = (nota1 + nota2) / 2;
printf("Média: %f", media);
return 0;
Sentenças
Exemplo de Sentenças:
O programa é uma seqüência de sentenças.
Cada uma é um passo do algoritmo ou
uma declaração. >
8/17/2019 EstruturasLinguagem Slides
10/12
18/03/2010 08:42 10
Curso C - IC/UNICAMP
Blocos
• Conjunto de sentenças
• Agrupadas entre chaves { ... }
• Sentenças do mesmo bloco sãoexecutadas seqüencialmente
O que são Blocos ?
>
8/17/2019 EstruturasLinguagem Slides
11/12
18/03/2010 08:42 11
Curso C - IC/UNICAMP
int main(int argc, char* argv[]) {float nota1, nota2;
float media;
printf("Digite as duas notas: ");scanf("%f %f", ¬a1, ¬a2);
media = (nota1 + nota2) / 2;
printf("Média: %f", media);
return 0;
}
int main(int argc, char* argv[]) {float nota1, nota2;
float media;
printf("Digite as duas notas: ");scanf("%f %f", ¬a1, ¬a2);
media = (nota1 + nota2) / 2;
printf("Média: %f", media);
return 0;
}
Blocos
Exemplo de Bloco:
>
8/17/2019 EstruturasLinguagem Slides
12/12
18/03/2010 08:42 12
Estruturas de Linguagem
Fim do Capítulo