Uno de los más sencillos y, a menudo más difíciles de encontrar errores en la programación es un error de sintaxis . Como código crece en complejidad y tamaño, pequeños errores en la sintaxis pueden surgir y causar dolores de cabeza. En un lenguaje de programación concisa y directa , tales como C + + , la sintaxis juega un papel importante en el funcionamiento de la lengua . Algunos errores de sintaxis comunes en C + + provenir de símbolos olvidados o fuera de lugar (por ejemplo, puntos y comas , paréntesis y corchetes ), utilizando instrucciones condicionales incorrectos en estructuras de bucle , la asignación de tipos de datos incorrectos a las variables , y mal uso de punteros y referencias. El mal uso de los símbolos básicos
C + + utiliza un conjunto de símbolos para representar ciertas condiciones. El punto y coma ( ;) , por ejemplo, indica el final de una línea de código . Una línea de código debe terminar con un punto y coma, o habrá un error. Por otra parte, los bloques de código que forman parte de "si" declaraciones de bucles deben residir dentro rizado - llaves. Este ejemplo muestra cómo estos errores podrían surgir en el código:
while ( 1 )
( //bloques de código debe aparecer entre corchetes , no paréntesis
int i = 1 ;
if ( i % 2 == 0 ) {
print i //no coma para mostrar final del comunicado
} < br >
i + + ; }
sentencias condicionales en Loops
Looping estructuras en C + + requieren instrucciones condicionales que devuelven valores true o false que determinan si o no el bucle continuará o no . sin embargo , la condición de bucle debe en realidad producir un valor de verdad , ya sea a través de un valor numérico o a través de una comparación de los valores . Además , diferentes bucles requieren información diferente . el ejemplo siguiente muestra dos errores cometidos utilizando un bucle "while" y "para" loop:
int i = 0 ;
while ( 1 ) //1 es igual a cierto en C + +, este bucle se ejecutará al
infinito
{
para ( i; i < = 5 ; i -) //este bucle nunca se detendrá , porque nunca voy a ser mayor que 5
{
< p > /* hacer cosas * /foto
}
}
discrepancia entre el tipo de datos y el tipo de variable
C + + es un lenguaje fuertemente tipado , lo que significa que los programadores deben declarar el tipo de una variable cuando se declara la variable. una variable de tipo "entero " debe contener un número entero , y asignándole cualquier otro tipo generará un error . en este ejemplo, algunas variables de diversos tipos se asignan los tipos de datos que no coinciden :
int i = 2,5 //asignar un decimal flotante a un entero
carbón h = " Hello" //asignar una cadena a un personaje variables
int j = " HI " //asignar una cadena a un entero
variables
Punteros y Referencias
punteros son los tipos de datos que se refieren a una dirección en la memoria en lugar de celebración de los datos Debido a esto . , punteros " seleccione " esencialmente un bloque de memoria , en vez de sostener directamente esos datos. Por " eliminación de referencias " del puntero (utilizando el símbolo "*" ) , el programador puede acceder . los datos en la memoria Sin embargo , la diferencia entre un indicador y el valor que apunta a pueden causar confusión, como en el siguiente ejemplo :
int i = 3 ;
int * j = + i //j ahora apunta a la dirección de I Love
j = i; //j ahora apunta a la dirección de memoria 3 , que no contiene el valor 3
* j = i //Ahora, la referencia a la memoria de j contiene el valor 3