You are on page 1of 20

Elaborado por: Emerson Renato

PROGRAMAO

Curso de linguagem C (Utilizado para fazer programa)

(Em: 17/01/13)

No curso de programao, iremos utilizar como software o Compilador DEVC++, como objetivo teremos a criao de programas e aprendizagem em relao linguagem de programao. No processo de criao de um programa, iremos trabalhar com a digitao de funes, o que denominamos de Arquivo ou Cdigo Fonte (CPP), que para o sistema e reconhecido como um arquivo de alto nvel. Esse por sua vez pode ser escrito ou digitado em qualquer programa de criao de textos (Word ou Bloco de notas), ou no prprio software. Aps a digitao do Arquivo Fonte, utilizaremos uma ferramenta do Compilador DEV-C++, denominada de Compile & Run, que poder ser ativado atravs de um atalho clicando na tecla F9. Esse processo da origem ao Arquivo Executvel (EXE), que o sistema reconhece como um arquivo de baixo nvel. Compilador: DEV-C++ - Projeto (DEV) - Arquivo Fonte (CPP) - Compiler & Run (F9) - Arquivo Executvel (EXE) Obs: O C Case Sensitive ( necessrio respeitarmos a sua analise em relao a digitao de letras maisculas ou minsculas).

Elaborado por: Emerson Renato

AULA 01 (CRIAR O PRIMEIRO PROGRAMA)

(Em: 18/01/13)

OBS: CRIAR NA AREA DE TRABALHO UMA PASTA COM O NOME CursoC, DENTRO DESSA CRIE OUTRA PASTA DENOMINADA PROGRAMAS , ADICIONANDO DENTRO DELA OUTRAS TRES PASTAS EXEMPLO 01, EXEMPLO 02 E EXEMPLO 03.

ARQUIVO FONTE A SER USADO: Para reconhecimento da funo printf Para reconhecimento da funo system

#include <stdio.h> #include <iostream>

/* Um Primeiro Programa*/ Comentrio main () { Funo Principal Inicio da Funo printf(UFRA\n); Exibe uma Funo na Tela system(pause); } Final da Funo

Obs: O caractere (\n) serve para joga o cursor para a linha de baixo.

ANALISE DO PROGRAMA: - ARQUIVO-CABEALHO - COMENTARIOS (/* */, //) - FUNO PRINCIPAL - FUNO PRINTF - STRING (CONJUNTO DE CARACTRES ( )) - ARGUMENTO - CONSTANTE BARRA INVERTIDA (NEW LINE), (COMANDO: JOGA O CURSOR PARA A PROXIMA LINHA). Obs: Comando em C termina com ponto e vrgula (;). Para a criao do nosso primeiro programa, siga os passos a baixos.

Elaborado por: Emerson Renato

1 PASSO: ABRIR O PROGRAMA DEV-C++ (SIGA OS PASSOS INDICADOS ABAIXO).

2 PASSO: CLIC NO PRIMEIRO BOTO DA BARRA DE FERRAMENTA, PROJECT. ( SERA ABERTA OUTRA JANELA COM O NOME New project).

Elaborado por: Emerson Renato

3 PASSO: ESCOLHA A OPO Console Aplication. NA MESMA JANELA RENOMEI SEU PROJETO COMO O NOME EX1, DEPOIS CLICK EM OK.

4 PASSO: APS CLICAR EM OK, ABRIRAR UMA J NELA DENOMINADA Creat new Project. AQUI EREMOS SALVAR O NOSSO PROJETO. (NESSE CASO ESCOLHEREMOS A PASTA EXEMPLO 01).

Elaborado por: Emerson Renato

5 PASSO: AGORA IREMOS DIGITAR OS COMANDOS DO NOSSO PROGRAMA NA AREA DE TRABALHO DO PROGRAMA.

6 PASSO: AO TERMINAR DE DIGITAR OS COMANDOS DO NOSSO PROGRAMA ESCOLHEMOS A FERRAMENTA (Compile & Run (F9)), OU PODEMOS UTILIZAR UM ATALHO ATRAVEZ DA TECLA F9. (ISSO FEITO PARA REPRODUZIRMOS O NOSSO PROGRAMA E DAR ORIGEM AO ARQUIVO EXECULTAVEL (EXE)).

Elaborado por: Emerson Renato

RESULTADO DOS PASSOS SEGUIDO: APARECERA UMA JANELA PRETA COM A PROGRAMAO SUJERIDA ( NO NOSSO CASO, UM PROGRAMA QUE EXIBA NA TELA O NOME UFRA).

AULA 02: CRIAO DO NOSSO SEGUNDO PROGRAMA

(em: 24/01/13)

OBJETIVO: EXIBIR UMA OPERAO MATEMATICA, RELACIONANDO VARIVEIS FLUTUANTE E INTEIRAS, PARA O CALCULO DE QUANTOS DIAS EQUIVALEM A DETERMINADOS ANOS. ARQUIVO FONTE A SER USADO: #include <stdio.h> #include <iostream> main () { //Declarao de Variveis (variveis de memoria) int dias; float anos; printf(Entre com o numero de dias:); scanf(%d, &dias); //Expresso matemtica

Elaborado por: Emerson Renato anos=dias/365.25; //Dias para anos Varivel de memoria

printf(\n\n %d dias equivalem a %f anos. \n\n, dias, anos); system(pause); }

