Generalidades del lenguaje C
Es hora de decirle adiós a Scratch 😿, a partir de ahora vamos a adentrarnos en el lenguaje C.
C es un lenguaje es un lenguaje de programación de propósito general que nos ofrece una nueva sintaxis, control de flujo y nuevas estructuras de datos que estaremos explorando a lo largo del curso. La sintaxis de C no es tan sencilla como la de Scratch, por lo cual tomará un poco más de tiempo familiarizarse con este nuevo lenguaje.
En C nos vamos a encontrar con conceptos que ya estudiamos en Scratch, como lo son las estructuras de control, variables y ahora algo llamado funciones, que lo podemos ver como el equivalente de un bloque personalizado.
Introducción a C
Cuando estábamos trabajando con Scratch de las primeras cosas que hicimos fue usar el bloque de “decir” el cual nos permitia escribir un mensaje y mostrarlo en pantalla.
¿Cómo podríamos hacer algo similar en C?
En C para poder imprimir un mensaje usamos la función de printf. Esta función permite imprimir un mensaje en la terminal.

Acá tenemos nuestro primer programa en C, al ejecutarlo podrán observar en la terminal la frase “Hola mundo”, ahora usaremos el printf para poder mandarle mensajes al usuario final a traves de la terminal.
Algo muy importante a tener en cuenta es que C es un lenguaje funcional, quiere decir que debe existir por lo menos una función para que el programa pueda ejecutarse correctamente.
En C esa función es la función main, esta función es la función principal. Siempre que crees un programa C debe estar presente la función main y dentro de ella estarán las demás instrucciones.
Características
- Es un lenguaje altamente tipado, eso quiere decir que debemos especificar que tipo de dato va a almacenar una variable. Por ejemplo, si queremos guardar un numero entero, nuestra variable debe ser de tipo entero.
- Es un lenguaje estructurado, eso quiere decir que sigue un flujo de ejecución ordenado para facilitar la compresión y desarrollo de un programa.
- Es un lenguaje funcional, por lo cual vamos a tener al menos una función, la cual ya conocimos como función main.
Variables
Miremos otro concepto importante que ya habíamos visto en Scratch, y es el de las variables. Las variables son muy importantes en programación, ya que nos permiten almacenar información, por ejemplo, el nombre de una persona, su edad, o su salario.
Si recuerdas como se usaban las variables en Scratch solo bastaba con crearlas, darles un nombre y esta podía almacenar la información que quisiéramos. En C funciona de una manera un poco distinta.
Para declarar una variable en C primeramente debemos definir de qué tipo es. Todas las variables poseen un tipo de dato, los tipos de datos permiten definir que puede almacenar esta variable.
Por ejemplo, uno de los tipos de datos que existe son los int, las variables de tipo int permiten almacenar únicamente números enteros. Si en algún momento de nuestro programa quisiéramos que esa variable almacene números con decimales esto no sería posible ya que el tipo de dato int no permite eso.
Por acá te dejamos una tabla con todos los tipos de datos que hay en el lenguaje C 👀.
Tipo | Descripción | Especificador de formato |
int | Permite almacenar números enteros. | %d, %i |
long | Permite almacenar números enteros de gran tamaño. | %ld |
float | Permite almacenar números con decimales. | %f |
double | Permite almacenar números grandes con decimales. | %f |
string | Permite almacenar cadenas de texto. | %s |
char | Permite almacenar un solo carácter. | %c |
Por acá te dejamos una pequeña demostración de cómo se usan las variables.

Recuerda que siempre antes de declarar una variable debes especificar el tipo de dato que esta tendrá. Una vez especificado el tipo este no puede cambiar.
Librerías
Ahora vamos a hablar de un tema un poco mas complejo y sencillo a la vez. Si vemos bien los ejemplo anteriores, vemos unas lineas al inicio que llevan #include, esas lineas indican la inclusion de una libreria o biblioteca en nuestro programa. Una biblioteca o librería es un archivo externo que contiene funcionalidades, las cuales fueron escritas por otras personas, o no, ya que pronto vamos a ver que nosotros podemos crear nuestras propias librerías.
Incluir esto significa que estamos agregando código externo a nuestro código que podemos utilizar. Por ejemplo, ya vimos lo que es printf, para poder utilizar esta función debemos de incluir la librería estandar conocida como stdio, esta nos sirve para controlar las entradas y salidas del usuario, pero ¿Qué quiere decir esto?, bueno, una salida son los mensajes que nosotros mandamos al usuario, y una entrada, son todos los datos que le solicitamos al usuario.
De forma estandar, podemos usar scanf para manejar esto, pero CS50 desarrolló otra librería llamada cs50.h, de la cual hablaremos.
cs50.h
cs50.h es una librería utilizada en CS50x para simplificar la entrada de datos, la cual tiene validaciones para la entrada de datos. Por ejemplo, si queremos solicitar un dato de tipo entero, esta biblioteca contiene una función llamada get_int(), para datos de tipo flotante tenemos get_float(), entre otras. Para mas información podemos visitar el manual de CS50.
Secuencias de escape
Una secuencia de es una forma de representar e introducir algunos caracteres que por si solos son imposibles de representar mediante texto. Todas estas comienzan con una barra invertida “\” seguida de la representación del carácter, por ejemplo, si queremos mostrar un salto de linea tenemos \n, el cual nos permite movernos a la siguiente linea.
También podemos utilizarlas para imprimir carácteres que ya son propios de la sintaxis del lenguaje. Por ejemplo, si queremos imprimir comillas dobles (“), estas ya son usadas por el lenguaje para definir un string, así que podemos usar una secuencia de escape para mostrarlo, a como se muestra a continuación.

Esto es solo una breve introducción al lenguaje, esto y otros conceptos los iremos estudiando a lo largo del curso, ¡Te esperamos en OH!