pci- introdução a linguagem c profa. mercedes gonzales márquez
TRANSCRIPT
![Page 1: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/1.jpg)
PCI- Introdução a linguagem C
Profa. Mercedes Gonzales Márquez
![Page 2: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/2.jpg)
Primeiro Programa
Estrutura do código fonte– Comentários– Diretivas de compilador– Procedimento principal
![Page 3: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/3.jpg)
Primeiro Programa
/* file: oi.c* Este programa escreve a mensagem "Oi pessoal"* na tela. O programa foi tomado do livro* "Art and Science of C" de Eric Roberts.*/#include <stdio.h>#include <stdlib.h>int main(int argc, char* argv[]){ printf("Oi pessoal.\n");return 0;}
![Page 4: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/4.jpg)
Primeiro Programa
/* file: oi.c* Este programa escreve a mensagem "Oi pessoal"* na tela. O programa foi tomado do livro* "Art and Science of C" de Eric Roberts.*/#include <stdio.h>int main(int argc, char* argv[]){ printf("Oi pessoal.\n");return 0;}
Comentários
Diretivas deCompilador
ProcedimentoPrincipal
![Page 5: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/5.jpg)
Primeiro Programa
Comentários• Texto ignorado pelo compilador• Documentação útil para descrever trechos do algoritmo• Possível em qualquer posição do código fonte• Duas formas para comentários:
- Uma linha:// Comentário ...- Várias linhas: /* Comentário...mais comentários ... */
![Page 6: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/6.jpg)
Primeiro Programa
Diretivas de Compilador:• Informam outros arquivos que devem ser consultados
antes de compilar.• Definem parâmetros utilizados pelo compilador.• São colocadas no início do código fonte.
Exemplos: #include <stdio.h>#include <stdlib.h>#include <math.h>
![Page 7: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/7.jpg)
Primeiro Programa
Procedimento principal:• Sequência de instruções• Pontuação: ponto-e-vírgula termina instruções• Chaves agrupam instruções relacionadas
int main(int argc, char* argv[]){ printf("Oi pessoal.\n");return 0;
• int argc, char* argv[] e return 0 são obrigatórios.
![Page 8: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/8.jpg)
Memória
• Memória: sequência de células• Endereço: posição da célula • Células armazenam dados– Valor pequeno: uma célula– Valor grande: duas ou mais células
![Page 9: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/9.jpg)
Memória
• Operações na memória:1. Consulta (lê) células de memória2. Programa calcula um novo valor3. Armazena (escreve) o novo valor em uma célula
![Page 10: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/10.jpg)
Variáveis
• Abstração dos endereços de memória.• Rótulo simbólico para cada endereço.
![Page 11: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/11.jpg)
Variáveis
• Variável: nome simbólico associado a um dado.
Nome (rótulo)Variável:
Valor (conteúdo)
![Page 12: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/12.jpg)
Declarando uma variável
Declara-se da seguinte forma: Tipo Variável Nome Variável;
Exemplo :int numero;
![Page 13: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/13.jpg)
Variáveis inteiras
Os seguintes são os tipos da linguagem C que servem para armazenar inteiros:int: Inteiro cujo comprimento depende do processador. E o inteiro mais utilizado. Em processadores Intel comum, ocupa 32 bits e pode armazenar valores de -2.147.483.648 a 2.147.483.647.unsigned int: Inteiro cujo comprimento depende do processador e que armazena somente valores positivos. Em processadores Intel comum, ocupa 32 bits e pode armazenar valores de 0 a 4.294.967.295.
![Page 14: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/14.jpg)
Variáveis inteiras
long int: Inteiro que ocupa 64 bits em computadores Intel de 64bits e pode armazenar valores de aprox. -9 x1018 a aprox. 9 x1018.unsigned long int: Inteiro que ocupa 64 bits e em computadores Intel de 64bits e armazena valores de 0 ate aprox. 18 x1018.short int: Inteiro que ocupa 16 bits e pode armazenar valores de -32.768 a 32.767.unsigned short int: Inteiro que ocupa 16 bits e pode armazenar valores de 0 a 65.535.
![Page 15: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/15.jpg)
Variáveis de tipo caracter
Variáveis utilizadas para armazenar letras e outros símbolos existentes em textos. Guarda apenas um caracter.Exemplos de declaração:char umaLetra;
![Page 16: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/16.jpg)
Variáveis de tipo ponto flutuante
Variáveis utilizadas para armazenar letras e outros símbolos existentes em textos. Guarda apenas um caracter.Exemplos de declaração:char umaLetra;
![Page 17: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/17.jpg)
Variáveis de tipo ponto flutuante
Armazenam valores reais. Mas possuem problemas de precisão pois há uma quantidade limitada de memória para armazenar um número real.Exemplos de números em ponto flutuante: 2.1345 ou 9098.123.- float: Utiliza 32 bits, e na pratica tem precisão de aproximadamente 6 casas decimais (depois do ponto). Pode armazenar valores de (+/-)10-38 a (+/-)1038
double: Utiliza 64 bits, e na pratica tem precisão deaproximadamente 15 casas decimais. Pode armazenar valores de (+/-)10-308 a (+/-)10308
![Page 18: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/18.jpg)
Regras para nomes de variáveis em C
• Deve começar e pode conter letra (maiúscula ou minúscula) ou underline(_).
• Não pode-se utilizar como parte do nome de uma variável: { ( + - * / \ ; . , ?
• Letras maiúsculas e minúsculas são diferentes:• As seguintes palavras são reservadas na linguagem C
e portanto não podem ser utilizadas como nome de variáveis:
auto double int struct break enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do
if static while
![Page 19: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/19.jpg)
Operações aritméticas e expressões
Operações aritméticas podem ser combinadas formando expressões. Existe uma regra de multiplicação e divisão (mesma prioridade) sobre soma e subtração (mesma prioridade) e a ordem de execução para operadores da mesma prioridade é de esquerda para direita. Exemplo.int main(){int a=20, b=10;float c=1.5,d;d=c*b/a; /*atribui 0.75 para d*/d=c*(b/a); /*atribui 0.0 para d pois a divisão entre inteiros resulta em um inteiro*/}
![Page 20: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/20.jpg)
Operações aritméticas e expressões
Note que a melhor forma de garantir o resultado esperado é usar parênteses. A prioridade de execução neste caso é da expressão mais interna para a mais externa.
Int main(){int a=20, b=10;float c=1.5, d;d= (((a+5)*10)/2)+b; /*atribui 135 para d*/}
![Page 21: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/21.jpg)
Operações aritméticas e expressões
Símbolo Função
+ Adição
- subtração
* Multiplicação
/ Divisão real
% Resto da divisão inteira
/ Quociente da divisão inteira
![Page 22: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/22.jpg)
Constantes
Assim como variáveis, constantes são usadas para armazenar números e caracteres. Exemplos:# define PI 3.1415926536 /* atribui o valor para PI*/# define Delta 0.001
![Page 23: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/23.jpg)
Definindo novos tipos
Podemos usar o comando typedef para definir novos tipos de variáveis ou abreviar tipos existentes.
Typedef enum {false,true} bool; /* o tipo bool só armazena 0/false e 1/true*/
![Page 24: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/24.jpg)
Operações lógicas e expressões
Os caracteres &&, ||, !, indicam as seguintes operações lógicas: and, or e not, correspondendo às operações de conjunção, disjunção e negação, respectivamente.
![Page 25: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/25.jpg)
Operações lógicas e expressões
#include <stdio.h> /*Biblioteca para incluir comandos de entrada e saída como printf*/
Typedef enum {false,true} bool;Int main(){ bool v1,v2,v3;v1=true;v2=false;v3=v1&&v2;v3=v1||v2;v3=!v1;v3=((v1&&v2))||(!v2);printf("%d,%d,%d\n",v1,v2,v3);
}
![Page 26: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/26.jpg)
Funções matemáticas
Função Resultado
Sin(x) Seno de um ângulo
cos(x) Coseno de um ângulo
tan(x) Tangente do ângulo
exp(x) O número e elevado a x.
ln(x) Logaritmo neperiano de x
sqrt(x) Raiz quadrada de x
log10(x) Logaritmo base 10 de x
Round(x) Arredondamento do ponto flutuante x.
Várias funções matemáticas são disponibilizadas pela linguagem C.
![Page 27: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/27.jpg)
Funções matemáticas#include <stdio.h> #include <math.h> /* biblioteca padrão para funções matemáticas básicas*/# define PI 3.1415926536 /* atribui o valor para PI*/int main(int argc, char *argv[]) { float a=1.0,b;printf("O valor 4.3 arredondado usando round() e %f", round(4.3)); b=exp(a);printf(“a=%f, b=%f\n”,a,b);a=2.0;a=pow(a,3.0);printf(“a=%f\n”,a);a=cos(PI/2);printf(“a=%f\n”,a);return 0; }
![Page 28: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/28.jpg)
Comandos de entrada/saída
Entrada de Dados:O teclado é o dispositivo padrão para entrada de dados. O comando scanf lê números e caracteres digitados no teclado da seguinte forma:scanf (%d”, &x) onde x é uma variável inteira e &x é o endereço em memória da variável x.Cada tipo de variável requer um símbolo específico de conversão. O símbolo %d é usado para variáveis int,short, unsigned short, unsigned char;O símbolo %u é usado para unsigned inteiro.O símbolo %c para char.O símbolo %s para char e cadeias de caracteres.O símbolo %f para flota e o símbolo %lf para double.
![Page 29: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/29.jpg)
Comandos de entrada/saída
Saída de Dados: O teclado é o dispositivo padrão para saída de dados. O comando printf apresenta números e caracteres na tela da seguinte forma: printf (%d”, x) onde x é uma variável inteira
Exemplo:#include<stdio.h>Int main(){Int a=9, b=800;Float c=20.9176, d=-1.4219/*\n pula linha, 3 indica o número de dígitos, incluindo o sinal, se houver, 5 indica o número de dígitos total, incluindo o sinal, se houver, e 2 indica o número de dígitos após o ponto.Printf (“\n a=3d,\n b=%3d, \n c=%5.2f, \n d=%5.2f.\n”,a,b,c,d);return(0);}
![Page 30: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/30.jpg)
Comandos de entrada/saída
include<stdio.h>int main(){
int ano;printf(“Digite o ano de nascimento:");scanf(“%d",&ano);printf(“O ano de nascimento digitado foi: %d\
n",ano);}
![Page 31: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/31.jpg)
Comandos de entrada/saída
include<stdio.h>int main(){
int base, altura, area;printf`(“Digite a base do retangulo:");scanf(“%d",&base);printf(“Digite a altura do retangulo:");scanf(“%d",&altura);area = base altura;printf(“Valor da area e: %d\n",area);
}
![Page 32: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/32.jpg)
Exercícios de comandos de entrada e saída
1. Faça um programa que leia o valor do salário de um funcionário, calcule e mostre seu novo salário, sabendo que o mesmo recebeu um aumento de 21,3%.
2. Faça um programa que receba a altura do degrau de uma escada e a altura que o usuário deseja alcançar subindo a escada. Calcular e mostrar quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário.
3. 3. Leia o valor do raio de um círculo e calcule a área deste círculo.
![Page 33: PCI- Introdução a linguagem C Profa. Mercedes Gonzales Márquez](https://reader035.vdocuments.site/reader035/viewer/2022062404/552fc13d497959413d8dd188/html5/thumbnails/33.jpg)
Comandos de entrada/saída
4. A importância de R$ 780.000,00 será dividida entre três ganhadores de um concurso. Sendo que da quantia total: O primeiro ganhador receberá 46%; O segundo receberá 32%; O terceiro receberá o restante.Calcule e imprima a quantia ganha por cada um dos ganhadores.5. Uma empresa contrata um encanador a R$ 30,00 por dia. Crie um programa que solicite o número de dias trabalhados pelo encanador e imprima a quantia líquida que deverá ser paga, sabendo-se que são descontados 8% para pagamento de impostos e taxas devidas.6. Leia os valores de dois catetos de um triângulo e calcule e mostre o valor da hipotenusa