Uma das mais simples e muitas vezes mais difícil de encontrar erros de programação é um erro de sintaxe. Como código cresce em complexidade e tamanho, pequenos erros de sintaxe podem surgir e causar dores de cabeça. Em uma linguagem de programação concisa e direta , como C + + , a sintaxe desempenha um papel importante na forma como a linguagem funciona. Alguns erros de sintaxe comuns em C + + vêm de símbolos esquecidos ou extraviado (como vírgulas , parênteses e colchetes ) , usando instruções condicionais incorretos em looping estruturas , atribuindo tipos de dados incorretos para as variáveis , e abusar ponteiros e referências . O uso indevido de símbolos básicos
C + + utiliza um conjunto de símbolos para representar certas condições. O ponto e vírgula ( ;) , por exemplo , indica o final de uma linha de código . A linha de código deve terminar com um ponto e vírgula , ou haverá um erro. Além disso, blocos de código que fazem parte do " se " declarações de loops devem residir dentro encaracolados - chaves. Este exemplo mostra como esses erros podem acontecer em código :
while (1)
( //blocos de código deve aparecer no aparelho , não parêntese
int i = 1;
if ( i % 2 == 0) {
print i //sem ponto e vírgula para mostrar o final da instrução
} < br >
i + +; }
declarações condicionais em Loops
Looping estruturas em C + + requerem instruções condicionais que retornam valores verdadeiro ou Falso que determinam se o ciclo vai continuar ou não. no entanto, a condição de loop deve realmente produzir um valor de verdade , seja através de um valor numérico ou através de uma comparação de valores. Além disso, loops de diferentes requerem diferentes informações . o exemplo a seguir exibe dois erros cometidos usando um loop "while" e um " para" loop:
int i = 0;
while (1) //1 é igual a verdade em C + + , este laço será executado até o infinito
{
for ( i; i < = 5; i - ) //este laço nunca parar porque eu nunca será maior do que 5
{
/* fazer coisas * /Tablet
}
}
incompatibilidade entre o tipo de variável e tipo de dados
C + + é uma linguagem fortemente tipada , o que significa que os programadores devem declarar o tipo de uma variável ao declarar a variável. uma variável do tipo "integer " deve conter um número inteiro, e atribuindo-lhe qualquer outro tipo vai criar um erro. neste exemplo, algumas variáveis de vários tipos são atribuídos os tipos de dados que não correspondem :
int i = 2,5 //atribuindo um decimal flutuante para um inteiro
caractere h = "Olá " //atribuindo uma string para um personagem variável
int j = " HI " //atribuindo uma string para uma variável inteira
ponteiros e referências
Ponteiros são tipos de dados que se referem a um endereço na memória , em vez de armazenar dados . Devido a isso , os ponteiros essencialmente " ponto com" um bloco de memória , em vez de segurar diretamente esses dados. By " dereferencing " o ponteiro ( usando o símbolo "*") , o programador pode acessar . os dados em que a memória no entanto, a diferença entre um ponteiro eo valor que ele aponta para pode causar confusão , como no exemplo a seguir :
int i = 3;
int * j = &i; //j agora aponta para o endereço do i
j = i //j agora aponta para o endereço de memória 3 , ele não contém o valor 3
* j = i //Agora, a memória referenciada por j contém o valor 3