martes, 16 de enero de 2018

Comentarios sobre el lenguaje

1) La definición de una función no puede estar anidada, pero las variables pueden estar declaradas en una modalidad estructurada por bloques.

2) C no proporciona operaciones para tratar directamente con objetos compuestos, tales como cadenas de caracteres, conjuntos, listas o arreglos.

3) No dispone de heap ni de recolector de basura.

4) No proporciona capacidades de entrada/salida, ni métodos propios de acceso a archivos. Estos mecanismos de alto nivel deben ser proporcionados por funciones llamadas explícitamente.

5) Debido a que los tipos de datos y estructuras de control provistas por C son manejadas directamente por la mayoría de las computadoras, la biblioteca de ejecución (run-time) requerida para implantar programas autocontenidos es pequeña.

6) Algunos de los operadores tienen la precedencia equivocada.

7) Si quieres calcular °C = (5/9) * (°F - 32), calcúlalo así: 5*(°F-32)/9, ya que en C la división de enteros trunca el resultado, por lo que si pusieras primero (5/9), eso se convertiría a cero.

8) Existe la coerción, por lo que si operas un flotante con un entero, el entero será convertido en flotante antes de hacerse la operación.

9) En la definición de un ciclo con "for", debes colocar primero la inicialización de la variable a iterar, luego la condición de no parada del ciclo y, por último, el paso, si es que lo hay. Estos tres campos deben ir separados por punto y coma (;). Por ejemplo:

    for (fahr = 0; fahr <= 300; fahr = fahr + 20)

10) EOF es por defecto el nombre que recibe el carácter de fin de archivo.

11) Aunque una variable vaya a ser usada para leer caracteres, podría ser conveniente declararla como entero, porque si lo que debe leer es EOF, eso podría ser más grande que el espacio almacenado para un "char".

12) Una asignación puede colocarse dentro del cuerpo de un ciclo. Por ejemplo:

    while ( (c = getchar) != EOF)

13) Recuerda que en C, la función que no hace nada (skip) es un punto y coma (;).

14) Un carácter escrito entre apóstrofos representa un valor entero igual al valor numérico del carácter en el conjunto de caracteres de la máquina.

15) Puedes hacer asignaciones de la forma "var1 = var2 = var3 = 5", ya que la asignación es una expresión con un valor, y asocia de derecha a izquierda.

No hay comentarios:

Publicar un comentario