Algoritmos y Estructuras de Datos Herramientas Lenguaje de programación
!Prog C/C++ Rust
Linux Matemáticas
Mates Discretas
Programación Orientada a Objetos Sistemas Operativos

Sintaxis básica

[date: 07-07-2023 21:17] [last modification: 14-07-2023 14:54]
[words: 654] [reading time: 4min] [size: 24885 bytes]

En este post se trata la sintáxis básica de C/C++: comentarios, sentencias y bloques.

Comentarios

Importante
El contenido de los comentarios se elimina durante la compilación, por lo que no se tiene en cuenta para la sintaxis.

Los comentarios, como ya se comentó en la introducción, sirven para documentar los programas:

Son básicamente notas para los programadores. Más sobre los comentarios en learncpp.com.

En los lenguajes con una sintaxis similar a C, hay dos tipos de comentarios: de una línea y de bloque.

Los comentarios de una línea empiezan por // el resto de la línea se considerará comentario.

1// Esto es un comentario de una línea
2int x = 0; // Puedo poderlo detrás de sintáxis válida
3// pero no delante int x = 0;

Nótese el resaltado de sintaxis (colorines), para diferenciar lo que es comentario (gris oscuro) y lo que no.

Por otro lado, los comentarios de bloque empiezan por /* y terminan por */. Se ignorará todo lo que haya de por medio.

 1/*
 2    Esto es un comentario
 3    bastante largo
 4    porque tiene
 5    varias lineas
 6*/
 7
 8int x = /* así mejor no, es difícil de leer */ 0;
 9
10/*
11    Y esto es código desactivado:
12    int x = 0;
13*/

Comentarios TODO

Estos comentarios se utilizan a modo de marcador, de tareas que están por hacer (TO DO, por hacer).

1// TODO: Acabar de programar x cosa

De esta forma, se puede hacer una búsqueda rápida en los archivos del proyecto por // TODO: para terminar las tareas sin terminar.

Algunos editores lo resaltan con otro color e incluso pueden listar todos los pendientes, como una lista de tareas.

Sentencias

Una sentencia es una instrucción del lenguaje de programación. Esta distinción es importante, porque el lenguajes similares a C, todas las sentencias deben acabar por ;.

1sentencia1;
2sentencia2;
3sentencia3;

Al principio puede parecer un poco tonto, pero de esta forma, el compilador sabe donde termina la instrucción y donde empieza la siguiente; dado que lo siguiente es sintáxis válida:

1sentencia1; sentencia2; sentencia3;

Bloques

Un bloque es una agrupación de sentencias. Serán necesarios para algunas estructuras más adelante.

Para hacer un bloque, simplemente, coloca las sentencias entre llaves: { ... }.

1{
2    sentencia1;
3    sentencia2;
4    sentencia3;
5}

Nótense los espacios antes de las sentencias. No son necesarios para que el código funcione, pero sí lo hace mucho más sencillo de leer para el programador. Esto se llama identación / identar.

Lo siquiente es un poco difícil de entender (y de ver si falta alguna llave):

1{
2sentencia1; {
3sentencia2;
4{
5sentencia3;
6}
7sentencia4;
8}
9}

Pero identado y ordenado es mucho más sencillo:

 1{
 2    sentencia1;
 3    {
 4        sentencia2;
 5        {
 6            sentencia3;
 7        }
 8        sentencia4;
 9    }
10}

Ahora, existen muchas formas de hacerlo:

Ya es preferencia personal, pero sobre todo intenta ser consistente con el resto del código ya existente. Y si estás empezando, el ejemplo anterior (4 espacios) es lo más común.

Mínimo programa C/C++

Recuerda
El archivo de código fuente de C tiene como extensión .c y el de C++ es .cpp.

El mínimo programa C/C++ es el siguiente:

1int main() {}

No hace nada, pero permite compilar y comprobar que todo funciona.

Sin embargo, es más popular lo siguiente:

1#include <stdio.h>
2
3int main() {
4    printf("Hello World\n");
5    return 0;
6}

Y el equivalente en C++:

1#include <iostream>
2
3int main() {
4    std::cout << "Hello World" << std::endl;
5    return 0;
6}

Al ejecutarlo, debería mostrar el mensaje Hello World por la consola. En otros posts continuaremos a entender la totalidad de esta sintaxis.

Anterior: Instalación y compilación Volver a C/C++ Siguiente: Preprocesador