Skip to content

Sintaxis del lenguaje C

Guillermo-SP edited this page Nov 22, 2012 · 5 revisions

La sintaxis de un lenguaje de programación es el conjunto de reglas que debemos seguir para que el compilador sea capaz de reconocer nuestro programa como un programa C válido.

Tipos, operadores y expresiones

Identificadores: Formados por letras, números y '_'. Los primeros 31 caracteres son significativos (dependiente del compilador). Las mayúsculas y las minúsculas se distinguen (case sensitive). Las palabras reservadas van en minúsculas

Tipos de datos:

Simples:

 Caracter:
      char -> 1 byte
 Entero:
      int Normalmente refleja el tamaño de los enteros en la máquina host
      short [int] -> 16 bits
      long [int] -> 32 bits
 Real: 
      float Los tamaños son dependientes de la implementación.
      double -> Precisión doble
      long double -> Precisión extendida

Complejos: enumeraciones, arreglos, estructuras y uniones.

Declaraciones: Todas las variables deben declararse antes de usarse. Una declaración especifica un tipo seguido de una lista no vacía de variables de ese tipo (separadas por comas).

Ejemplo:

float f1, f2;
int i = 1; /* Inicializada al definirla */

Enumeraciones:

enum <nombre> {<enumeradores>}

Ejemplos:

enum boolean {false, true} false vale 0, (por defecto) y true vale 1
enum semana {Lun=1, Mar, Mie, Jue, Vie, Sab, Dom}
enum constantes {nl = '\n', cr = '\r'}

Arreglos:

<tipo> <nombre>[<#elem>].

Ejemplo:

char nombre[30];

arreglo de 30 caracteres- posiciones del 0 al 29.

Estructuras:

struct <nombre> {declaración de los elementos}

Ejemplo:

struct círculo{
int radio;
int x,y; /* Coordenadas del centro */ } circ;

Acceso a los campos a través del operador de proyección '.' circ.radio, circ.x, circ.y

Declaración de nuevos tipos:

typedef <declaración del que será sinónimo> <nuevo nombre>

Ejemplo:

typedef struct s_emp{
char nombre[30];
float sueldo;
int dpto; } empleado;

Constantes:

#define <nombre> <valor>

El #define es una directiva para el compilador que indica que se reemplazará <nombre> por <valor> en el texto.

Ejemplos:

#define MAX_ELEMS 50

Operadores:

Asignación:

=

Casting: operador que obliga a la conversión a un tipo dado:

f = (float) i; /* i no se ve alterado */

Conversiones de tipo:

f = i; /* no hace falta el cast */
i = f; /* se trunca f */

Aritméticos:

+, -, *, /, %, ++, - -, +=, -=.

Hablar de la diferencia entre el pre y el post-decremento i++ vs. ++i

Relacionales:

 >, >=, <, <=, ==, !=.

Lógicos:

&&, ||, &, |, !.

Ejemplos:

a && b -> a y b
a || b -> a ó b
!p -> no p

Bibliografía

Resumen de Sintaxis en C: http://ldc.usb.ve/~vtheok/cursos/ci2125/material/ResumenLenguajeC.pdf