Variables, constantes y tipos de datos en CRonny Parra
Inroducción a las varibales, constantes y tipos de datos en C. Contiene las definiciones de cada una de éstas, además de los tipos de datos soportados por C con su rango, la lista de los operadodres lógicos, aritméticos y relacionales, y las secuencias de escape de uso mas común con printf y scanf
El documento describe los conceptos básicos del lenguaje de programación C, incluyendo tipos de datos, variables, constantes, operadores, estructuras de control, funciones, arrays, cadenas, memoria dinámica y estructuras. Explica la forma de declarar y utilizar estos elementos para escribir programas en C.
Este documento proporciona una introducción al lenguaje de programación C++. Explica que C++ extiende C con capacidades de orientación a objetos. Luego resume los principales temas cubiertos, incluidos clases, herencia, sobrecarga de operadores, plantillas, excepciones y la biblioteca estándar. Finalmente, detalla conceptos básicos de C como tipos de datos, control de flujo, estructuras de datos estáticas y punteros.
El documento describe los diferentes tipos de datos en el lenguaje de programación C, incluyendo números enteros y reales, caracteres, cadenas de caracteres, punteros y void. Explica cómo declarar y manipular cada tipo de dato, así como los operadores y funciones asociadas a cada uno.
El documento describe los arreglos en C++. Los arreglos son grupos de ubicaciones de memoria del mismo tipo que pueden ser accedidos mediante subíndices. Se declaran arreglos unidimensionales y multidimensionales, y se explica cómo inicializar, manipular y pasar arreglos como parámetros en funciones. También incluye ejemplos de funciones que suman matrices, calculan promedios y elevan valores al cuadrado para ilustrar el uso de arreglos.
Este documento explica conceptos básicos de programación en C como variables, constantes y tipos de datos. Las variables son nombres que identifican posiciones de memoria donde se almacenan datos durante la ejecución de un programa. Las constantes son valores que no pueden cambiarse una vez compilado el programa. Existen diferentes tipos de datos como enteros, flotantes y caracteres para representar información.
El documento describe los tipos de datos primitivos y envoltorios en Java, incluyendo enteros, flotantes, caracteres y Booleanos. También cubre declaración de variables, conversiones, arrays unidimensionales y multidimensionales, operadores, sentencias condicionales y bucles.
Aqui esta lo basico de lenguaje de programacion C.
Los ejemplos presentados son talleres que se han desarrollado en todo en segundo semestre de de la carrera profecional Ingenieria en Programacion y Sistemas. En ITP.
Los ejemplos fueron realizados en borland.
Variables, constantes y tipos de datos en CRonny Parra
Inroducción a las varibales, constantes y tipos de datos en C. Contiene las definiciones de cada una de éstas, además de los tipos de datos soportados por C con su rango, la lista de los operadodres lógicos, aritméticos y relacionales, y las secuencias de escape de uso mas común con printf y scanf
El documento describe los conceptos básicos del lenguaje de programación C, incluyendo tipos de datos, variables, constantes, operadores, estructuras de control, funciones, arrays, cadenas, memoria dinámica y estructuras. Explica la forma de declarar y utilizar estos elementos para escribir programas en C.
Este documento proporciona una introducción al lenguaje de programación C++. Explica que C++ extiende C con capacidades de orientación a objetos. Luego resume los principales temas cubiertos, incluidos clases, herencia, sobrecarga de operadores, plantillas, excepciones y la biblioteca estándar. Finalmente, detalla conceptos básicos de C como tipos de datos, control de flujo, estructuras de datos estáticas y punteros.
El documento describe los diferentes tipos de datos en el lenguaje de programación C, incluyendo números enteros y reales, caracteres, cadenas de caracteres, punteros y void. Explica cómo declarar y manipular cada tipo de dato, así como los operadores y funciones asociadas a cada uno.
El documento describe los arreglos en C++. Los arreglos son grupos de ubicaciones de memoria del mismo tipo que pueden ser accedidos mediante subíndices. Se declaran arreglos unidimensionales y multidimensionales, y se explica cómo inicializar, manipular y pasar arreglos como parámetros en funciones. También incluye ejemplos de funciones que suman matrices, calculan promedios y elevan valores al cuadrado para ilustrar el uso de arreglos.
Este documento explica conceptos básicos de programación en C como variables, constantes y tipos de datos. Las variables son nombres que identifican posiciones de memoria donde se almacenan datos durante la ejecución de un programa. Las constantes son valores que no pueden cambiarse una vez compilado el programa. Existen diferentes tipos de datos como enteros, flotantes y caracteres para representar información.
El documento describe los tipos de datos primitivos y envoltorios en Java, incluyendo enteros, flotantes, caracteres y Booleanos. También cubre declaración de variables, conversiones, arrays unidimensionales y multidimensionales, operadores, sentencias condicionales y bucles.
Aqui esta lo basico de lenguaje de programacion C.
Los ejemplos presentados son talleres que se han desarrollado en todo en segundo semestre de de la carrera profecional Ingenieria en Programacion y Sistemas. En ITP.
Los ejemplos fueron realizados en borland.
Es una introduccion al lenguaje de programacion C. Los ejemplos son talleres realizados en todo el segundo semestre.
Los ejemplos del contenio fueron realizados en Borland.
Este documento trata sobre punteros en programación. Explica que un puntero es una variable que contiene una dirección de memoria y puede apuntar a otras variables u objetos. Describe el uso de punteros para manipular vectores y cadenas de caracteres, y cómo se pueden pasar vectores como argumentos a funciones utilizando punteros. También cubre temas como punteros a punteros, vectores de punteros y punteros a funciones.
El documento presenta diferentes temas relacionados con punteros en C, incluyendo cómo declarar y asignar punteros, aritmética de punteros, punteros a arrays, punteros a funciones y punteros a estructuras. También propone ejercicios para practicar el uso de punteros, como leer líneas de texto y contar vocales, o evaluar funciones utilizando un array de punteros a funciones.
El documento describe diferentes temas relacionados con punteros en C, incluyendo cómo declarar y utilizar punteros, punteros a arrays, punteros a funciones y punteros a estructuras. También incluye ejemplos de código y ejercicios propuestos para practicar el uso de punteros.
El documento describe la estructura básica de un programa en C++, incluyendo las funciones, variables, tipos de datos, constantes y operadores. Explica los componentes clave de un programa como las bibliotecas, funciones, tipos de datos primitivos y cómo se usan las funciones de entrada y salida para leer y escribir datos.
El documento describe la historia y características del lenguaje de programación C. El C fue creado por Dennis Ritchie en los Laboratorios Bell en 1972 para ser un lenguaje de programación útil. El C es un lenguaje de alto nivel pero con características de bajo nivel que permiten trabajar directamente con bits y memoria. El C es un lenguaje poderoso y flexible que se usa ampliamente para desarrollar sistemas operativos y compiladores.
El documento describe la historia y características del lenguaje de programación C. El C fue creado por Dennis Ritchie en los Laboratorios Bell en 1972 para ser un lenguaje de programación útil. El C es un lenguaje de alto nivel pero con características de bajo nivel que le permiten interactuar directamente con la memoria y hardware. El C es un lenguaje poderoso y flexible que se usa ampliamente para desarrollar sistemas operativos y otros programas.
ProgramacióN En Java Variables Y CiclosAndres Garcia
El documento presenta conceptos básicos de programación como variables, tipos de datos, operadores matemáticos y lógicos, estructuras de control como condicionales y ciclos. Explica qué son variables y constantes, cómo nombrarlas, y los diferentes tipos de datos primitivos. Luego describe operaciones matemáticas, comparaciones lógicas, y el uso de if/else y bucles como for, while y do-while.
Este documento resume los conceptos de apuntadores en C, incluyendo la declaración y uso de apuntadores, operaciones con apuntadores como incrementar, restar y comparar, apuntadores a estructuras y arreglos, y el uso de memoria dinámica mediante la función malloc. También cubre la creación de estructuras de datos dinámicas enlazadas usando apuntadores.
Diapositivas curso programación orientada a objetos en JavaJose Perez
Este documento presenta una introducción a la programación orientada a objetos. Cubre temas como clases, objetos, relaciones entre clases e identificadores. Incluye diapositivas sobre tipos de datos primitivos, asignación, conversiones y convenciones de nomenclatura en Java. El documento fue creado por José Ángel Pérez Rejón para un curso de programación orientada a objetos.
Este documento describe los tipos de datos y operadores en C. Incluye una descripción de los tipos de datos primitivos como enteros, flotantes y caracteres, así como operadores aritméticos, lógicos y de bits. También cubre estructuras de control de flujo como if/else y switch, así como funciones para entrada/salida, matemáticas y caracteres.
El documento explica los apuntadores en C, los cuales son variables que almacenan direcciones de memoria y permiten acceder indirectamente a los valores almacenados en esas direcciones. Los apuntadores son importantes en C porque a veces son la única forma de expresar ciertos cálculos, permiten generar código más compacto y eficiente, y son una herramienta poderosa pero que requiere cuidado al usar. El documento describe la declaración, inicialización y operadores de los apuntadores, así como su uso con arreglos y funciones.
Este documento describe los elementos del lenguaje C++, incluyendo los caracteres permitidos, tipos de datos fundamentales como enteros y reales, tipos derivados como punteros y estructuras, palabras clave, comentarios, declaración y inicialización de variables, y expresiones numéricas y lógicas.
El documento describe diferentes tipos de datos y estructuras de datos en C, incluyendo tipos de datos básicos como enteros, reales y caracteres, así como tipos de datos compuestos como arreglos y estructuras. También explica conceptos como declaración de variables, direcciones de memoria, punteros, paso de parámetros y reserva de memoria dinámica.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
Un puntero es una variable cuya valor es la dirección de memoria de otra variable. Los punteros permiten acceder y modificar el valor de la variable apuntada. Existen tantos tipos de punteros como tipos de datos, y se declaran anteponiendo un asterisco al tipo de la variable apuntada. Los punteros se inicializan asignando la dirección de una variable mediante el operador &, y se accede a su valor con el operador *.
Este documento explica los conceptos básicos de operadores, expresiones, variables, entrada y salida en C, incluyendo operadores aritméticos, de asignación, incremento, relacionales y lógicos. También cubre la inicialización y declaración de variables, la construcción de expresiones, y el uso de las funciones printf() y scanf() para la entrada y salida formativa de datos.
Es una introduccion al lenguaje de programacion C. Los ejemplos son talleres realizados en todo el segundo semestre.
Los ejemplos del contenio fueron realizados en Borland.
Este documento trata sobre punteros en programación. Explica que un puntero es una variable que contiene una dirección de memoria y puede apuntar a otras variables u objetos. Describe el uso de punteros para manipular vectores y cadenas de caracteres, y cómo se pueden pasar vectores como argumentos a funciones utilizando punteros. También cubre temas como punteros a punteros, vectores de punteros y punteros a funciones.
El documento presenta diferentes temas relacionados con punteros en C, incluyendo cómo declarar y asignar punteros, aritmética de punteros, punteros a arrays, punteros a funciones y punteros a estructuras. También propone ejercicios para practicar el uso de punteros, como leer líneas de texto y contar vocales, o evaluar funciones utilizando un array de punteros a funciones.
El documento describe diferentes temas relacionados con punteros en C, incluyendo cómo declarar y utilizar punteros, punteros a arrays, punteros a funciones y punteros a estructuras. También incluye ejemplos de código y ejercicios propuestos para practicar el uso de punteros.
El documento describe la estructura básica de un programa en C++, incluyendo las funciones, variables, tipos de datos, constantes y operadores. Explica los componentes clave de un programa como las bibliotecas, funciones, tipos de datos primitivos y cómo se usan las funciones de entrada y salida para leer y escribir datos.
El documento describe la historia y características del lenguaje de programación C. El C fue creado por Dennis Ritchie en los Laboratorios Bell en 1972 para ser un lenguaje de programación útil. El C es un lenguaje de alto nivel pero con características de bajo nivel que permiten trabajar directamente con bits y memoria. El C es un lenguaje poderoso y flexible que se usa ampliamente para desarrollar sistemas operativos y compiladores.
El documento describe la historia y características del lenguaje de programación C. El C fue creado por Dennis Ritchie en los Laboratorios Bell en 1972 para ser un lenguaje de programación útil. El C es un lenguaje de alto nivel pero con características de bajo nivel que le permiten interactuar directamente con la memoria y hardware. El C es un lenguaje poderoso y flexible que se usa ampliamente para desarrollar sistemas operativos y otros programas.
ProgramacióN En Java Variables Y CiclosAndres Garcia
El documento presenta conceptos básicos de programación como variables, tipos de datos, operadores matemáticos y lógicos, estructuras de control como condicionales y ciclos. Explica qué son variables y constantes, cómo nombrarlas, y los diferentes tipos de datos primitivos. Luego describe operaciones matemáticas, comparaciones lógicas, y el uso de if/else y bucles como for, while y do-while.
Este documento resume los conceptos de apuntadores en C, incluyendo la declaración y uso de apuntadores, operaciones con apuntadores como incrementar, restar y comparar, apuntadores a estructuras y arreglos, y el uso de memoria dinámica mediante la función malloc. También cubre la creación de estructuras de datos dinámicas enlazadas usando apuntadores.
Diapositivas curso programación orientada a objetos en JavaJose Perez
Este documento presenta una introducción a la programación orientada a objetos. Cubre temas como clases, objetos, relaciones entre clases e identificadores. Incluye diapositivas sobre tipos de datos primitivos, asignación, conversiones y convenciones de nomenclatura en Java. El documento fue creado por José Ángel Pérez Rejón para un curso de programación orientada a objetos.
Este documento describe los tipos de datos y operadores en C. Incluye una descripción de los tipos de datos primitivos como enteros, flotantes y caracteres, así como operadores aritméticos, lógicos y de bits. También cubre estructuras de control de flujo como if/else y switch, así como funciones para entrada/salida, matemáticas y caracteres.
El documento explica los apuntadores en C, los cuales son variables que almacenan direcciones de memoria y permiten acceder indirectamente a los valores almacenados en esas direcciones. Los apuntadores son importantes en C porque a veces son la única forma de expresar ciertos cálculos, permiten generar código más compacto y eficiente, y son una herramienta poderosa pero que requiere cuidado al usar. El documento describe la declaración, inicialización y operadores de los apuntadores, así como su uso con arreglos y funciones.
Este documento describe los elementos del lenguaje C++, incluyendo los caracteres permitidos, tipos de datos fundamentales como enteros y reales, tipos derivados como punteros y estructuras, palabras clave, comentarios, declaración y inicialización de variables, y expresiones numéricas y lógicas.
El documento describe diferentes tipos de datos y estructuras de datos en C, incluyendo tipos de datos básicos como enteros, reales y caracteres, así como tipos de datos compuestos como arreglos y estructuras. También explica conceptos como declaración de variables, direcciones de memoria, punteros, paso de parámetros y reserva de memoria dinámica.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
El documento presenta una introducción al lenguaje de programación C. Explica que C fue creado por Dennis Ritchie en los años 70 y que en 1983 se estableció el estándar ANSI C. Describe que C combina características de lenguajes de alto y bajo nivel y permite el manejo directo de memoria. Además, detalla elementos clave de un programa en C como comentarios, identificadores, constantes, variables, operadores y estructuras de control.
Un puntero es una variable cuya valor es la dirección de memoria de otra variable. Los punteros permiten acceder y modificar el valor de la variable apuntada. Existen tantos tipos de punteros como tipos de datos, y se declaran anteponiendo un asterisco al tipo de la variable apuntada. Los punteros se inicializan asignando la dirección de una variable mediante el operador &, y se accede a su valor con el operador *.
Este documento explica los conceptos básicos de operadores, expresiones, variables, entrada y salida en C, incluyendo operadores aritméticos, de asignación, incremento, relacionales y lógicos. También cubre la inicialización y declaración de variables, la construcción de expresiones, y el uso de las funciones printf() y scanf() para la entrada y salida formativa de datos.
Similar to Curso - C. 02. C tipos y expresiones.pptx (20)
Un pasamuros es un dispositivo o componente utilizado para crear un paso sellado a través de una pared, piso o techo, permitiendo el paso de cables, tuberías u otros conductos sin comprometer la integridad estructural ni la resistencia al fuego del elemento atravesado. Estos dispositivos son comúnmente utilizados en la construcción para garantizar la seguridad, la estanqueidad y la integridad estructural en aplicaciones donde se requiere la penetración de elementos a través de barreras físicas.
La selección del tipo de pasamuros dependerá de la aplicación específica y de los requisitos de seguridad y sellado.
Aquí hay algunos tipos comunes de pasamuros:
Pasamuros de Pared (Wall Grommet): Se utilizan para permitir el paso de cables, tuberías o conductos a través de paredes. Estos pasamuros generalmente constan de una abertura sellada que evita la entrada de polvo, agua u otros contaminantes.
Pasamuros de Suelo (Floor Grommet): Diseñados para facilitar la penetración de cables, conductos o tuberías a través de suelos. Estos pasamuros también pueden proporcionar características de sellado y resistencia al fuego según la aplicación.
Pasamuros de Techo (Ceiling Grommet): Similar a los pasamuros de pared, pero diseñados para instalación en techos. Permiten el paso seguro de cables, conductos o tuberías a través de techos sin comprometer la integridad del mismo.
Pasamuros Eléctrico (Electrical Bushing): Utilizados específicamente para el paso de cables eléctricos a través de paredes o barreras. Ayudan a proteger los cables y a mantener la integridad del sistema eléctrico.
Pasamuros Cortafuego (Firestop Grommet): Diseñados para proporcionar resistencia al fuego al sellar pasajes a través de barreras cortafuego. Ayudan a prevenir la propagación del fuego y el humo.
Pasamuros para Tubos (Pipe Sleeve): Permiten el paso seguro de tuberías a través de paredes o suelos. A menudo se utilizan en aplicaciones donde se necesita sellado adicional para evitar fugas de líquidos.
Presentación Aislante térmico.pdf Transferencia de calorGerardoBracho3
Las aletas de transferencia de calor, también conocidas como superficies extendidas, son prolongaciones metálicas que se adhieren a una superficie sólida para aumentar su área superficial y, en consecuencia, mejorar la tasa de transferencia de calor entre la superficie y el fluido circundante.
DISEÑO DE TUBERIAS EN PLANTAS INDUSTRIALES Establecer los requisitos técnicos y documentales que se deben cumplir en la ingeniería y Especificaciones de
Materiales de Tuberías, de las plantas industriales e instalaciones costa fuera de Petróleos Mexicanos y
Organismos Subsidiarios. Esta NRF establece los requerimientos mínimos aplicables a la ingeniería de diseño y Especificaciones de
Materiales de la Tubería utilizada en los procesos que se llevan a cabo en las instalaciones industriales
terrestres y costa fuera de los centros de trabajo de Petróleos Mexicanos y Organismos Subsidiarios.
Establece las especificaciones técnicas para materiales de Tubería, conexiones y accesorios que se utilizan en
los procesos donde se incluye aceite crudo y gas como materia prima, productos intermedios y productos
terminados del procesamiento del petróleo y el gas, así como fluidos criogénicos, sólidos fluidizados
(catalizadores), desfogues y los servicios auxiliares como vapor, aire, agua y gas combustible, entre otros.
Esta NRF es de aplicación general y observancia obligatoria en la adquisición, arrendamiento o contratación de
los servicios objeto de la misma que lleven a cabo los centros de trabajo de Petróleos Mexicanos y Organismos
Subsidiarios, por lo que debe ser incluida en los procedimientos de licitación pública, invitación a cuando menos
tres personas (invitación restringida en la Ley de Petróleos Mexicanos), y adjudicación directa; según
corresponda a contrataciones para adquisiciones, servicios, obras publicas o servicios relacionadas con las
mismas; como parte de los requisitos que deben cumplir el proveedor, contratista o licitante.
Klohn Crippen Berger es una consultoría
especializada que presta servicios al
sector minero en estudios geotécnicos,
geoquímicos, hidrotécnicos y de
asesoramiento ambiental, reconocida por
su trayectoria, calidad y ética profesional.
1. Lenguaje C
Tipos, operadores y expresiones
Material basado en el libro The C Programming Language. Brian W. Kernighan, Dennis M.
Ritchie. Prentice-Hall 1988. ISBN 0-13-110362-8 (paperback); ISBN 0-13-110370-9
1
2. Nombres de variables
● Letras mayúsculas y minúsculas
● Guión bajo
○ Cuenta como letra
● Números
○ No como primera letra
x1
windSpeed
reactive_power
No se debe comenzar por guión bajo.
Convenio habitual: variables con
minúsculas, constantes con mayúsculas.
2
3. Tipos de datos
Tipos básicos
char
int
float
double
Calificadores
short
long
long long
signed
unsigned
short int sh;
long int contador;
int se suele omitir:
short sh;
long contador;
3
4. Los límites están en:
<limits.h>
<float.h>
sizeof(short) ≤ sizeof(int) ≤ sizeof(long) ≤ sizeof(long long)
1 ≤ sizeof(char)
2 ≤ sizeof(short) ≤ sizeof(int)
4 ≤ sizeof(long)
8 ≤ sizeof(long long)
sizeof(float) ≤ sizeof(double) ≤ sizeof(long double)
Tipos de datos
Tamaños
#include <limits.h>
…
short s; int i;
…
if (i < SHRT_MAX) s = i;
4
5. Límites de enteros
<limits.h>
Mínimo Máximo
char
signed char
unsigned char
CHAR_MIN
SCHAR_MIN
UCHAR_MIN
CHAR_MAX
SCHAR_MAX
UCHAR_MAX
(signed) short
unsigned short
SHRT_MIN
USHRT_MIN
SHRT_MAX
USHRT_MAX
(signed) int
unsigned
INT_MIN
UINT_MIN
INT_MAX
UINT_MAX
long
unsigned long
LONG_MIN
ULONG_MIN
LONG_MAX
ULONG_MAX
long long
unsigned long
long
LLONG_MIN
ULLONG_MIN
LLONG_MAX
ULLONG_MAX
5
7. Constantes
Ejemplos
char
signed char
unsigned char
'@', 'x2f', '013', 't'
(signed) short
unsigned short
1234
1234U, 1234u
(signed) int
unsigned
long
unsigned long
1234L, 1234l
1234UL, 1234ul
long long
unsigned long long
1234LL, 1234ll
1234ULL, 1234ull
7
9. Caracteres especiales
a Campana Barra invertida
b Retroceso ? Signo de interrogación
f Form feed ' Comilla simple
n Nueva línea " Comilla doble
r Retorno de carro ooo Código octal
t Tabulador horizontal xhh Código hexadecimal
v Tabulador vertical 0 Terminador de cadenas
9
10. Cadenas de texto
"Soy una cadena"
"" // cadena vacía
"Soy una cadena" " muy larga"
● Son vectores de caracteres
char str[5] = "Hola";
Siempre hay un caracter
terminador ‘0’ al final
¡OJO! ‘x’ no es lo mismo que “x”
10
11. Constantes simbólicas
#define NOMBRE expresión_constante
#define MAXLEN 10
enum Color {
Rojo = 1,
Verde = 2,
Azul = 4,
};
enum Mes {
Ene, Feb, Mar, Abr,…
};
char str[MAXLEN];
int c = Rojo + Verde;
int mes = Feb;
O bien indicando el valor de
alguno:
enum Mes {
Ene = 1, Feb,
Mar,…
};
11
12. Declaraciones
int lower, upper, step;
char c, line[1000];
char esc = '';
int i = 0;
const double e = 2.7182818284;
const char msg[] = "warning";
int strlen(const char s[]) {
…
}
● Declarar antes de usar
● Es posible inicializar con
valor
● Es posible calificar como
const
○ Variable no va cambiarse
○ Argumento no se modifica
12
13. Operadores
Aritméticos + - * / %
++ --
De relación > >= < <= ==
!=
Lógicos ! && ||
De bits ~ | & ^ >>
<<
De asignación = += -= *= /=
%=
~= |= &= ^= ~=
>>= <<=
De arrays y punteros & * -> []
Especiales ?: , (tipo) sizeof
13
14. Operadores aritméticos
Binarios: + - * / %
x % y Resto de dividir x entre y (solo
enteros)
x / y División entera o real según tipos de x
e y
Unarios: + - ++ --
Precedencia: unarios, * / %, + -
Asociatividad: binarios de izquierda a derecha
unarios de derecha a
izquierda 14
15. Op. de relación y lógicos
Binarios: < <= > >=
&& ||
Unarios: !
Precedencia: !, aritméticos, relación, &&, ||
Asociatividad: binarios de izquierda a derecha
unarios de derecha a
izquierda
15
16. Conversiones de tipo
Cuando un operador tiene operandos de distintos tipos se
convierten a un tipo común
● De forma automática hacia tipos más amplios sin pérdida de información
● Se prohíben expresiones sin sentido (e.g. float como índice de vector)
● Expresiones que pueden perder información generan advertencias pero
no son ilegales
int atoi(char s[]) { // convierte s a entero
int i, n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
n = 10 * n + (s[i] - '0');
return n;
}
Conversión char → int
16
17. Reglas de conversión implícita
Si un operador binario tiene dos operandos de distinto tipo
● Si un operando es long double, convierte el otro a long double
● En caso contrario, si uno es double, convierte el otro double
● En caso contrario, si uno es float, convierte el otro float
● En caso contrario, convierte char y short a int
● Después, si uno es long long convierte el otro a long long
● Después, si uno es long convierte el otro a long
int i; int i;
char c; char c;
i = c; c = i;
c = i; i = c;
No hay conversión automática
float → double
Enteros grandes a enteros pequeños
se convierten truncando bits más
significativos
Puede perder
información
17
18. Reglas de conversión implícita
Llamadas a función
En ausencia de prototipo
● char y short de convierten a int
● float se convierte a double
El ABI puede imponer
más conversiones
Si hay prototipo aplica
reglas de conversión
implícita
double f(double x);
int main() {
printf("%lf", f(2));
}
double f(double x) {
return x*x
+ 2*x
- 5;
}
Prototipo imprescindible para
que funcione correctamente
biblioteca
independiente
18
19. Conversión de tipos explícita
Operador de coerción (type cast)
(tipo) expresión
● Convierte expresión al tipo indicado
● Como si se hubiera asignado a una variable del tipo indicado
19
20. Operadores ++ y --
Versión prefijo y postfijo
● Prefijo incrementa antes de que el valor se use
● Postfijo incrementa después de que el valor se use
n = 5; n = 5;
x = n++; x = ++n;
Ejemplo: Concatenar cadenas
void strcat(char s[], char t[]) {
int i = 0, j = 0;
while (s[i] != '0') i++;
while ((s[i++] = t[j++]) != '0') ;
}
x == 6, n == 6
x == 5, n == 6
Busca final de s
Copia t
20
21. Ejercicios
1. Implementar la función
int htoi(char str[])
que convierte una cadena que contiene un número
hexadecimal en el entero correspondiente
2. Implementar la función
void squeze(char str[], int c)
que elimina todas las ocurrencias del caracter c en la
cadena str.
21
22. Operadores de bits
& AND bit a bit
| OR bit a bit
^ XOR bit a bit
<< Desplazamiento a la izquierda
>> Desplazamiento a la derecha
~ NOT bit a bit (complemento a 1)
0 0 1 0 0 1 0 1
0
0
1
1
0
0
1
1
char a = 0x25; b = 0x33;
a&b == 0x21
a|b == 0x37
a^b == 0x16
~a == 0xda
&
&
&
&
&
&
&
&
0 0 1 0 0 0 0 1
22
23. Operadores de bits
Obtener los n bits a partir de la posición p del entero x
unsigned getbits(unsigned x, int p, int n) {
return (x >> (p+1-n)) & ~(~0 << n);
}
n
p
x
23