ANALISE DO PROGRAMA:

- DECLARAO DE VARIVEIS (INTEIRO (%d), FLUTUANTE (%f)). - LEITURA DE DADOS FORNECIDOS PELO USUARIO (scanf). - PARAMETROS - EXPRESSO MATEMATICA - A SEGUNDA CHAMADA DA FUNO printf() TEM TRS ARGUMENTOS: * A STRING \n\n %d dias equivalem a %f anos. \n\n, DIZ A FUNO PARA PULAR DUAS LINHAS, COLOCAR UMA VARIAVEL INTEIRO NA TELA, COLOCAR A MENSAGEM dias equivalem, anos E PULAR OUTRAS LINHAS.

- OS PARAMETROS SO AS VARIVEIS, dias E anos DAS QUAIS DEVEM SER LIDOS OS VALORES DO INTEIRO E DO FLUTUANTE, RESPECTIVAMENTE.

1 PASSO: DIGITE O ARQUIVO FONTE EQUIVALENTE AO SEU PROGRAMA 02.

Elaborado por: Emerson Renato

2 PASSO: USE A TECLA DE ATALHO (F9), PARA COMPILAR E EXECULTAR SEU PROGRAMA. (DIGITE UM NUMERO INTEIRO ONDE O CURSOR ESTA INDICANDO: 874, DEPOIS DER ENTER)

O RESULTADO DE O NOSSO PROGRAMA SERAR EXIBIDO APS DARMOS O ENTER: (DIVIDIU 874 POR 365.25, E DEU SEU VALOR EM ANOS)

Elaborado por: Emerson Renato

AULA 03: APRENDENDO A CRIAR ARGUMENTOS FUNO COM MAIS DE UMA VARIVEL

Em: 31/01/2013

EXEMPLO 06: RETORNANDO VALORES - MUITAS VEZES NECESSRIO FAZER COM QUE UMA FUNO RETORNE A UM VALOR. - O TIPO DE RETORNO INDICADO ANTES DO NOME DA FUNO. - PARA DIZER AO C O QUE SER RETORNADO PELA FUNO USA-SE A PALAVRA RESERVADA RETURN. EXERCICIO: RETORNO DE VALORES DE UMA FUNO #include <stdio.h> #include <iostream> //retorno de valor de uma funo int produto (int x, int y) { return(x*y); } main () { int saida; saida=produto(10,3); printf(O valor de retorno da funo produto : %d\n, saida); system(pause); } ANALISE DO PROGRAMA: - A FUNO PRODUTO RETORNA O VALOR DE 10 MULTIPLICADO POR 3. - ESTE VALOR PODE SER USADO EM UMA EXPRESSO QUALQUER. - NO PROGRAMA E FEITA A ATRIBUIO DESTE RESULTADO A VARIVEL SAIDA. - A VARIVEL SAIDA POSTERIORMENTE IMPRESSA USANDO PRINTF( ).

Elaborado por: Emerson Renato

OBS: -SE NO ESPECIFICAR O TIPO DE RETORNO DE UMA FUNO, O COMPILADOR C AUTOMATICAMENTE IRA SUPOR QUE ESTE INTEIRO. - O VALOR DE RETORNO DA FUNO MAIN( ) SEMPRE SERA INTEIRO. EXEMPLO 07: FUNO QUE RECEBE DOIS FLOATS E RETORNA UM FLOAT. EXERCICIO: # include <stdio.h> # include <iostream> // Funo que recebe dois floats e tambm retorna um float. float prod (float x, float y) { return(x*y); } int main () { float saida; saida=prod (45.2, 0.0067); printf(A saida : %f\n\n, saida); system(pause); }

