Está en la página 1de 34

2020-20

Elementos Básicos del Lenguaje C++


Laboratorio de Introducción a la Programación

Por Raysa Vásquez y Elvin Abreu

Referencia principal: https://www.w3adda.com/


Preliminares

ASCII es la sigla de: American Standard Code for

Information Interchange, en español significa:

Código Estándar Americano para el

Intercambio de Información. Las computadoras

digitales solo pueden entender números, por lo

que un código ASCII es la representación

numérica de un carácter. C++ puede procesar

cualquiera de los 256 caracteres ASCII como

datos o como literales.


Conjunto de Caracteres en C++

En C++, el conjunto de caracteres es un conjunto de todos los caracteres


válidos que se pueden usar en un programa basado en el Lenguaje C++. El
conjunto de caracteres se utiliza para especificar los símbolos reconocidos
por dicho lenguaje. Incluye los caracteres válidos que se pueden usar para
formar palabras, identificadores, números y expresiones en los programas
“fuente”.
Conjunto de Caracteres Válidos en C++

Letras: A-Z, a-z


26 caracteres del abecedario inglés en minúscula:

abcdefghijklmnopqrstuvwxyz

26 caracteres del abecedario inglés en mayúscula:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Dígitos: 0-9

Los 10 dígitos del sistema decimal:

0123456789
Conjunto de Caracteres Válidos en C++

Símbolos especiales:

Space + – ∗ ⁄ ^ \ ( ) [ ] { } = != < > . ′ ″ $ , ; : % ! & _ # <= >= @

! # % ^ &amp; * ( ) - _ = + ~ ' " : ; ? / | \ { } [ ] , . &lt; &gt; $

Secuencias de escape:

Espacio ( ), Tabulación Horizontal (\t), Tabulación vertical (\v), Retorno de Carro (\v),
Nueva Línea (\n), Avance de Formulario (\f), Muestra la barra invertida (\\), Muestra la
comilla doble (\”), Muestra un interrogante (\?)
Palabras Reservadas en C++

En C++, hay un conjunto de palabras reservadas (palabras claves) que no pueden


ser utilizadas como nombres de variables ni nombres de clases o nombres de
métodos ni ningún otro identificador. Las funciones de las palabras reservadas
están predefinidas por el compilador.

Favor explorar el siguiente enlace donde se muestra una lista de palabras


reservadas disponibles en el lenguaje de programación C++:

https://en.cppreference.com/w/cpp/keyword
Tipos de Datos en C++

C++ es un lenguaje estáticamente tipado, lo cual implica que al momento de definir ciertas entidades
del lenguaje (ejemplo: variables y constantes) se les debe asociar un tipo específico de datos (tipado
estático), proporcionando un significado semántico a las secuencias genéricas de bits y definiendo:

▪ La cantidad de espacio en la memoria RAM que se asignará a la entidad.


▪ El rango de posibles valores que pueden ser asignados a la entidad.
▪ Las operaciones que se pueden realizar con la entidad.

* Ver referencia de clasificación de tipos de datos en:


https://en.cppreference.com/w/cpp/language/type

* * Ver referencia de descripción, formato y tamaño de tipos de datos en:


https://en.cppreference.com/w/cpp/language/types
Tipo de Datos Primitivos o Fundamentales en C++

C++ integra los siguientes tipos de datos primitivos (no requieren librería):

▪ Numéricos (signed o unsigned): int, short int, long int, float, double, long double
▪ Booleano: bool
▪ Caracteres (signed o unsigned): char
▪ Vacío: void*

NOTA: Hay otros tipos de datos que requieren librerías, como son: string, vector y list, etc.

* Cuando void se usa como un tipo de retorno de función, significa que la función no devuelve valor. Cuando se usa en la lista de
parámetros de una función, indica que la función no toma parámetros. Cuando se usa en la declaración de un puntero, especifica que el
puntero es "universal“ (https://docs.microsoft.com/en-us/cpp/cpp/void-cpp?view=vs-2019).
Tipo de Datos Definidos por el Programador (caso typedef)

En C++, el programador puede crear un nuevo tipo de datos. Se puede usar


typedef para redefinir el nombre de un tipo de datos existente (typedef <type>
<identifier>); esto es: usando el tipo de datos existente con otro identificador.
Este identificador de tipo de datos definido por el programador se puede usar
luego para declarar variables, como por ejemplo:

typedef int number;


Nota: A partir de esta declaración, se puede usar el identificador de number, en
lugar de "int" para declarar variables del tipo entero.
Tipo de Datos Definidos por el Programador (caso enum)

En C++, enum es un tipo de datos definido por el programador y consiste


