Engenharia de CONTROLE e AUTOMAÇÃO
Introdução à
Linguagem CAula 02
Prof. Rafael Concatto [email protected]
DPEE 1038 –
Estrutura de Dados para AutomaçãoCurso de Engenharia de Controle e Automação
Universidade Federal de Santa Maria
1/5
2Prof. Rafael Concatto Beltrame
• Histórico da linguagem C• Visão geral
– Estrutura do compilador– Organização do código‐fonte
• Sintaxe– Tipos, Operações, Funções, Expressões
• Funções básicas– printf( ), scanf( )
• Estruturas de controle de fluxo– if( ), if‐else‐if( ), switch( ), for( ), while( ), do while( ), break, continue
• Exemplos
Sumário
1/5
3Prof. Rafael Concatto Beltrame
• Criada por Dennis Ritchie
(1972‐2011)– AT&T (Bell Labs)– Reescrita do Sistema Operacional UNIX
• 1970: UNIX é
liberado às universidades– Popularização da linguagem C
• Linguagem de propósito geral– Adequada à
programação estruturada
– Criação de compiladores, bancos de dados, editores de texto, etc.
• Características principais– Portabilidade, modularidade, compilação separada, recursos de baixo
nível, geração de código eficiente, confiabilidade, simplicidade e facilidade de uso
Histórico
1/5
4Prof. Rafael Concatto Beltrame
• A geração de um executável a partir de um código‐fonte obedece a uma série de operações
Visão Geral de um Programa em C
EditorCódigo-fonte
Pré-ProcessadorCódigo-fonte expandido
CompiladorArquivo objeto
LinkerArquivo executável
1/5
5Prof. Rafael Concatto Beltrame
• Organização do código‐fonte
(Editor)
Visão Geral de um Programa em C
//---------------------------------------------------------------//// Universidade Federal de Santa Maria //// Curso de Engenharia de Controle e Automação //// DPEE 1038 - Estrutura de Dados para Automação //// //// Programadores: //// Nome 1 (Matrícula1) //// Nome 2 (Matrícula2) //// //// Versão: 1.0 - Data: 04/04/2013 ////===============================================================//// Descrição do Programa ////===============================================================//// Escreva aqui uma breve descrição do seu programa. //// //// v1.0 - Versão Inicial. ////---------------------------------------------------------------//
1/5
6Prof. Rafael Concatto Beltrame
• Organização do código‐fonte
(Editor)
Visão Geral de um Programa em C
//---------------------------------------------------------------//// Arquivos de cabeçalho ////---------------------------------------------------------------//#include <stdio.h>#include <math.h>
//---------------------------------------------------------------//// Função principal ////---------------------------------------------------------------//int main(){
}//---------------------------------------------------------------//
1/5
7Prof. Rafael Concatto Beltrame
• São regras detalhadas para cada construção válida em C– Tipos:
propriedades dos dados
– Declarações:
dão significado a um identificador (variável), alocar memória, definir funções
– Funções:
ações de um programa– Expressões:
chamada de funções, alterações de valores, etc.
• As funções são as entidades básicas
de um programa em C– Podem ser a união de uma ou mais funções, cada qual
desempenhando uma tarefa específica– Todo programa em C inicia com a função main( )
Sintaxe
1/5
8Prof. Rafael Concatto Beltrame
• Quando um identificador
é declarado, ele recebe um tipo– Como o dado é
representado
e quais operações
podem ser realizadas
Tipos
Tipos de Função
Tipos de objetos de
dadosTipos
escalares
Não escalares
• Estrutura• União• Matriz
Aritméticos
Ponteiros
Inteiros
Flutuantes
• char• short• int• long• (signed)• (unsigned)
• float• double• long double
• para funções• para objetos de dados
1/5
9Prof. Rafael Concatto Beltrame
• São nomes usados para fazer referência à– Variáveis– Constantes– Funções– Outros objetos definidos pelo usuário
• Case‐sensitive: difere maiúsculas e minúsculas
Identificadores
// Declaração de variáveis
int variavel1;int Variavel1;
1/5
10Prof. Rafael Concatto Beltrame
• Operador atribuição:
=• Operadores aritméticos:
+ – * / %
Operadores
main(){int x, y; // Declaraçãox=10; y=3; // Inicializaçãoprintf("%d \n", x/y);printf("%d \n", x%y);}
1/5
11Prof. Rafael Concatto Beltrame
• Operadores lógicos:
retornam 0 (falso) ou 1 (verdadeiro)>
maior que
>=
maior ou igual<
menor
<=
menor ou igual==
igual
!=
não igual (diferente)
• Operadores relacionais: retornam 0 (falso) ou 1 (verdadeiro)&&
and
||
or!
not
Operadores
1/5
12Prof. Rafael Concatto Beltrame
• Exemplo
Operadores
main(){int i, j;printf("digite dois numeros: ");scanf("%d%d",&i,&j);printf("%d == %d é %d \n", i, j, i==j);printf("%d != %d é %d \n", i, j, i!=j);printf("%d <= %d é %d \n", i, j, i<=j);printf("%d >= %d é %d \n", i, j, i>=j);printf("%d < %d é %d \n", i, j, i< j);printf("%d > %d é %d \n", i, j, i> j);}
1/5
13Prof. Rafael Concatto Beltrame
• printf( )
printf("expressao de controle", argumentos);
– Função de I/O que permite escrever no dispositivo padrão (tela)
– Expressão de controle• Contém caracteres que serão exibidos na tela• Contém códigos de formatação
– Argumentos• Separados por vírgula
Funções Básicas
1/5
14Prof. Rafael Concatto Beltrame
– Códigos de formatação
Funções Básicas
\n // Nova linha\t // Tab\b // Retrocesso\” // Aspas\\ // Barra
%c // Caracteres simples%d // Decimal%e // Notação científica%f // Ponto flutuante%o // Octal%s // Cadeia de caracteres%u // Decimal sem sinal%x // Hexadecimal
1/5
15Prof. Rafael Concatto Beltrame
– Exemplos
Funções Básicas
main() // Exibição na tela{printf("Este é o numero dois: %d", 2);printf("%s esta a %d milhas\n do sol", "Venus", 67e6);}
main() // Arredondamento{printf("\n %4.1f", 3456.78); // 3456.8printf("\n %1.3d", 3456.78); // 3456.780}
Parcela inteira Parcela fracionária
1/5
16Prof. Rafael Concatto Beltrame
• scanf( )
scanf("expressão de controle", argumentos);
– Função de I/O que permite ler dados do dispositivo padrão (teclado)
– Expressão de controle• Contém informações sobre o tipo de dado lido• Ex: decimal (%d), float
(%f), hexadecimal (%x), cadeia de caractere (%s)
– Argumentos• Endereço das variáveis
• Operador endereço:
&
Funções Básicas
1/5
17Prof. Rafael Concatto Beltrame
– Exemplo
Funções Básicas
main(){// Declaração da variávelint num;// Escrita na telaprintf("Digite um numero: ");// Leitura do tecladoscanf("%d", &num);// Exibição do resultadoprintf("\n o numero é %d", num);printf("\n o endereço é %u", &num);}
1/5
18Prof. Rafael Concatto Beltrame
• if( )
if(condição) {comandos;}else {comandos;}
– Basta à
condição seja diferente de zero para ser
verdadeira– A condição deve ser igual a zero para ser
falsa
Estruturas de Controle de Fluxo
main() {int a, b;scanf("%d%d", &a, &b);if (b) { printf("%d\n", a/b); }else { printf("divisao por zero"); }}
1/5
19Prof. Rafael Concatto Beltrame
• if‐else‐if( )
if(condição) {comandos;}else if(condição) {comandos;}else if(condição) {comandos;}...else {comandos;}
– Testes sucessivos
até
que uma condição seja satisfeita
Estruturas de Controle de Fluxo
1/5
20Prof. Rafael Concatto Beltrame
• switch( )
switch(variável){case constante1: {comandos; break;}case constante2: {comandos; break;}default: {comandos;}}
– Uma variável é
testada sucessivamente
contra possíveis resultados– Quando uma condição é
atendida, o bloco é executado
– Se nenhuma condição é
atendida, o bloco default é executado• Opcional
Estruturas de Controle de Fluxo
1/5
21Prof. Rafael Concatto Beltrame
• for( )
for(inicialização, condição, incremento){comandos;}
– Basta que condição seja diferente de zero para ser
verdadeira– A condição deve ser igual a zero para ser
falsa
Estruturas de Controle de Fluxo
main() {int x;for(x=1; x<100; x++) { printf("%d \n", x); }}
1/5
22Prof. Rafael Concatto Beltrame
• while( )
while(condição){comandos;}
– Basta que condição seja diferente de zero para ser
verdadeira– Os comandos são executados continuamente
enquanto a condição é
verdadeira (teste no início)
Estruturas de Controle de Fluxo
main() {char ch;while(ch!='a') { ch=getchar() };}
1/5
23Prof. Rafael Concatto Beltrame
• do while( )
do {comandos;}while(condição)
– Basta que condição seja diferente de zero para ser
verdadeira– Os comandos são executados continuamente
enquanto a condição é
verdadeira (teste ao final)
Estruturas de Controle de Fluxo
1/5
24Prof. Rafael Concatto Beltrame
• Histórico: Dennis Ritchie
e UNIX• Visão geral
– Estrutura do compilador– Organização do código‐fonte
• Sintaxe do programa– Tipos, declarações, funções, expressões
• Funções básicas– printf( ), scanf( )
• Estruturas de controle de fluxo– if( ), if‐else‐if( ), switch( ), for( ), while( ), do while( )
Revisão
Top Related