FORMA GERAL DE UMA FUNO: Tipo de retorno nome da funo (lista de argumentos) { Cdigo da funo }

Elaborado por: Emerson Renato EXERCICIO: ESCREVA UMA FUNO QUE SOME DOIS INTEIROS E RETORNE O VALOR DA SOMA. AULA 04: INTRODUO BASICA S ENTRADAS E SAIDAS (Em: 01/02/2013) CARACTERRES:

- OS CARACTERES SO UM TIPO DE DADO: O CHAR. - EXEMPLO DE CARACTERES: (a, b, @, 2, , , 2, ETC...). - OS CARACTERES SO TEXTOS E DEVEM SER INDICADOS POR APOSTROFES. EXEMPLO 08: PROGRAMA QUE USA CARACTERES #include<stdio.h> #include<iostream> // uso de caracteres int main() { char Ch; Ch=D; printf(%c, Ch); printf(\n\n); system(pause); } ANALISE DO PROGRAMA:

(declara a variavel) (inicializada, recebendo o contedo da variavel)

- %c INDICA QUE PRINTF() DEVE COLOCAR 1(UM) CARACTERE NA TELA. - UM CARACTERE TAMBEM USADO PARA ARMAZENAR UM NUMERO INTEIRO. ESTE NMERO INTEIRO CONHECIDO COMO O CDIGO ASCII CORRESPONDENTE AO CARACTERE.

Elaborado por: Emerson Renato

EXEMPLO 09: CODIGO ASCII #include<stdio.h> #include<iostream> // Uso de cdigo ASCII Int main() { Char Ch; Ch= D; printf(%d, Ch); //imprime o caracter como inteiro printf(\n\n); system(pause); }

ANALISE DO PROGRAMA:

- ESTE PROGRAMA IMPRIME 68 NA TELA, QUE O CDIGO ASCII (American Standard Code for Information Interchange), CORRESPONDENTE AO CARACTERE D.

OBS.: FUNES GETCH ( ) E GETCHE ( ), AMBIENTE DOS OU WINDOWS. - AMBAS RETORNAM (LEM) O CARACTER PRESSIONADO. - GETCHE ( ): IMPRIME O CARACTERE NA TELA ANTES DE RETORNA-LO. - GETCH ( ): APENAS RETORNA O CARACTERE PRESSIONADO. - SO ENCONTRAADAS NO ARQUIVO CONIO.H. - GERALMENTE ESSAS FUNES NO ESTO DISPONVEIS EM AMBIENTE UNIX (COMPILADORES CC E GCC), POIS NO FAZEM PARTE DO PADRO ANSI. - PODEM SER SUBSTITUIDAS PELA FUNO SACNF( ), PORM SEM AS MESMAS FUNCIONALIDADES.

Elaborado por: Emerson Renato

AULA 05: FUNO GETCH (), E SEU CORRESPONDENTE EM AMBIENTE UNIX. (Em: 14/02/2013)

EXEMPLO 10: #include <stdio.h> #include <iostrean> #include <conio.h> /* Este programa usa canio.h . Se voc no tiver, ele no funcionar no Unix */

int main () { char tecla; tecla=getch (); printf (Voce pressionou a tecla %c\n\n, Tecla); system (pause); }

EXEMPLO 11: EQUIVALENTE ANCI-C PARA UNIX DO PROGRAMA ANTERIOR, SEM USAR GETCH ()

#include <stdio.h> #include <iostream> Int main () { char tecla; scanf (%c, &tecla); printf(Voce pressionou a tecla %c\n\n, Tecla); system(pause); }

Elaborado por: Emerson Renato

ANALISE DOS PROGRAMAS:

- NO PRIMEIRO PROGRAMA O USUARIO SIMPLESMENTE PRESSIONA A TECLA E O SISTEMA L DIRETAMENTE A TECLA PRESSIONADA. - NO SEGUNDO PROGRAMA NECESSARIO PRESSIONAR TAMBM A TECLA <ENTER>. - LEMBRE-SE QUE, SE VOC QUISER MANTER A PORTABILIDADE DE SEUS PROGRAMAS, NO DEVE USAR AS FUNES GETCH() E GETCHE(), POIS ELAS NO FAZEM PARTE DO PADRO ANCI-C.