en un conjunto finito de constantes o "alias" de enumeración.

Sintaxis: (enum [data_type] {const1, const2, ...., const n};)

Nota: Hay otros tipos de datos definidos por el programador, como por
ejemplo: struct y class.
Casting en C++

Dado que C++ es un lenguaje fuertemente tipado, requiere que se haga


un "casting" para hacer una conversión de una expresión de un tipo dado
en otro tipo de dato. Una vez realizado el casting, el compilador asocia la
variable al nuevo tipo de datos.
Tipos de casting:
▪ Implícito o automático
▪ Explícito o especificado
Casting Implícito

En el casting implícito, el compilador cambiará automáticamente un tipo de datos a otro,


insertando el código necesario para hacer la conversión de manera automática.

Ejemplo:
short x=200;
int y;
y=x;

En el ejemplo anterior, el valor de x ha sido "promovido" de short a int, sin necesidad de


especificar ningún operador de conversión de tipos de datos. Las conversiones implícitas afectan
los tipos de datos básicos o primitivos.
Casting Explícito
Este tipo de casting debe hacerse de forma explícita, lo cual implica que debe escribirse el tipo datos deseado, así como
los modificadores necesarios. En C++ hay dos formas de realizar la conversión de tipos genéricos.
Caso 1: tipo (expresión) // conversión funcional
Ejemplo:
double x = 5.2;
int y;
y = int (x); // Notación funcional

Caso 2: (tipo) expresión // c-like casting (Similar a C)


Ejemplo:
double x = 5.2;
int y;
y = (int) x; // c-like cast notation

NOTA: Además de la conversión de tipos tradicional, hay otros operadores de conversión de tipos disponibles en C++
que pueden usarse, específicamente, cuando se trabaja con clases y objetos, los cuales serán tratados en cursos
posteriores.
Ejemplo de Casting en C++

Reflexión: ¿Podemos sumar un char con un integer?

Al ejecutar el programa del ejemplo anterior:


• ¿Se producirá un error?
• ¿Cuál será el resultado?
Tipos de Operadores en C++
Un operador es un símbolo especial que se utiliza para llevar a cabo una operación específica con el o los
operando(s). C++ integra un amplio conjunto de operadores que permiten realizar diferentes tipos de
operaciones. Entre estos operadores resaltamos:
▪ Asignación
▪ Aritméticos
▪ Incremento y decremento
▪ Relacionales
▪ Lógicos
▪ Condicionales
▪ Bit a bit
▪ Especiales

Los operadores se pueden usar con muchos tipos de variables o constantes, aunque algunos operadores están
restringidos para trabajar en tipos de datos específicos. La mayoría de los operadores son binarios, lo que significa que
afectan dos operandos, en tanto que algunos que son unarios y solo afectan un operando.
Operadores de Asignación en C++
Los operadores de asignación se utilizan para asignar un valor (dato) a una variable o constante:
OPERADOR DESCRIPCIÓN EXPRESIÓN

= Operador de asignación a=b

+= Agregar y asignar a + = b es equivalente a: a=a+b

-= Restar y asignar a- = b es equivalente a: a = a-b

*= Multiplicar y asignar a * = b es equivalente a: a=a*b

/= Dividir y asignar a / = b es equivalente a: a=a/b

%= Mod y asignar a% = b es equivalente a: a = a% b

<< = Desplazamiento a la izquierda y asignar a<< = 2 es equivalente a: a = a << 2

>> = Desplazamiento a la derecha y asignar a >> = 2 es equivalente a: a = a >> 2

&= Bitwise AND asignar a & = 2 es equivalente a: a=a&2

^= Bitwise exclusivo OR y asignar a ^ = 2 es equivalente a: a=a^2

|= OR a nivel de bits inclusive y asignar a | = 2 es equivalente a: a=a|2


Operadores Aritméticos en C++

Los operadores aritméticos se utilizan para realizar operaciones aritméticas, como por son: suma, resta,
multiplicación, división, % módulo, exponente, etc. Por ejemplo, si se tiene una variable a con valor de 10 y
otra variable b = 5:

NOMBRE DEL OPERADOR DESCRIPCIÓN EJEMPLO

+ Suma La suma de los operandos dados a + b devuelve 15

- Resta La resta del segundo operando del primero a-b devuelve 5

* Multiplicación Multiplicación de los operandos dados a * b devuelve 50

/ División Devuelve el cociente de la división a / b devuelva 2

% Módulo Devuelve el resto después de la división a% b devuelve 0


