Relación entre C y C++ de los tipos de datos y variables.

Description

tema sobre trabajo de algoritmos y progamacion
davidandresospin
Mind Map by davidandresospin, updated more than 1 year ago
davidandresospin
Created by davidandresospin about 9 years ago
63
1

Resource summary

Relación entre C y C++ de los tipos de datos y variables.
  1. Tipos de datos y variables en C.
    1. Un tipo de dato define de forma explícita un conjunto de valores, denominado dominio, sobre el cual se pueden realizar una serie de operaciones. Un valor es un elemento del conjunto que hemos llamado dominio. Una variable es un espacio de la memoria destinada al almacenamiento de un valor de un tipo de dato concreto, referenciada por un nombre. Son conceptos sencillos, pero muy necesarios para saber exactamente qué se hace cuando se crea una variable en un programa.
      1. Como se crea una variable en C: Toda variable debe ser declarada previa a su uso. Declarar una variable es indicar al programa un identificador o nombre para esa variable, y el tipo de dato para la que se crea esa variable. La declaración de variable tiene la siguiente sintaxis: tipo var_1 [=valor1, var_2 = valor_2, …, var_N = valor_N]; Donde tipo es el nombre del tipo de variable que se desea crear, y var_1, es el nombre o identificador de esa variable. Aclaración a la notación: en las reglas sintácticas de un lenguaje de programación, es habitual colocar entre corchetes ([]) aquellas partes de la sintaxis que son optativas. En este caso tenemos que en una declaración de variables se pueden declarar una o más variables del mismo tipo, todas ellas separadas por el operador coma.
        1. Tipos de datos primitivos en C: sus dominios. Los tipos de dato primitivos en C quedan recogidos en la tabla 2.1. Las variables de tipo de dato carácter ocupan 1 byte. Aunque están creadas para almacenar caracteres mediante una codificación como la ASCII (que asigna a cada carácter un valor numérico codificado con esos 8 bits), también pueden usarse como variables numéricas. En ese caso, el rango de valores es el recogido en la tabla 2.1. En el caso de que se traten de variables con signo, entonces el rango va desde 27 hasta  2 1 7 .
          1. A continuación, la tabla de Tipo de datos primitivos.
          2. Como crear una variable tipo carácter o "char": Para crear una variable de tipo carácter en C, utilizaremos la palabra clave char. Si la variable es con signo, entonces su tipo será signed char, y si no debe almacenar signo, entonces será unsigned char. Por defecto, si no se especifica si la variable es con o sin signo, el lenguaje C considera que se ha tomado la variable con signo, de forma que decir char es lo mismo que decir signed char. Lo habitual será utilizar variables tipo char para el manejo de caracteres. Los caracteres simples del alfabeto latino se representan mediante este tipo de dato. El dominio de las variables char es un conjunto finito ordenado de caracteres, para el que se ha definido una correspondencia que asigna, a cada carácter del dominio, un código binario diferente de acuerdo con alguna normalización. El código más extendido es el código ASCII (American Standard Code for Information Interchange).
            1. Como crear una variable tipo entero:Las variables tipo entero, en C, se llaman int. Dependiendo de que esas variables sean de dos bytes o de cuatro bytes las llamaremos de tipo short int (16 bits) ó de tipo long int (32 bits). Y para cada una de ellas, se pueden crear con signo o sin signo: signed short int y signed long int, ó unsigned short int y unsigned long int. De nuevo, si no se especifica nada, C considera que la variable entera creada es con signo, de forma que la palabra signed vuelve a ser opcional.En general, se recomienda el uso de la palabra signed. Utilizar esa palabra al declarar enteros con signo facilita la compresión del código. El tamaño de la variable int depende del concepto, no introducido hasta el momento, de longitud de la palabra. Habitualmente esta longitud se toma múltiplo de 8, que es el número de bits del byte. De hecho la longitud de la palabra viene definido por el máximo número de bits que puede manejar el procesador, cuando hace un calculo.
              1. ¡Que pasa si se declara una variable de tipo int sin determinar si es short o long?... Si se declara una variable en un PC como de tipo int (sin determinar si es short o long), el compilador de C considerará que esa variable es de la longitud de la palabra: de 16 o de 32 bits. Es importante conocer ese dato (que depende del compilador), o a cambio es mejor especificar siempre en el programa si se desea una variable corta o larga, y no dejar esa decisión al tamaño de la palabra.
              2. Operadores relacionales y lógicos. Los operadores relacionales y los operadores lógicos crean expresiones que se evalúan como verdaderas o falsas. En muchos lenguajes existe un tipo de dato primitivo para estos valores booleanos de verdadero o falso. En C ese tipo de dato no existe. El lenguaje C toma como falsa cualquier expresión que se evalúe como 0. Y toma como verdadera cualquier otra evaluación de la expresión. Y cuando en C se evalúa una expresión con operadores relacionales y/o lógicos, la expresión queda evaluada a 0 si el resultado es falso; y a 1 si el resultado es verdadero.
                1. Los operadores relacionales son seis: igual que (―==‖), distintos (―!=‖) , mayor que (‗>‘), mayor o igual que (―>=‖), menor que (‗<‘) y menor o igual que (―<=‖). Todos ellos se pueden aplicar a cualquier tipo de dato primitivo de C. Una expresión con operadores relacionales sería, por ejemplo, a != 0, que será verdadero si a toma cualquier valor diferente al 0, y será falso si a toma el valor 0. Otras expresiones relacionales serían, por ejemplo, a > b + 2; ó x + y == z + t; Con frecuencia interesará evaluar una expresión en la que se obtenga verdadero o falso no solo en función de una relación, sino de varias. Por ejemplo, se podría necesitar saber (obtener verdadero o falso) si el valor de una variable concreta está entre dos límites superior e inferior. Para eso necesitamos concatenar dos relacionales. Y eso se logra mediante los operadores lógicos.
                  1. Un error frecuente (y de graves consecuencias en la ejecución del programa) al programar en C ó C++ es escribir el operador asignación (‗=‘), cuando lo que se pretendía escribir era el operador relacional ―igual que‖ (―==‖). El C ó C++ la expresión variable = valor; será siempre verdadera si valor es distinto de cero. Si colocamos una asignación donde deseábamos poner el operador relacional ―igual que‖, tendremos dos consecuencias graves: se cambiará el valor de la variable colocada a la izquierda del operador asignación (cosa que no queríamos) y, si el valor de la variable de la derecha es distinto de cero, la expresión se evaluará como verdadera al margen de cuáles fueran los valores iniciales de las variables. Los operadores lógicos son: AND, cuyo identificador está formado por el carácter repetido ―&&‖; OR, con el identificador ―||‖; y el operador negación, cuyo identificador es el carácter de admiración final (‗!‘).
                    1. Tabla de resultados de los operadores lógicos.
                2. operadores lógicos. Operador OR EXCLUSIVO, ó XOR a nivel de bit. Su identificador es un carácter ‗^‘. Se aplica sobre variables del mismo tipo, con la misma longitud de bits. Bit a bit compara los dos de cada misma posición y asigna al resultado un 1 en ese bit en esa posición si los dos bits de las dos variables tienen valores distintos: el uno es 1 y el otro 0, o viceversa; si los dos bits son iguales, asigna a esa posición del bit el valor 0.
                3. Tipos de datos y variables en C++.
                  1. Todos los programas necesitan, en algún momento, almacenar números o datos ingresado por el usuario. Estos datos son almacenados en variables, y en C++ como en otros lenguajes estas variables deben tener un tipo.
                    1. Los tipos de variables son.
                      1. Existen varios tipos de variables, y cada uno corresponde a un tamaño máximo de un número, un carácter o incluso una verdad. Cuanto mayor sea el número que pueda admitir, mas espacio en memoria ocupará.
                        1. Bool: Por lo general utiliza 1 byte de memoria, valores: true o false.
                          1. Char: Utiliza generalmente 1 byte de memoria, permite almacenar un carácter, valores; 256 caracteres.
                            1. Unsigned short int: Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535
                              1. Short int: Utiliza generalmente 2 bytes de memoria, valores: de -32768 a 32767.
                                1. Unsigned long int: Utiliza generalmente 4 bytes de memoria, valores: de 0 a 4 294 967 295.
                                  1. Long int: Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.
                                    1. Int (16 bits): Utiliza generalmente 2 bytes de memoria, valores: de -32 768 a 32 767.
                                      1. Int (32 bits): Utiliza generalmente 4 bytes de memoria, valores: de -2 147 483 648 a 2 147 483 647.
                                        1. Unsigned int (16 bits): Utiliza generalmente 2 bytes de memoria, valores: de 0 a 65 535.
                                          1. Unsigned int (32 bits): Utiliza generalmente 2 bytes de memoria, valores: de 0 a 4 294 967 295.
                                            1. Double: Utiliza generalmente 8 bytes de memoria, valores: de 2.2e-308 a 3.4e-38.
                                              1. Float: Utiliza generalmente 4 bytes de memoria, valores: de 1.2e-308 a 3.4e-38. Atención! El tamaño de las variables en memoria puede variara de un PC a otro.
                                          2. Declaración y asignación de variables.
                                            1. Declaración. Para declarar una variable, basta con indicar su tipo y su nombre. Existen ciertas convenciones en cuanto al nombre de las variables. Algunos prefieren separar las partes de un nombre con '_', otros prefieren escribir una mayúscula para separarlas. Ejemplo: int recetaDelMes; ó int receta_del_mes;
                                              1. Asignar un valor. Es posible asignar un valor a una variable al momento de declararla: int recetaDelMes = 12301;... También es posible declarar varias variables en una misma línea, pero en este caso, todas las variables de la línea tendrán el mismo tipo. int recetaDelMes = 12301, recetaDelAño = 45644545;.
                                                1. Errores al definir tipos de variables (Enteros con signo).
                                                  1. ¿Qué pasa si el tipo que hemos elegido es muy pequeño?... Si el número es mayor al máximo admitido por el tipo, entonces el valor de la variable será el valor mínimo admitido por este tipo. unsigned short int numero = 65535; cout << numero << endl; numero++; cout << numero << endl;
                                                    1. Si ejecutamos el anterior código, la segunda línea no escribirá 65536, sino 0. Esto es idéntico para todos los tipos.
                                                    2. Errores al definir tipos de variables (Enteros sin signo)
                                                      1. Para enteros sin signo, sucede lo mismo, una vez que el tipo alcanza su tamaño máximo, pasa a su valor mínimo. short int numero = 32767; cout << numero << endl; numero++; cout << numero << endl;
                                                        1. Si ejecutamos el anterior código, la segunda línea no escribirá 32768, sino -32768.
                                                Show full summary Hide full summary

                                                Similar

                                                Epithelial tissue
                                                Morgan Morgan
                                                Of Mice and Men
                                                becky_e
                                                AS biology Exchange and transport flashcards
                                                jenna.ridley
                                                English Language Revision
                                                saradevine97
                                                2.1.4 Data Representation
                                                Lavington ICT
                                                History
                                                Heidi C
                                                Preguntas del Pensamiento Matemático
                                                Paola Rodríguez
                                                'Love and Relationships' Poem Themes
                                                Lindis Dixon
                                                mi mapa conceptual
                                                Gloria Romero
                                                B1 Conditionals recap
                                                Esther Alabart
                                                EPISTEMOLOGÍA
                                                Dayanna Fonseca