STRING

- NO C UMA STRING UM VETOR DE CARACTERES TERMINADO COM UM CARACTERE NULO. - O CARACTERE NULO UM CARACTERE COM VALOR INTEIRO IGUAL A ZERO (CODIGO ASCII IGUAL A ZERO). - O TERMINADOR NULO TAMBM PODE SER ESCRITO USANDO A CONVENO DE BARRA INVERTIDA DO C COMO SENDO \o . FORMATO GERAL PARA DECLARAR UMA STRING: CHAR NOME DA STRING [TAMANHO]; - ISTO DECLARA UM VETOR DE ARACTERES (UMA STRING) COM NUMERO DE POSIES IGUAL A TAMANHO. - UMA POSIO TEM QUE SER RESERVADA PARA O TERMINADOR NULO. - SUPONDO QUE SEJA DECLARADA UAM STRING DE 7 POSIES E ARMAZENADA A PALAVRA UFRA, TEMOS:
0 U 1 F 2 R 3 A 4 \0 5 6

ISTRING DE 7 POSIES. A PRIMEIRA LINHA INDICA AS POSIES DOS CARACTERES...

Elaborado por: Emerson Renato

AS DUAS CLULAS (POSIES) NO USADAS TM CONTEDOS INDETERMINADOS. ISTO ACONTECE PORQUE O C NO INICIALIZA VARIVEIS, CABENDO AO PROGRAMADOR ESTA TAREFA. PORTANTO, AS NICAS CLULAS QUE SO INICIALIZADAS SO AS QUE CONTM OS CARACTERES U, F, R,A E \0. FUNO GETS (): L UMA STRING FORNECIDA PELO USURIO E COLOCA O TERMINADOR NULO, QUANDO A TECLA <ENTER> PRESSIONADA.

EXEMPLO 12: USO DA FUNO GETS ().

#include <stdio.h> #include <iostream> Int main () { char string [100]; printf (Digite uma string: ); gets (string); printf (\n\n Voce digitou %s\n\n, string); system (pause); }

ANLISE DO PROGRAMA:

O TAMANHO MXIMO DA STRING QUE PODE SER ARMAZENADA 99 CARACTERES. SE UMA STRING DE COMPRIMENTO MAIOR FOR FORNECIDA, O PROGRAMA IR ACEITAR, MAS OS RESULTADOS PODEM SER DESASTROSOS. COMO AS STRINGS SO VETORES DE CARACTERES PARA ACESSAR UM DETERMINADO CARACTERE DE UMA STRING USAMOS UM NDICE DE POSIES. (REFERENCIA A UMA POSIO) OBS.: NA LINGUAGEM C UM NDICE COMEA EM ZERO.

Elaborado por: Emerson Renato

EXEMPLO 13: ACESSO DE CARACTERES DE UMA STRING. #include <stdio.h> #include <iostream> int main () { char str [10] = Joao; printf (\n\nString: %s , str); printf (\n\nSegunda letra: %c , str[1]); str[1] = U; printf (\n\nAgora a segunda letra e: %c, str[1]); printf (\n\nString resultante: %s\n\n, str); system (pause); } (UM CARACTER) (TODA A STRING)

(INDICE DA POSIO 1)

0 J

1 O

2 A

3 O

Posies

ANLISE DO PROGRAMA: - O TERMINADOR NULO \0 EST NA POSIO 4. - NAS POSIES ZERO A QUATRO TEMOS CARACTERES VLIDOS - NOTE A FORMA COMO INICIALIZAMOS A STRING STR COM OS CARACTERES J, O, A, O E \0 SIMPLESMENTE DECLARANDO CHAR STR[10] = JOAO - VEREMOS POSTERIORMENTE QUE JOAO (UMA CADEIA DE CARACTERES ENTRE ASPAS) O QUE CHAMAMOS DE STRING CONSTANTE, ISTO , UMA CADEIA DE CARACTERES QUE EST PRCARREGADA COM VALORES QUE NO PODEM SER MODIFICADOS. - A STRING STR UMA STRING VARIVEL, POIS PODEMOS MODIFICAR O QUE NELA EST ARMAZENADO.

Elaborado por: Emerson Renato

- %S INDICA QUE PRINTF () DEVE COLOCAR UMA STRING NA TELA.

AULA 06: DEFINIES DE ALLGUMAS FUNES

(Em: 15/02/2013)

