🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
Tipos de errores en c
1. TIPOS DE ERRORES EN C++
NOMBRE: Salvador SánchezMuñoz 2 J PROGRAMACION
ERRORES DE SINTAXIS
Un error de sintaxisse produce al escribir,incorrectamente,alguna parte del código fuente de un
programa. De forma que,dicho error impedirá,tanto al compiladorcomo al intérprete,traducirdicha
instrucción,ya que,ningunode los dosentenderáqué le está diciendoel programador.
include <stdio.h>
imt main()
{
int a, b;
a = 4;
b = a * 6;
printf( "%d", b )
retunr 0;
}
Existen cuatro errores de sintaxis:
Se ha escrito include en vez de #include.
Se ha escrito imt en vez de int.
Falta un punto y coma (;) después de la llamada a printf.
Se ha escrito retunr en vez de return.
ERRORES DE EJECUCION
Un error de ejecuciónse produce cuando el ordenador no puede ejecutaralguna instrucciónde forma
correcta.
En el programa:
#include<stdio.h>
int main()
{
int a;
floatb;
a = 0;
b = 6.4 / a;
printf( "%f", b );
return 0;
}
Se produce un error de ejecución,ya que, al intentar evaluar la expresión:
6.4 / a
a vale 0, y no se puede dividir entrecero.
2. ERRORES DE LOGICA
Son erroresque aparecen mientrasse ejecutasu programa. Estos erroresaparecen normalmente
cuando su programa intenta una operaciónque esimposible que se lleve a cabo.
#include <stdio.h>
int main()
{
float base, altura;
base = 6.3;
altura = 4.;
printf( "El area es: %f", base * altura / 3 );
return 0;
}
Su salida por pantalla es:
El area es: 8.4
No existen errores de sintaxis ni de ejecución, sin embargo, la salida esperada es:
El area es: 12.6
Por consiguiente, existe algún error lógico que hay que corregir. El error está en la expresión:
base * altura / 3
que, aunque no es incorrecta, no sirve para calcular el área de un triángulo. En su lugar se debe
escribir:
base * altura / 2
3. ERRORES MAS COMUNES EN C++
Este texto lista varios errores habituales al programar en C y muy comunes
estadísticamente. Algunos de ellos pueden causar resultados impredecibles con
pérdidas de datos o enmascaramiento de problemas.
Utilizaciónde unavariable automáticasininicializar.
Omitirundelimitadorfinal de uncomentario.
Utilizaruníndice de array mayor que lalongituddel array(En C,los índicessonde 0 a longitud-1).
Omitirunpuntoy coma, o un final de llave.
Utilizarunpunterosininicializar.
Utilizarunabarra enlugar de una contrabarra indicada(porejemplo,sustituir"/n"por"n.").
Utilizarun"=" enuna comparaciónenlugar de "==".
Sobreescribiruomitirel terminadornulode unacadena.
Terminarprematuramente unadeclaraciónfunciónconunpuntoy coma (El compiladoradvertirá
con erroressintácticosdentrodel bloquede funciónhuérfano).
Especificarlosvaloresde variablesenunscanf() enlugarde susdirecciones.
Fallaral declararel tipode retornode unafunción.
Realizarunaevaluacióncuandose utilizaunexpresiónconefectoslaterales(Porejemplo,a[i]=
i++; es ambiguoypeligroso).
Una equivocaciónrespectoaque unavariable estáticade unafunciónsólose inicialice unavez.
Omitirun"break"enuna sentenciacase (Laejecucióncontinúaenloscasessucesivos).
Utilizar"break"para salirde un bloque de códigoasociadoconuna sentenciaif (el breaksirvepara
salirde bloquesde códigoconun for,switcho while).
Comparar unavariable "char"con un EOF (-1).Esto puede acabaren unbucle infinito:
char c;
while ((c=getchar()) != EOF)
{
}