Академический Документы
Профессиональный Документы
Культура Документы
Linguagem Li d de programao C C.
http://computerinfodicas.blogspot.com.br
(linguagem de programao)
`
(executvel) ( executvel )
MONTADOR (assembler): ` Tradutor para linguagens de 2 gerao. COMPILADOR: programa g de uma vez. ` Traduz todo o p INTERPRETADOR: ` Traduz o programa instruo por instruo.
Linguagem de Programao C
Compiladores e Interpretadores - Ciclo de desenvolvimento
Incio
Erros de linkedio?
Si Sim
Erros de compilao?
No Linkeditar
Sim
No
Fim
Linguagem de Programao C
Diretivas para o processador - Bibliotecas
Diretiva #include permite incluir uma biblioteca. Bibliotecas contm funes pr-definidas, utilizadas nos programas. Exemplos: #include <stdio.h> Funes de entrada e sada
Linguagem de Programao C
Usando o Dev-C++ (b)
Salve o p programa g com o nome exemplo-1.c. p Para tanto, , selecione o menu File, Save unit as. Compile o programa com o comando Compilar & Executar, ou com a tecla Ctrl-F9. Se houver algum erro de sintaxe, aparece uma ou mais mensagens no rodap da janela. Neste caso, corrija o programa e repita. Se no houver erros, erros execute o programa com o comando Executar/Executar ou com a tecla Ctrl-F10.
#include <stdio.h> main() { printf ("Alo mundo!"); system("PAUSE"); }
Linguagem de Programao C
Declaraes
Declaram as variveis e seus tipos. Os nomes das variveis ari eis devem de em conter apenas letras, letras dgitos e o smbolo <_>. At 32 caracteres. Os principais tipos so: char, int, float, double e void (caractere, inteiro, ponto flutuante, ponto flutuante de preciso dupla e sem valor). Diferena entre letras maisculas e minsculas! (exemplo-2.c) Exemplos: int n, N;
diferente t de d N! int n; n dif i int quantidade_valores; float x, x y, y somaValores; char sexo; [ ]; char nome[40];
Linguagem de Programao C
Declaraes
#include <stdio.h> main() { , n2, , n3, , media; ; double n1, ... system("PAUSE"); }
int i, j; %d float x; %f char c; %lf char* nome; %c scanf("%d", &i); %s scanf("%d %f", &j, &x); scanf("%c", &c); scanf("%s" nome) scanf("%s", nome);
int i, j; float x; char c; char* nome; printf("%d", i); printf("%d, %f", j, x); printf("%c", c); printf("%s" nome); printf("%s",
%d %f %lf %c %s
Real: n1, n2, n3, media ler n1, n2, n3 media=(n1+n2+n3)/3 exibir media
system("PAUSE"); }
Linguagem de Programao C
Praticar!
Exemplo Exemplo-2 2.c c
#include <stdio.h> main() { double n1, n2, n3, media; printf("Digite i tf("Di it 3 notas: t ") "); scanf ("%lf %lf %lf",&n1, &n2, &n3); media=(n1+n2+n3)/3; printf ("A mdia %0.2lf",media); system("PAUSE"); y ( ); }
Linguagem de Programao C
Operadores de Atribuio
Linguagem de Programao C
Funes F Matemticas M t ti
#include <math.h>
Linguagem de Programao C
Operadores Relacionais
Linguagem de Programao C
Operadores Lgicos (a)
&& (E lgico): retorna verdadeiro se ambos os operandos so verdadeiros e falso nos demais casos. Exemplo: if( a>2 && b<3). || (OU lgico): retorna verdadeiro se um ou ambos os operandos d so verdadeiros d d i ef falso l se ambos b so f falsos. l Exemplo: if( a>1 || b<2). ! (NO lgico): usada com apenas um operando. Retorna verdadeiro se o operando falso e vice-versa. Exemplo: if( !var ).
Linguagem de Programao C
Operadores Lgicos (b)
Linguagem de Programao C
Estrutura condicional simples Comando Comando if if (a<menor)
if (condio) comando;
menor=a;
if (a<menor) { if (condio) { menor=a; comando1; printf (%d, menor); comando2; } comando3; } em pseudo-cdigo: se (a<menor) (a menor) ento menor=a; menor a;
Linguagem de Programao C
Estrutura condicional composta
Comando if...else
if (condio) comando; else comando; if (condio) { comando1; comando2; } else { comando3; comando4; }
Executa o comando se a condio for qualquer coisa diferente de zero!
if (peso= =peso_ideal) printf p t ( (Voc oc est e em forma!); o a ); else printf (Necessrio fazer dieta!);
em pseudo-cdigo: se (peso= =peso_ideal) entao exibir Voc Voc est em forma! forma! senao exibir Necessrio fazer dieta!
Linguagem de Programao C
Estrutura de repetio
Comando for
for (var=valor inicial; condio; incremento) comando; for (var=valor inicial; condio; incremento) { comando1; Exemplo: for (cont=3; cont<=11; cont++) comando2 printf (%d,cont); comando3; }
Pseudo-cdigo: Para CONT = 3 at 11 repetir Mostrar CONT
Linguagem de Programao C
Estrutura de repetio
Comando while
while (condio) comando; while (condio) { comando1; comando2 comando3; }
Exemplo: while (N != 0) { scanf ( ("%d",&N); % , ); if (N > MAIOR) MAIOR = N; }
Pseudo-cdigo: MAIOR = 0 N=1 Enquanto (N <> 0) repetir Ler N Se (N > MAIOR) ento MAIOR = N Mostrar MAIOR
Linguagem de Programao C
Estrutura de repetio Comando Comando do...while do while
do { comando } while (condio); do { comando1; comando2 comando3; } while ( (condio); );
Exemplo:
cont 0; cont=0; do { cont = cont + 1; printf("%d\n",cont); } while hil ( (cont t < 10) 10);
Em pseudo-cdigo: CONTADOR = 0 Repetir CONTADOR = CONTADOR + 1 exibir CONTADOR q CONTADOR < 10 enquanto
Linguagem de Programao C
Vetores (array)
Trata-se de automatizar a declarao de um grande nmero de dados de um mesmo tipo simples. As variveis assim declaradas se acessam atravs de um ndice de tipo int.
Linguagem de Programao C
Vetores (array) int int v[10];
0 1 2 3 4 5 6 7 8 9
Linguagem de Programao C
Vetores (array) exemplo. Calcular a mdia da nota d 5 alunos de l e verificar ifi quantos conseguiram nota acima da mdia.
#include <stdio.h> main() { int i, contA=0; double soma=0, media; double v[5]; f (i=0;i<5;i++) for (i 0 i<5 i ) { scanf ("%lf", &v[i]); soma = soma + v[i]; } media = soma/i; for (i=0;i<5;i++) { if (v[i]>media) contA=contA+1; } printf ("%lf %d\n", media, contA); system("PAUSE"); }
Linguagem de Programao C
Strings
No existe um tipo String em C. C Strings em C so uma array do tipo char que termina com \0. Para literais String, o prprio compilador coloca \0.
#include <stdio.h> main() { char re[] = "lagarto"; printf ("%s", re); system("pause"); }
Linguagem de Programao C
Para ler uma String Comando Comando gets
#include <stdio.h> main(){ char re [80]; printf ("Digite o seu nome: "); gets(re); printf ("Oi ( Oi %s\n %s\n", re); system("pause"); }
Linguagem de Programao C
Para comparar duas strings
strcmp (s1, s2); strcmp retorna 0 se as duas strings so iguais.
Precisa do #include <string.h> #include <stdio.h> #include <string.h> main( i ( ){ char re[80]; printf ("Digite a senha: "); scanf ( ("%s", , &re); ); if (strcmp(re,"laranja")==0) { printf ("Senha correta\n"); } else { printf ("Senha invalida\n"); } system("pause"); y ( ) }
Pode utilizar scanf no lugar do gets, s que o scanf no l espaos em branco branco. Se o usurio digitar: >Alexandre Costa e Silva o scanf vai pegar apenas Alexandre. O gets pega tudo.
Linguagem de Programao C
Para saber o tamanho de uma string int int size = strlen(str);
Retorna um valor inteiro com o nmero de caracteres da String.
Precisa do #include <string.h> #include <stdio.h> #include <string.h> main(){ char re[80]; printf ("Digite a palavra: "); scanf ("%s", &re); int size=strlen(re); printf ("Esta palavra tem %d caracteres.\n", size); system("pause"); }
Linguagem de Programao C
Para copiar o contedo de uma string para outra strcpy(para, strcpy(para, de);
Precisa do #include <string.h>
#include <stdio.h> #i l d <string.h> #include i h main() { char str[80]; strcpy (str, "Alo"); printf ( ("%s" %s , str); system("pause"); }
Linguagem de Programao C
Funes
So estruturas q que p permitem ao p programador g separar p o cdigo do seu programa em blocos. Uma funo tem a seguinte forma :
tipo_de_retorno nome_da_funcao (parmetros){ /*corpo da funo */ }
Linguagem de Programao C
Funes que no retornam valor
#include <stdio.h> void ehPar (int x){ if (x % 2) { printf ("O numero nao eh par!\n"); } else { printf ("O numero eh par!\n"); } } int main(){ [ ]; char re[80]; ehPar (3); system("pause"); return (0); }
Linguagem de Programao C
Funes que retornam valor
#include <stdio.h> int ehPar (int x){ int z = 0; /* o operador % retorna o resultado da diviso por 2 */ if (x % 2) return 1; } int main(){ char re[80]; int i = ehPar (3); if (i!=0){ printf ( p ("O numero eh p par!"); ); } system("pause"); return (0); }
Linguagem de Programao C
Ponteiros
Ponteiros, como o prprio nome diz, um tipo de varivel que aponta para outra (de um tipo qualquer). Na verdade um ponteiro guarda o endereo de memria (local onde se encontra na memria) de uma varivel.
Linguagem de Programao C
Ponteiros
Para declarar um ponteiro temos a seguinte forma geral:
tipo_do_ponteiro *nome_da_varivel;
o asterisco (*) que faz o compilador saber que a varivel no vai guardar um valor mas sim um endereo para aquele tipo especificado.
Linguagem de Programao C
Ponteiros
int teste=20; i *p; int * p=&teste;
p ir armazenar o endereo de memria (0) da varivel teste (20). Ou seja, p no armazena o valor 20, mas sim o endereo (0) da varivel teste. como chegar ao valor 20 usando a varivel p?
0 1 2 3 4 5 6 7 8 9
20
int teste=20; int *p; p=&teste; printf("%d\n" printf( %d\n ,*p); p);
Linguagem de Programao C
Ponteiros
Exemplo 1:
char algo[5] g [ ] = { 5, , 4, , 3, , 2, , 1 }; char *c; c=&algo[2]; c &algo[2];
Colocamos em c o endereo do terceiro elemento de algo: c[0]=3, c[1]=2 e c[2]=1. Se tivssemos feito c=&algo[3], ento: c[0]=2 [0] 2 e c[1]=1. [1] 1
Linguagem de Programao C
`
Ponteiros Exemplo 2:
int vet_notas[50]; int *pont pont_notas; notas; pont_notas=vet_notas;
Para imprimir a primeira e a dcima nota de nosso vetor, t temos d duas opes: print ("A primeira nota : %d", vet_notas[0]); print ("A primeira nota : %d", *pont_notas); p print ("A dcima nota : %d", vet_notas[9]); ( _ [ ]) print ("A dcima nota : %d", *(pont_notas+9));
Linguagem de Programao C
Linguagem de Programao C
Linguagem de Programao C
. Inverter os elementos de uma string, usando ponteiros. Soluo: Pela maneira convencional teramos: main() () { char str[80]; int i; printf(Digite uma palavra: ); gets(str); for (i=strlen(str)-1;i>=0;i--) printf(%c,str[i]); } Resolvendo com ponteiro: com ponteiros teramos: main() { char str[80],*p; int i; printf(Digite uma palavra: ); gets(str); p = str; for(i = strlen(str) - 1;i>=0;i--) printf(%c,*(p+i)); }
Anexos
Anexo 1- Todos os tipos de dados definidos no padro ANSI [SCHILDT, Herbert. C Completo e Total, 3 Edio, Revista e Atualizada. So Paulo, Makron Books 1996.] Books. 1996 ]
Retornar