Operadores de Aumento y Disminución en C++ (post y pre)
En C ++, los símbolos ++ y - - se conocen como operadores de incremento y decremento, respectivamente.
Estos son operadores unarios, lo que significa que funcionan en un solo operando. ++ agrega 1 al
operando, mientras que - - resta 1 al operando. Cuando ++ se usa como prefijo de, por ejemplo: ++ i, ++ i
incrementará el valor de i y luego lo devolverá pero, si ++ se usa como postfix (como: i ++), el operador
devolverá el valor del operando primero y luego de eso lo incrementará.

OPERADOR EJEMPLO DESCRIPCIÓN

++ [prefijo] ++ a El valor de la variable a después del incremento

++ [postfix] a ++ El valor de la variable a antes del incremento

- - [prefijo] -- a El valor de la variable a después del decremento

- - [postfix] a -- El valor de la variable a antes del decremento


Operadores de Comparación (relacionales) en C++

En C ++, los operadores de comparación se utilizan para evaluar una comparación entre dos operandos. El
resultado de una operación de comparación es un valor booleano que solo puede ser verdadero o falso. Los
operadores de comparación también se denominan operadores relacionales.

Por ejemplo, si la variable a es igual a 10 y la variable b es igual a 5, entonces:

OPERADOR DESCRIPCIÓN EJEMPLO

> Mayor que a> b devuelve VERDADERO

< Menor de a <b devuelve FALSO

>= Mayor o igual que a> = b devuelve VERDADERO

<= Menor o igual que a <= b devuelve FALSO

== Es igual a a == b devuelve FALSO

!= No es igual a a! = b devuelve VERDADERO


Operadores de Lógicos en C++

En C ++, los operadores lógicos se usan para combinar expresiones con enunciados condicionales usando
operadores lógicos (AND, OR, NOT), lo que resulta en verdadero o falso.

Por ejemplo, si la variable a es igual a 10 (binario 1010) y la variable b es igual a 5 (binario 0101), entonces:

OPERADOR NOMBRE DEL OPERADOR DESCRIPCIÓN RESULTADO EJEMPLO ANTERIOR

&& Lógico AND Devuelve verdadero si todas las expresiones son verdaderas (a && b) devuelve falso

|| Lógico OR Devuelve verdadero si alguna expresión es verdadera (a || b) devuelve verdadero

! Lógico NOT Devuelve el complemento de expresión !a devuelve falso


Operador Condicional en C++ ( ? : )

En C ++, el operador condicional se considera una abreviatura para la


instrucción if-else. El operador condicional también se llama "Operador ternario".

Sintaxis: condición ? resultado1 : resultado2

Si la condición es verdadera, la expresión devolverá resultado1, si no lo es,


devolverá resultado2.
Operadores Bit a Bit en C++

En C++, El operador bit a bit se utiliza para realizar operaciones a nivel de bit
sobre su operando. Por ejemplo:
• Sea A = 50 (En binario: 0011 0010)
• Sea B = 14 (En binario: 0000 1110)

OPERADOR SIGNIFICADO EJEMPLO DESCRIPCIÓN

& Binario AND (A & B) Devuelve 2, que es 0000 0010

| Binario OR (A | B) Devuelve 62, que es 0011 1110

^ Binario XOR (A ^ B) Devuelve 60, que es 0011 1100

~ Un complemento (~ A) Devuelve -50 que es 1100 1101

<< Desplazamiento a la izquierda A << 2 Devuelve 200, que es 1100 1000

>> Desplazamiento a la derecha A >> 2 Devuelve 12, que es 0000 1100


Operador sizeof () en C++

En C++, El operador sizeof () devuelve el tamaño del tipo de datos de su


operando en bytes. Por ejemplo, si tenemos el siguiente extracto de código en
C++:

a = sizeof (char);

// se asignará el valor 1 a la variable a porque char es un tipo de datos largo de un byte.


Operador de Coma (,) en C++

En C++, el operador de coma (,) nos permite separar dos o más expresiones que
se incluyen donde solo se espera una expresión. Cuando el conjunto de
expresiones tiene que evaluarse para un valor, solo se considera la expresión más
a la derecha. Por ejemplo, en el siguiente código:

i = (j=3, j+2);

• Primero se asigna el valor 3 a j


• Segundo, se asigna j + 2 a la variable i.
• Al final, la variable i contendría el valor 5, mientras que la variable j contendría el valor 3.
Operador de Dirección (&) y Operador de Puntero (*) en C++

En C++, el operador de dirección (&) devuelve la dirección de una variable. Por


ejemplo:

&x; // Devuelve la dirección real de la variable x

En C++, el operador de puntero (*) se usa para declarar un puntero, “apuntando”


