SlideShare uma empresa Scribd logo
Introdução a Linguagem de Programação C Fabiano Russo [email_address]
Breve Histórico ,[object Object],[object Object],[object Object]
C comparado a outras linguagens ,[object Object]
C comparado a outras linguagens Nível Baixo Nível Médio Nível Alto Velocidade Clareza Assembler  C COBOL Basic Pascal Ada Modula -2
Aplicações escritas em C ,[object Object],[object Object],[object Object],[object Object]
Características da Linguagem C ,[object Object],[object Object],[object Object],[object Object],[object Object]
Características da Linguagem C ,[object Object],[object Object]
Detalhes Importantes ,[object Object],[object Object],[object Object]
Palavras reservadas ,[object Object],[object Object],[object Object]
Bibliotecas ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estrutura de um programa C ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estrutura de um programa C ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Digitando um programa C ,[object Object],[object Object],[object Object]
Compilando e Executando ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variável ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Nomes de Variáveis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaração de Variáveis ,[object Object],[object Object],[object Object],[object Object],[object Object]
Tipos Básicos de Dados ,[object Object],[object Object],tipo  bytes  escala   char  1  -128  a  127   int  2  -32.768  a  32.767   float  4  3.4e-38  a  3.4e+38   double  8  1.7e-308  a  1.7e+308
Diferentes tipos de inteiros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programa Exemplo – Tipos de Dados e Variáveis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comandos básicos ,[object Object],Entrada de Dados Processamento de dados Saída de Dados
Intruções de E/S – Scanf ( ) ,[object Object],[object Object],[object Object],[object Object],OBS :  Para seqüência de caracteres (%s), o caracter  &  não deverá ser usado.
Comandos de E/S – printf ( ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
String de controle ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo strings de controle ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operador de Endereço & ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operador de Endereço & ,[object Object],Ex: Main ( ) { int num; num = 2; printf (“valor = %d, endereço = %Iu”, num,&num); }   Saída:  valor = 2,  endereço = 1230 Varia conforme memória da máquina
Caracteres Especiais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Formatando as saídas - printf ,[object Object],#include <stdio.h> main ( ) { printf (“os alunos são %2d ”, 350); printf (“os alunos são %4d ”, 350); printf (“os alunos são %5d ”, 350); }  Saída:  os alunos são 350   os alunos são  350 os alunos são  350
Formatando as saídas - printf ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Saída:  3456.8   3456.780
Programando – Exercício 1 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Programando – Exercício 2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Operadores Aritméticos Subtração (unário) - Decremento -- Incremento ++ Resto da divisão inteira % Divisão / Multiplicação * Adição + Ação Operador
Operadores Relacionais e Lógicos Condição “E” && Condição “OU” || Não ! Igual a == Diferente de != Menor ou igual que <= Menor que < Maior ou igual que >= Maior que > Ação Operador
Operadores - Observação ,[object Object]
Operadores - Exemplo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Saída: Verd.=1  Falso = 0
Comparações e Testes ,[object Object],Se x = 10; y = ++x;  /* x=x+1;  y=x; */ então  x = 11  e y = 11 porém Se x = 10; y = x++; /* y=x;  x=x+1 */ então  x = 11   e  y = 10
Programa Exemplo – Pre/Pos Incremento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Quais são as saídas deste programa ?
Comparações e Testes ,[object Object],[object Object],[object Object],[object Object],Qual seria a saída deste comando? resultaria em  1 == 2  0   (pois a expressão é falsa)
Comparações e Testes ,[object Object],Como seria avaliado esta instrução? resultaria em Verdadeiro, pois dez é maior que quatro E dez não é menor que nove OU três é menor ou igual a quatro
Operador Sizeof ,[object Object],[object Object]
Conversões de Tipos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conversões de Tipos - NOTA ,[object Object]
Exercícios ,[object Object],[object Object]
Estruturas de Decisão ,[object Object],[object Object],[object Object],[object Object],[object Object]
Comando if ,[object Object],[object Object],# include <stdio.h> main ( ) { char ch; ch = getchar ( ); if  (ch == ‘p’) printf (“você pressionou a tecla p”); }   if (condição) { instrução1; intrução2; } #include <stdio.h>  main ( ) { if  (getchar()) == ‘p’ ) { printf (“ você digitou p”); printf (“ pressione outra tecla ”);   getchar( ); } }
if aninhados  ,[object Object],#include <stdio.h> main ( ) { char ch; printf (“ digite uma letra  entre A e Z”); ch = getchar ( ); if (ch >= ‘A’) if (ch < = ‘Z’) printf (“ você acertou”); }   #include <stdio.h> main ( ) { char ch; printf (“ digite uma letra  entre A e Z”); ch = getchar ( ); if  ((ch >= ‘A’)  &&  (ch < = ‘Z’))   printf (“ você acertou”); }
Comando if-else ,[object Object],[object Object]
Comando if-else ,[object Object],[object Object],[object Object],[object Object],#include <stdio.h> main ( ) {  if (getchar ( ) == ‘p’) printf (“ você digitou p”); else printf (“ você não digitou p”); }
Exemplo: Evitar-se divisões por Zero, usando recursos do comando if-else. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comando if-else aninhados ,[object Object],[object Object],[object Object],[object Object],[object Object],#include <stdio.h>  main ( ) { int número; scanf (“ % d”, &número);    if (número < 0) printf (“número menor que zero”); else if (número < 10) printf (“ número    e < 10”); else if (número < 100)   printf (“número    10 e < 100);   else   printf (“número   100”); }
Como o computador decide de qual  if  o else   pertence?   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ex1:  Quando n > 0 e a < b Ex2:  Quando n < 0 ,[object Object],[object Object],Ex2: if  (n > 0) { if (a > b) z = a; }  else z = b;
Exemplo 1: Programa Adulto, Jovem ou Velho. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exemplo 2: Maior entre três números ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],main() { int a,b,c,d; cls(); printf(“Digite o 1º Número: “); scanf(“%d”,&a); printf(“Digite o 2º Número: “); scanf(“%d”,&b); printf(“Digite o 3º Número: “); scanf(“%d”,&c); if (a > b) d = a; else d = b; if (c > d) printf(“O Maior é %d”,c); else printf(“O Maior é %d”,d); }
Exemplo 3: Dados 2 números apresente-os ordenados. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comando ?: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercícios ,[object Object],[object Object],[object Object]
Comando Switch ,[object Object],[object Object]
Comando Switch ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comando Switch -  Ex: uma calculadora ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercício ,[object Object],[object Object],[object Object],[object Object],[object Object]
Estruturas de Repetição ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Como imprimir os 1000 1 os  números a partir de 1?
Estruturas de Repetição ,[object Object],[object Object],#include<stdio.h> m ain ( ) {   int num;     for (num = 1;  num <= 1000;  num++)   printf (“ % d”, num); }   Saída:  1  2  3 ... 1000
Comando for for (<início>;<condição>;<incremento>) <comando>;   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comando for ,[object Object],[object Object],[object Object],[object Object],#include<stdio.h> main ( ) { int número;   for  ( número = 2;  número < 10;  número +=  2 )   printf (“ %d”, número); }   Saída  2  4  6  8
Comando for ,[object Object],for (x=0,y=0;x+y<100;++x,y=y+x)  printf(“%d”,x+y);   Esta instrução inicializaria x e y com zero, incrementando x de 1 em 1 e y receberia seu valor acrescido do de x. O resultado a cada iteração seria impresso desta forma: 0 (x=0 e y=0) 2 (x=1 e y=1) 5 (x=2 e y=3) 9 14 e assim sucessivamente.
Comando for - Exemplo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Comando for –  loop infinito ,[object Object],for(;;) printf(“Este loop rodará eternamente!”);
Comando for –  Loop Vazio ,[object Object],for(i=0;i<10;i++);
Comando for –  Loop Finito ,[object Object],for(;;) { scanf(“%c”,&c); if (c == ‘A’)    break;  /*interrompe o que deveria ser um laço eterno*/ } printf(“Fim do Loop!”);
Comando While ,[object Object],Exemplo: Contagem #include <stdio.h> main() { int i=0; while (i < 10) { printf(“%d”,i); i++; } }   ,[object Object]
Comando do - while ,[object Object],do { <comandos>; } while <condição>;   Exemplo: Término determinado pelo usuário. #include <stdio.h> main() { int num; do { scanf(“%d”,&num); } while (num < 100); }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercícios
Funções / Procedimentos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Procedimentos ,[object Object],[object Object],#include <stdio.h>  void desenha(); void  desenha( ) { int i; for (i = 0;  i < = 10;  i++) printf (“-”); }   main ( ) { desenha ( ); printf (“ usando funções”);   desenha ( ); } ___________usando  funcoes___________
Funções ,[object Object],#include <stdio.h> int  fatorial (int); int  fatorial (int  n) { int  i, resultado = 1;    for ( i = 1;  i <= n;  i ++) resultado *=  i; return  resultado; }  main ( ) { printf (“ o fatorial de 4 = %d”, fatorial(4) ); printf (“ o fatorial de 3 = %d”, fatorial(3) ); }
Variáveis locais ,[object Object],[object Object]
Variáveis Locais ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],void desenha ( ) { int i, j; .  .  . .  .  . } void calcula ( ) { int i, j; .  .  . .  .  . }   i, j  em desenha são variáveis diferentes de i, j em  calcula.
Variáveis Globais ,[object Object],#include <stdio.h> main ( ) { int i;    ......... ......... desenha ( ); calcula ( ); } void desenha ( ) { int j; i = 0; .  .  . }   void calcula ( ) { int m; i = 5; .  .  . }
Comando Return ,[object Object],[object Object],#include <stdio.h> main ( ) { char letra;   printf (“ digite uma letra em minúsculo”); letra = minúsculo ( ); if  (letra  == ‘a’)  printf (“ok”); } char  minúsculo ( ) { char ch; scanf(“%c”, ch);  if  ( (ch >= ‘A’)  &&  (ch <= ‘Z’)) return (ch + ‘a’ - ‘A’); else return (ch); }
[object Object],[object Object]
Passando dados para função ,[object Object],[object Object],[object Object]
Passando dados  para função ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passando dados para função - Exemplo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passando vários argumentos ,[object Object],[object Object],[object Object],[object Object],[object Object],Ex 2: float potência (float  base,  int  expoente) { int  i;  float  resultado = 1; if (expoente == 0) return 1; f or (i = 1; i <= expoente; i++) resultado *= base return  resultado;  }
Usando várias funções:  calcular a seguinte seqüência ,[object Object],#include <stdio.h> float  serie (float ,  int ); float  potencia (float ,  int)   int  fat (int); main( ) { float x; int  termos;   printf(“entre com o numero de termos: “);  scanf(“%d”, &termos); printf(“entre com o valor de X: “);  scanf(“%f”, &x); printf(“O valor de série = %f “,  serie(x, termos) ); }
float  potencia (float  base,  int expoente) { int i;  float  resultado = 1;    if (expoente == 0) return 1; for (i = 1;  i <= expoente;  i++) resultado *= base; return resultado; } float  serie (float x,  int n) { int i;  float  resultado = 0;    for ( i = 1;  i <= n; i++) resultado  +=  potência( x, i )  /  fat( i ); return resultado; }
int  fat (int n) { int i, resultado = 1;   for ( i = 1;  i <= n;  i ++) resultado *= i; return resultado; }
Vetores ,[object Object],[object Object],Ex:  Ler a nota de 3 alunos e calcular a média   int  nota0, nota1, nota2;   printf(“entre com a 1a. nota”); scanf(“%d”, &nota0); : : : printf(“média = %f”, (nota0 + nota1 + nota2) / 3));
Ex: Calcular a média de 300 alunos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Vetores – Observações importantes ,[object Object],[object Object],Ex:   int  alunos;  int  notas [ alunos ]; :  : : printf (“entre com o número de alunos”); scanf (“%d”, &alunos);   NÂO É ACEITO !!!
Vetores – Observações importantes ,[object Object],Ex: int  alunos; int  notas [ 70 ]; :  : : printf (“entre com o número de alunos”); scanf (“%d”, &alunos);
Vetores – Observações importantes ,[object Object],[object Object],[object Object]
Vetores – Obs importantes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Passando um vetor para uma função ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
int  maximum( int values[5] ) { int  max_value, i; max_value = values[0]; for( i = 0; i < 5; ++i ) if( values[i] > max_value ) max_value = values[i]; return max_value; } Saída: Entre com 5 numeros: 7 23 45 9 121 Valor Maximo: 121
Matrizes ,[object Object],[object Object],[object Object],[object Object],[object Object]
Matrizes - Leitura ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Variável String ,[object Object],[object Object],[object Object],Ex:   char  string[10]  =  “exemplo” ;     char  string[10] = { “exemplo” };     char  string[10]  = { ‘e’, ‘x’, ‘e’, ‘m’, ‘p’, ‘l’, ‘o’, ‘’ };     printf ( “%s”, string );   printf ( “%c”, string [ 0 ] );
Lendo Strings ,[object Object],Ex: main ( )  { char  nome[40]; printf ( “Digite seu nome: “ ); scanf ( “%s”, &nome[ 0 ] ); //scanf ( “%s”, nome );   printf ( “Bom dia %c”, nome[0] ); } Saída : Digite seu nome:  Jose Maria Bom dia  Jose
Lendo Strings ,[object Object],[object Object],[object Object],Ex: main ( )  { char  nome[40]; printf ( “Digite seu nome: “ ); gets ( &nome[ 0 ] ); // ou  gets(nome); printf ( “Bom dia %s”, nome ); }   Saída : Digite seu nome:  Jose Maria Bom dia  Jose Maria
Imprimindo Strings ,[object Object],[object Object],Ex: main ( )  { char  nome[40]; printf ( “Digite seu nome: “ ); gets ( &nome[ 0 ] ); puts ( “Bom dia ” );  puts ( nome ); } Saída : Digite seu nome:  Jose Maria Bom dia  Jose Maria
Funções de manipulação de strings ,[object Object],[object Object],Ex: main ( )  { char  nome[40]; printf ( “Digite seu nome: “ ); gets ( &nome[ 0 ] ); printf (“Tamanho = %d”, strlen(&nome[ 0 ]) ); }   Saída : Digite seu nome:  Jose Maria Tamanho = 10
Funções de manipulação de strings ,[object Object],[object Object],Ex: main ( )  { char  nome[40]  = “Jose”,  char sobrenome[30] =  “Maria”; strcat(nome, sobrenome); puts (sobrenome); puts (nome); } Saída : Maria JoseMaria Cuidado:  dado  str1 + str2   tem que caber  em str1
Funções de manipulação de strings ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conversões ,[object Object],Exemplo: Conversão de String em Número Inteiro #include <stdio.h> main() { int i; char s[10]; printf(“Digite uma sequencia de numeros com letras: “); gets(s); i = atoi(s); printf(“Numero: %d “,i); }
Ponteiros ,[object Object]
Ponteiros ,[object Object],[object Object],[object Object],[object Object],[object Object],int teste=20; int *p; p=&teste; printf(&quot;%d&quot;,*p);
Ponteiros Outro exemplo: char algo[5] = { 5, 4, 3, 2, 1 }; char *c; c=&algo[2]; Colocamos em c o endereço do terceiro elemento de algo: c[0]=3, c[1]=2 e c[2]=1. Se tivéssemos feito c=&algo[3], então: c[0]=2 e c[1]=1.
Ponteiros ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Equivalência entre vetores e ponteiros ,[object Object],[object Object],[object Object]
Malloc e Free ,[object Object],[object Object],[object Object],[object Object],[object Object]
Printf(“Entre com o número total de alunos’”); scanf(“%d”, &numero); notas=(int *)malloc(numero * sizeof(int)); for (i=0; i,numero; i++) {   printf(“Digite a nota do aluno %d”, i+1); scanf(“%d”, &notas[i]); printf(“ A nota do aluno %d é :%d: , i+1, notas[i]); } free(notas); }
Estruturas ,[object Object]
Estruturas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estruturas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Estrutras - Utilização do tipo ,[object Object],[object Object],[object Object],[object Object]
Vetores de Estruturas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - feopen( ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - putc ( ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - getc ( ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - fclose ( ) ,[object Object],[object Object],[object Object]
main() { FILE *arq; char ch; if ((arq=fopen(“teste.dat”,”w”)) == NULL) { printf(“Arquivo não pode ser  criado”); exit(1); } do{ ch=getchar(); putc(ch,arq); }while (ch!=0); fclose(arq); }
Arquivos - ferror ( ) ,[object Object],[object Object]
Arquivos - rewind( ) ,[object Object]
Arquivos - fwrite ( ) fread ( ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - fwrite ( )  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Arquivos - fseek ( ) ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Exemplo de montagem de um pequeno cadastro de nomes, endereços e salários  de funcionários em arquivo.
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object]
Exemplo 1: Programa KTOD, que escreve caracteres num arquivo criado/aberto via D.O.S. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
do { putchar(ch); ch=getc(fp); } while( ch != ‘$’); fclose(fp); }
Exemplo 3: Programa para copiar Arquivos. #include “stdio.h” main(argc,argv) int argc; char *argv[]; { FILE *in, *out; char ch; if (arg != 3) { printf(“Digite o Nome dos Arquivos”); exit(1); }   if ((in=fopen(argv[1],”rb”)) == NULL) { printf(“Arquivo origem não existe”); exit(1); }   if ((out=fopen(argv[2],”wb”)) == NULL) { printf(“Arquivo destino não existe”); exit(1); } while (! feof(in))  putc(getc(in),out);  /* esta é a cópia propriamente dita */ fclose(in); fclose(out); }

Mais conteúdo relacionado

Mais procurados

Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
Jose Augusto Cintra
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
Ricardo Liyushiro Chikasawa
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
Gercélia Ramos
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
Gercélia Ramos
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
Professor Samuel Ribeiro
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
sergiocrespo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
rodfernandes
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
Crishna Irion
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
Gemilson George
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
Elaine Cecília Gatto
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
Willians Miyabara
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
Helio Colombe
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
Elaine Cecília Gatto
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
Priscila Mayumi
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
Elaine Cecília Gatto
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
Mauro Pereira
 

Mais procurados (20)

Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)Fluxograma (Lógica de Programação)
Fluxograma (Lógica de Programação)
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Algoritmo - tipos de dados
Algoritmo - tipos de dadosAlgoritmo - tipos de dados
Algoritmo - tipos de dados
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Lista de exercícios resolvidos
Lista de exercícios resolvidosLista de exercícios resolvidos
Lista de exercícios resolvidos
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Curso de Python (Básico) - Português
Curso de Python (Básico) - PortuguêsCurso de Python (Básico) - Português
Curso de Python (Básico) - Português
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Apresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação PythonApresentando a Linguagem de Programação Python
Apresentando a Linguagem de Programação Python
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 

Semelhante a Introdução a Linguagem C

Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
Clécio Américo de Lima
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
JoberthSilva
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
mmind
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
profwtelles
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
Aldo Henrique Dias Mendes
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
Thiago Freitas
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
Elaine Cecília Gatto
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
victorlopes714651
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
Carla Lee
 
Ling c
Ling cLing c
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
vingue
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
marcelo00001975
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
Valdinho Pereira
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Enio Filho
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
engenhariadecomputacao
 
Aula01
Aula01Aula01
Aula01
vdlos
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
EizoKato
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
EizoKato
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
RUI VIEIRA
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
Elaine Cecília Gatto
 

Semelhante a Introdução a Linguagem C (20)

Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Ling c
Ling cLing c
Ling c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdfAlgoritmos e LP - Aula 08 - Linguagem C - p1.pdf
Algoritmos e LP - Aula 08 - Linguagem C - p1.pdf
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Aula01
Aula01Aula01
Aula01
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 

Introdução a Linguagem C

  • 1. Introdução a Linguagem de Programação C Fabiano Russo [email_address]
  • 2.
  • 3.
  • 4. C comparado a outras linguagens Nível Baixo Nível Médio Nível Alto Velocidade Clareza Assembler C COBOL Basic Pascal Ada Modula -2
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33. Operadores Aritméticos Subtração (unário) - Decremento -- Incremento ++ Resto da divisão inteira % Divisão / Multiplicação * Adição + Ação Operador
  • 34. Operadores Relacionais e Lógicos Condição “E” && Condição “OU” || Não ! Igual a == Diferente de != Menor ou igual que <= Menor que < Maior ou igual que >= Maior que > Ação Operador
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88. float potencia (float base, int expoente) { int i; float resultado = 1;   if (expoente == 0) return 1; for (i = 1; i <= expoente; i++) resultado *= base; return resultado; } float serie (float x, int n) { int i; float resultado = 0;   for ( i = 1; i <= n; i++) resultado += potência( x, i ) / fat( i ); return resultado; }
  • 89. int fat (int n) { int i, resultado = 1;   for ( i = 1; i <= n; i ++) resultado *= i; return resultado; }
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97. int maximum( int values[5] ) { int max_value, i; max_value = values[0]; for( i = 0; i < 5; ++i ) if( values[i] > max_value ) max_value = values[i]; return max_value; } Saída: Entre com 5 numeros: 7 23 45 9 121 Valor Maximo: 121
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111. Ponteiros Outro exemplo: char algo[5] = { 5, 4, 3, 2, 1 }; char *c; c=&algo[2]; Colocamos em c o endereço do terceiro elemento de algo: c[0]=3, c[1]=2 e c[2]=1. Se tivéssemos feito c=&algo[3], então: c[0]=2 e c[1]=1.
  • 112.
  • 113.
  • 114.
  • 115. Printf(“Entre com o número total de alunos’”); scanf(“%d”, &numero); notas=(int *)malloc(numero * sizeof(int)); for (i=0; i,numero; i++) { printf(“Digite a nota do aluno %d”, i+1); scanf(“%d”, &notas[i]); printf(“ A nota do aluno %d é :%d: , i+1, notas[i]); } free(notas); }
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126. main() { FILE *arq; char ch; if ((arq=fopen(“teste.dat”,”w”)) == NULL) { printf(“Arquivo não pode ser criado”); exit(1); } do{ ch=getchar(); putc(ch,arq); }while (ch!=0); fclose(arq); }
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140. do { putchar(ch); ch=getc(fp); } while( ch != ‘$’); fclose(fp); }
  • 141. Exemplo 3: Programa para copiar Arquivos. #include “stdio.h” main(argc,argv) int argc; char *argv[]; { FILE *in, *out; char ch; if (arg != 3) { printf(“Digite o Nome dos Arquivos”); exit(1); } if ((in=fopen(argv[1],”rb”)) == NULL) { printf(“Arquivo origem não existe”); exit(1); } if ((out=fopen(argv[2],”wb”)) == NULL) { printf(“Arquivo destino não existe”); exit(1); } while (! feof(in)) putc(getc(in),out); /* esta é a cópia propriamente dita */ fclose(in); fclose(out); }