1. Criao, Compilao e Execuo de um projeto em C++ 5. Declarao de Variveis 9. Atribuies de varivies
No DEV C++ (no Windows) char nomeDaVarivel; Caracteres (8bits) varivel = valor Atribuio i) Arquivo->Novo->Projeto->Console Application short nomeDaVarivel; Inteiro (16 bits) varivel++ Incremento ps-fixado ii) Executar->Compilar int nomeDaVarivel; Inteiro (word, 16, 32, ...) ++varivel Incremento pr-fixado iii) Executar->Executar long nomeDaVarivel; Inteiro (32 bits) varivel-- Decremento ps-fixado iv) F9 (Compilar e executar) float nomeDaVarivel; Ponto-Flutuante (32 bits) --varivel Decremento pr-fixado double nomeDaVarivel; Ponto-Flutuante (64 bits) varivel += valor Adiciona e atribui Compilador GCC (no Linux) i) Criar um arquivo usando kwrite long double nomeDaVarivel; Ponto-Flutuante (96 bits) varivel -= valor Subtrai e atribui ii) Para compilar o arquivo no konsole: tipo nomeDaVarivel, nomeDaVarive2, ...; Mltiplas Variveis varivel *= valor Multiplica e atribui g++ c nomeDoArquivo.cpp varivel /= valor Divide e atribui iii) Para construir o projeto no konsole: 6. Constantes Literais varivel %= valor Modula e atribui g++ o nomeExecutavel nomeDoArquivo.o nmero Tipo int varivel &= valor AND e atribui iv) Para executar no konsole: nmerol Tipo long varivel |= valor OR e atribui ./nomeExecutavel nmero.nmero Tipo double varivel ^= valor XOR e atribui nmerof Tipo float varivel <<= valor Deslocamento de bits esquerda e atribui 2. Comentrios nmerod Tipo double varivel >>= valor Deslocamento de bits direita e atribui /* este um comentrio de mltiplas linhas */ 0xhex Inteiro hexadecimal // este um comentrio de nica linha 0Xhex Inteiro hexadecimal 10. Operadores 3. Estrutura do programa principal e funes 0octal Octal arg + arg Adio +nmero Nmero Positivo arg arg Subtrao //Diretivas do pr-processador -nmero Nmero Negativo arg * arg Multiplicao #include<nomeDoArquivo> //Inclui arquivo de biblioteca #includenomeDoArquivo //Inclui arquivo do usurio nmeroenmero Notao Cientfica arg / arg Diviso nmeroEnmero Notao Cientfica arg % arg Mdulo #define NOME texto //Substitui texto caractere Caractere nico arg < arg Menor que caracteres String (Conjunto de caracteres) arg > arg Maior que //Prottipos das funes String vazia arg <= arg Menor ou igual a tipoDeRetorno nomeDaFuncao(tipoDeParam1 nomeVar1, \0 Caractere nulo arg >= arg Maior ou igual a tipoDeParam2 nomeVar2, ...); \a Alerta (Beep) arg == arg Igual \b Backspace arg != arg Diferente //Declarao de variveis globais \t Tabulao arg && arg AND Lgico tipoDaVarivel nomeDaVarivel; \n Nova Linha arg || arg OR Lgico \r Retorno do carro ! arg NOT Lgico //Funo Principal int main( int argc, char *argv[ ] ){ \N Constante octal (onde N a constante) (tipo)algumaCoisa Casting \xN Constante hexadecimal (onde N a constante) cond ? OpcV : OpcF Operador ternrio (if) // Declarao das variveis locais \ Aspas duplas varEstrutura.membro Acesso a membro de estrutura // Instrues \ Aspa nica \\ Barra invertida 11. Estruturas de Controle (Repeties e condicionais) return 0; 7. Arrays (Vetores e Matrizes) if ( condio ){ } instrues; Condicional Simples /* Declarando, alocando e acessando } //Definies das funes conforme prottipo vetores e matrizes estticas */ tipoDeRetorno nomeDaFuncao(tipoDeParam1 nomeVar1, if ( condio ){ tipoDeParam2 nomeVar2, ...) tipo nomeDoVetorEst[ n ]; instruesVerdade; Condicional Dupla { nomeDoVetorEst [ i ] } else{ // Declarao das variveis locais tipo nomeDaMatrizEst[ n ][ m ]; instruesFalsa; // Instrues nomeDaMatrizEst [ i ][ j ] }
//Retorno (quando houver) 8.Estruturas switch ( condioInteiraOuCaractere ) {
return valor; // Definio da estrutura } struct NomeDaEstrutura{ case valorInteiroOuCaractere : 4. Erros Comuns de Compilao e de Execuo instrues; Esquecer o ponto-e-vrgula nas sentenas tipoDoMembro1 nomeDoMembro1; break; Referencia a nomes de variveis diferentes das declaraes feitas tipoDoMembro2 nomeDoMembro2; Ponto-e-vrgula na definio de uma funo case valorInteiroOuCaractere : Confuso na atribuio com o operador de teste de igualdade tipoDoMembroN nomeDoMembroN; instrues; Operaes matemticas com tipos de dados diferentes break; Condicional Mltipla Laos infinitos }; ... Erro de ndice em matrizes /* Declarao de variveis estruturas e ponteiros para default : Estruturas */ instruesOpcionaisPadro; struct NomeDaEstrutura nomeDaVarivel; } // Acessando membros da estrutura nomeDaVarivel.nomeDoMembro Prof. MSc Edgar Modesto Amazonas Filho 2009 1 edgar@prof.iesam-pa.edu.br GUIA DE SINTAXE PARA PROGRAMAO C++ for ( inicializador ; condioDeContinuidade ; passo ){ 13 Entrada e Sada padro (Teclado/Monitor) 15. Funes para manipulao de constantes e variveis literais instrues; Lao de repetio (for) } Entrada de nico dado: Exemplo Resultado while ( condioDeParada ) { cin >> nomeDaVarivel; string str, str1, str2; Declarao de variveis literais. instrues; Lao de repetio (pr-condio) str = str1 + str2; Concatena str1 e str2 e atribui a str. } Entrada de mltiplos dados: Comparao de literais: cin >> nomeDaVarivel >> nomeDaVarivel2 >> nomeDaVariveN; str1 == str2 Igualdade do{ str1 != str2 Diferena instrues; Lao de repetio (ps-condio) Sada de nica mensagem: str1 > str2 Maior que } while ( condioDeParada ); cout << Minha mensagem ; str1 >= str2 Maior ou igual a str1 < str2 Menor que 12. Funes Sada de mensagens e dados: str1 <= str2 Menor ou igual a Definio das Funes cout << Minha mensagem << nomeDaVarivel1; str.length() Devolve o comprimento da literal
//Recebendo valor Obs:
tipoDeRetorno nomeDaFuno(tipoDeParmetro nomeDoParmetro) A sada cout << pode estar acompanhada de << endl para gerar uma nova linha no { monitor. Tal como um ENTER A sada cout << pode conter uma combinao de vrias mensagens e variveis sendo instrues; exibidas no monitor. Referncias: } As mensagens sempre devem estar entre aspas duplas. SILVERMAN, J.H. C Reference Card (ANSI), 1999. Disponvel em: //Recebendo vetores e matrizes 14 Funes matemticas www.cs.dal.ca/studentservices/refcards tipoDeRetorno nomeDaFuno(tipoDoVetor nomeDoParmetro[ ]) { SCHILDT, H. C Completo e Total. 3 Ed, Makron Books, 1997. //Recebendo atravs de vetor dimensionado ou no Nome Resultado ORTEGA, E.; WADA, D. K. Erros mais freqentes na Programao em C. Disponvel instrues; acos( arg ) A funo acos() devolve o arco co-seno de arg. O em: http://www.unicamp.br/fea/ortega/info/curso/erros.htm } argumento de acos() deve estar na faixa de -1 a 1; caso contrrio, ocorrer um erro de domnio . Things should be made as simple as possible, but not any simpler tipoDeRetorno nomeDaFuno(tipoDaMatriz nomeDoParm[ ][ m ]) asin( arg ) A funo asin() devolve o arco seno de arg. O argumento Albert Einstein { de asin() deve estar na faixa de -1 a 1; caso contrrio, //Recebendo atravs de matriz dimensionada, em que m o ocorrer um erro de domnio . //nmero de colunas atan( arg ) A funo atan() devolve o arco tangente de arg. O instrues; argumento de atan() deve estar na faixa de -1 a 1; caso } contrrio, ocorrer um erro de domnio . ceil( num ) A funo ceil() devolve o menor inteiro que no seja Obs.: Um tipoDeRetorno pode ser um tipo primitivo, uma estrutura, ou void. Caso haja menor que num. Por exemplo, dado 1.02 ceil() devolver retorno a funo dever usar o comando return. As funes podem possuir vrios 2.0. Dado -1.02, ceil() devolver -1.0. parmetros, mas apenas um tipoDeRetorno. cos( arg ) A funo cos() devolve o co-seno de arg. O valor de arg deve estar em radianos. Chamadas s funes cosh( arg ) A funo cosh() devolve o co-seno hiperblico de arg. //Chamada por valor (com retorno) exp( arg ) A funo exp() devolve o logaritmo natural e elevado nomeDaVarivel = nomeDaFuno( nomeDoArgumento ); potncia arg. fabs( num ) A funo fabs() devolve o valor absoluto de num. //Chamada por valor (sem retorno) floor( num ) A funo floor() devolve o maior inteiro que no seja nomeDaFuno(nomeDoArgumento ); maior que num. Por exemplo, dado 1.02 ceil() devolver 1.0. Dado -1.02, ceil() devolver -2.0. //Chamada por referncia (sem retorno) fmod( x, y ) A funo fmod() devolve o resto de x/y. nomeDaFuno( nomeDoArgumento ); log( num ) A funo log() devolve o logaritmo natural de num. pow( base, exp ) A funo pow() devolve base elevada potncia exp. //Chamada por referncia com vetor ou matriz (com retorno) sin( arg ) A funo sin() devolve o seno de arg. O valor de arg deve nomeDaVarivel = nomeDaFuno( nomeDoVetorOuMatriz ); estar em radianos sinh( arg ) A funo sinh() devolve o seno hiperblico de arg. //Chamada por referncia com vetor ou matriz (sem retorno) sqrt( num ) A funo sqrt() devolve a raiz quadrada de num nomeDaFuno( nomeDoVetorOuMatriz ); tan( arg ) A funo tan() devolve a tangente de arg tanh( arg ) A funo tanh() devolve a tangente hiperblica de arg //Chamada sem argumentos(com retorno) nomeDaVarivel = nomeDaFuno( void ); Obs: //Chamada sem argumentos(sem retorno) Para usar as funes matemticas deve-se adicionar #include<cmath> nomeDaFuno( void ); As funes podem estar situadas em uma expresso matemtica ou podem devolver o resultado para uma varivel. Por exemplo, a = cos( arg ) Os argumentos das funes podem ser constantes, variveis numricas e/ou Obs.: nomeDoArgumento pode ser quaisquer variveis de tipos primitivos, estruturas. expresses aritmticas