a una variable; por ejemplo, en la siguiente declaración el asterisco se usa para
designar una variable como un puntero:

*x; // Apuntará a la variable x.


Precedencia y Asociatividad de Operadores en C++

En C++, la precedencia del operador define el orden en que se evalúa la

expresión matemática dada. Cuando una expresión incluye múltiples operadores,

cada una de las partes de una expresión dada se evalúa en un cierto orden,

siguiendo algunas reglas definidas, según la precedencia del operador. El

operador con mayor prioridad se evalúa primero y el operador con menor

prioridad se evalúa por último.


Precedencia y Asociatividad de Operadores en C++

En C++, los operadores con la misma precedencia siguen la asociatividad del

operador definida para su grupo de operadores. En C++, los operadores pueden

ser asociativos a la izquierda, asociativos a la derecha o no tener asociatividad.

Los operadores con asociatividad izquierda se evalúan de izquierda a derecha, los

operadores con asociatividad derecha se evalúan de derecha a izquierda y los

operadores sin asociatividad, no siguen ningún orden predefinido.


Precedencia y Asociatividad Operadores en C++ (de mayor a menor)
CATEGORÍA OPERADOR ASOCIATIVIDAD DE OPERADOR

Sufijo () [] ->. ++ - - De izquierda a derecha

Unario + -! ~ ++ - - (tipo)* & sizeof De derecha a izquierda

Multiplicativo * /% De izquierda a derecha

Aditivo +- De izquierda a derecha

Desplazamiento << >> De izquierda a derecha

Relacional < <= > > = De izquierda a derecha

Igualdad == ! = De izquierda a derecha

Bit a bit AND & De izquierda a derecha

Bit a bit XOR ^ De izquierda a derecha

Bit a bit OR | De izquierda a derecha

lógico AND && De izquierda a derecha

lógico OR || De izquierda a derecha

Condicional ?: De derecha a izquierda

Asignación = + = - = * = / =% = >> = << = & = ^ = | = De derecha a izquierda

Coma , De izquierda a derecha


Identificadores en C++

Un identificador es un nombre dado a elementos del programa, tales como:

variables, arreglos, clases, funciones, etc. En C++, un identificador es una

secuencia de letras, dígitos y guiones bajos (subrayado), cuyo primer carácter NO

puede ser un dígito.


Reglas para nombrar Identificadores en C++

En C++, deben tenerse en cuenta las siguientes reglas al nombrar un identificador:

• El primer carácter debe ser alfabético (mayúsculas o minúsculas) o puede ser un guion
bajo (subrayado).
• Un identificador no puede comenzar con un dígito.
• Todos los caracteres siguientes deben ser alfabéticos o dígitos.
• No se permiten caracteres especiales como por ejemplo: !, @, #, $,% o signos de
puntuación, excepto el guion bajo (subrayado) "_".
• No se permiten dos guiones bajos sucesivos.
• Las palabras reservadas NO se pueden usar como identificadores.

Nota: C++ es un lenguaje de programación que distingue entre mayúsculas y minúsculas (case-
sensitive), lo que significa que "ABC", "Abc" y "abc" son diferentes.
Comentarios en C++

En C++, los comentarios son un conjunto de declaraciones que el compilador de

C++ no ejecuta. El uso de comentarios facilita a los programadores comprender

el código fuente. Por lo general, los comentarios le brindan información interna o

explicativa sobre las variables, métodos, clases o cualquier declaración que exista

en el código fuente. Las declaraciones de comentarios se ignoran durante la

ejecución del programa.


Comentarios de Una Línea y Varias Líneas en C++
Comentarios de una sola línea: Se utiliza un "//" (doble barra inclinada).
Comentarios de varias líneas: Se utiliza / * * /, el compilador ignora todo lo que se encuentre
entre / * * /.
Ejemplo:
Referencias
About ILE C/C++ Language Reference. Recuperado desde
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzarg/about_this_reference.htm

Brief History of ASCII code. Recuperado desde https://theasciicode.com.ar/

Curso De C++. Aprende C++ de una buena vez. Recuperado desde


https://www.programarya.com/Cursos/C++/Entornos/Proyectos

Learn C++. Recuperado desde https://www.w3adda.com/cplusplus-tutorial

Referencia de Compiladores en Línea:

• https://www.onlinegdb.com/online_c++_compiler
• https://www.tutorialspoint.com/compile_cpp_online.php
2020-20

Elementos Básicos del Lenguaje C++


Laboratorio de Introducción a la Programación

Por Raysa Vásquez y Elvin Abreu

Referencia principal: https://www.w3adda.com/

También podría gustarte