FUNO PRINF: (FORMA GERAL) PRINTF (STRING_DE_CONTROLE, LISTA_DE_ARGUMENTOS); STRING DE CONTROLE: DESCRIO DE TUDO QUE A FUNO VAI COLOCAR NA TELA. A STRING_DE_CONTROLE MOSTRA NO APENAS OS CARACTERES QUE DEVEM SER COLOCADOS NA TELA, MAS TAMBM QUAIS AS VARIVEIS E SUAS RESPECTIVAS POSIES. ISTO FEITO USANDO-SE OS CDIGOS DE CONTROLE QUE USAM A NOTAO %. NA STRING_DE_CONTROLE INDICAMOS QUAIS, DE QUAL TIPO E EM QUE POSIO ESTO AS VARIVEIS A SEREM APRESENTADAS. MUITO IMPORTANTE QUE, PARA CADA CDIGO DE CONTROLE, TENHAMOS UM ARGUMENTO NA LISTA_DE_ARGUMENTOS.

ALGUNS CDIGOS % Cdigo %d %f %c %s %% Significado Inteiro Flutuante Caractere String Coloca % na tela

EXEMPLOS DE PRINTF () E O QUE SIGNIFICA: Printf (Teste %% %%) Teste %% Printf (%f, 40.345) 40.345 Printf (Um caractere %c e um inteiro %d, D, 120) Um caractere D e um inteiro 120 Printf (%s e um exemplo, Este) Este e um exemplo Printf (%s %d %%, Juros de , 10) Juros de 10%

Elaborado por: Emerson Renato Obs.: EXISTEM OUTROS CDIGO DE CONTROLE.

FUNO SCANF(): FORMATO GERAL SCANF (STRING_DE_CONTROLE, LISTA_DE_ARGUMENTOS); - USANDO SCANF() PODEMOS PEDIR DADOS DO USURIO - O NMERO DE CDIGOS DE CONTROLE TEM QUE SER O MESMO NMERO DE ARGUMENTOS - TEM QUE SER COLOCADO UM & ANTES DAS VARIVEIS EXERCCIO: ESCREVA UM PROGRAMA QUE LEIA UM CARACTERE DIGITADO PELO USURIO, IMPRIMA O CARACTERE DIGITADO E O CDIGO ASCII CORRESPONDENTE A ESTE CARACTERE.

EXERCICIO EXTRA: ESCREVA UM PROGRAMA QUE LEIA DUAS STRINGS E AS COLOQUE NA TELA. IMPRIMA TAMBM A SEGUNDA LETRA DE CADA STRING.

COMANDOS DE CONTROLE DE FLUXO: Comando IF (se) IF (teste lgico) { comandos; } Obs.: TESTE LGICO: UMA EXPRESSO QUE SER AVALIADA. (S EXISTEM DOIS RESULTADOS, OU VERDADEIRO OU FALSO). - SE O RESULTADO FOR VERDADEIRO RETORNA UM VALOR DIFERENTE DE ZERO E COMANDOS SO EXECUTADOS. - SE O RESULTADO FOR FALSO RETORNA ZERO E COMANDOS NO SO EXECUTADOS. - SE APENAS UM COMANDO FOR USADO NO NECESSRIO USAR { }.

Elaborado por: Emerson Renato

AULA 07: A CLAUSULA ELSE (OPCIONAL) if(TESTE LGICO) { Bloco de comandos 1; } else { Bloco de comando 2; }

(Em: 22/02/2013)

- SE O TESTE LGICO FOR VERDADEIRO: O BLOCO DE COMANDOS 1 EXECULTADO. - SE O TESTE LGICO FOR FALSO: O BLOCO DE COMANDOS 2 EXECUTADO. EXEMPLO 14: (CLAUSULA ELSE) #include <stdio.h> #include <iostream> int main () { int num; printf(Digite um Numero:); scanf(%d, &num); if(num==10) { printf(\n\n voce acertou \n); printf(o numero e igual a 10 \n\n); } else { printf(\n\n voce errou \n);

Elaborado por: Emerson Renato printf(o numero e diferente de 10 \n\n); } system(pause); }

Exerccio extra:
#include <stdio.h> #include <iostream> int main () { char s; printf("voce e do remo?"); scanf("%c, &s);

if(s=='s') { printf("\n\n voce e feliz \n"); } else { printf("\n\n voce e sofrdor \n"); } system("pause"); }

You might also like