1. GUÍA PARA EL LENGUAJE DE PROGRAMACIÓN C
Unidad (1) – Introducción
1.1 Tipos de Datos.
1.1.1 Tipos de Enteros. {Signed o unsigned + long + tipo_de_dato}
Dato Rango
short (-32.768 a 32.767)
int (-2.147.483.648 a 2.147.483.647)
long (-2.147.483.648 a 2.147.483.647)
long long (-9.223.372.036.854.775.808 a 9.223.372.036.854.775.808)
1.1.2 Tipos Reales
Dato Rango
float Presicion de 6 decimales
double Presicion de 8 decimales
Long double Presicion de 10 decimales
1.1.3 Tipos de Caracter
Dato Rango
char 1 Byte o un caracter
char a[] Cadena de Caracteres de 255
char a[n] Cadena de Caracteres con limites
1.1.4 Tipos Reales
Dato Rango
bool True y false
1.2 Constantes.
1.2.1 Constantes Literales
const char a[]="hola";
const int temperatura = -5;
1.2.2 Constantes Definidas
#define MAX 1024
#define PI 3.14159
#define LETRA ‘a’
#define NOMBRE “Juan Pérez”
1.3 Variables. <tipo de dato> <nombre de variable> = <valor inicial>
1.3.1 Variables Globales.
#include <stdio.h>
int cont = 1; /*Variable Global*/
main () {
}
1.3.2 Variables Locales.
#include <stdio.h>
main () {
int num = 1, num2 =2; /*Variable Local*/
}
2. 1.4 Operadores.
1.4.1 Operadores Aritméticos.
Operador Descripción
= Asignación
+ Suma
- Resta
* Producto
/ División
% Modulo o Resto
++valor Pre-incremento
Valor++ Post-incremento
--Valor Pre-decremento
Valor-- Post-decremento
+= Asignación con suma
-= Asignación con resta
*= Asignación con producto
/= Asignación con división
%= Asignación con modulo
1.4.2 Operadores Relacionales.
Operador Descripción
== Igualdad
¡= Diferencia
>= Mayor o igual
<= Menor o igual
> Mayor que
< Menor que
1.4.3 Operadores Lógicos.
Operador Descripción
&& Conjunción (Y)
|| Disyunción (O)
¡ Negado (No)
Unidad (2) – Estructuras de control.
2.1 Condicionales.
2.1.1 If else.
2.1.1.1 ejemplo 1.
if (a<b) a=a+1;
2.1.1.2 ejemplo 2.
if (x!=0)
y++;
else
y--;
2.1.1.3 ejemplo 3.
if (a<b) {
sentencias;
}
2.1.1.4 ejemplo 4.
if (a<b) {
sentencias;
} else {
sentencias;
}
2.1.1.5 ejemplo 4 (Operador ?).
x= (y>5? 34:50);
3. 2.1.2 Switch
switch (expression) {
case valor1:
bloque1
break;
case valor2:
bloque1
break;
default: /* opcional */
bloque1
}
2.2 Ciclos
2.2.1 While.
while (condición) {
Bloque
}
2.2.2 Do While.
do {
Bloque
} while (condición);
2.2.3 For.
for(i=1; i<=n; i++){
bloque;
}
2.2 Rupturas
while (condición){
if (condición2)
break;
/* sentencias */
}
Unidad (3) – Funciones y Procedimientos
3.1. Función por Valor
int ejemplovalor(int i){
return ++i;
}
//llamada ejemplovalor(i);
3.2 Función por Referencia
3.2.1 Función en C
int ejemploreferencia(int *i){
*i=*i+50;
return *i;
}
//llamada ejemploreferencia(&i);
3.2.2 Función en C++
int ejemploreferencia(int &i){
return ++i;
}
//llamada ejemploreferencia(i);
4. 3.3 Procedimiento porValor.
void saludo(char nombre[])
{
printf("hola %s",nombre);
return;
}
//llamada saludo(nombre);
3.4. Procedimientos.
3.4.1 Procedimientopor Referencia en C
void ejemploreferencia(int *i){
*i=*i+50;
return;
}
//llamada ejemploreferencia(&i);
3.4.2 Procedimientopor Referencia en C++
void ejemploreferencia(int &i){
i=i+50;
return;
}
//llamada ejemploreferencia(i);
Unidad (4) – Arreglos.
tipo nombreArreglo [numero de elementos];
NOTA: En C/C++ todos los arreglos se pasan por referencia (dirección). Esto significa que
cuando se llama a una función y se utiliza un arreglo como parámetro, se debe tener cuidado
de no modificar los arreglos en una función llamada. C trata automáticamente la llamada a la
función como si hubiera situado el operador de dirección & delante del nombre del arreglo.
4.1 Declaración e Inicialización de un arreglo unidimensional.
int numeros[10];
int numeros[] = {3, 4, 5};
int numeros[6] = {10, 20, 30, 40, 50, 60};
char s[3] = {'*',' ','*'};
char s[] = "Puesta del Sol";
4.1.2 Llenar datos en un arreglo unidimensional.
precios[0] = 10;
precios[1] = 20;
precios[3] = 30;
precios[41 = 40;
4.2 Declaración e Inicialización de un arreglo multidimensional.
int notas[2][2];
int notas[2][2][2]..[n];
int notas[3][3]={{0,1,2},{3,4,5},{6,7,8}};
4.2.2 Llenar datos en un arreglo multidimensional.
notas [0][0]=3; notas [0][1]=7; notas [0][2]=0;
notas [1][0]=5; notas [1][1]=8; notas [1][2]=2;
notas [2][0]=3; notas [2][1]=1; notas [2][2]=9;
5. Unidad (5) – Registros o Estructuras.
5.1.1 Sintaxis de un struct. (El código se escribe fuera de la función main)
struct registro {
char nombre[20];
char apellido[20];
int edad;
}persona; //variable a utilizar
5.1.2 Sintaxis de un struct utilizandotypedef.
Typedef struct {
char nombre[20];
char apellido[20];
int edad;
}registro;
5.2.1 Declaracion de una estrutura.
struct registro datos;
struct registro datos={“Haxiel”,”Malave”,19};
5.2.2 Declaracion de una estrutura utilizando typedef.
registro datos;
registro datos={“Haxiel”,”Malave”,19};
5.3 Llenar una estructura.
datos.nombre =”Carlos”;
datos.nombre =”Martinez”;
datos.nombre = 12;
5.4.1 Funciones con Struct (C++).
void llenar_datos (registro &datos){
datos.edad=18;
return;
} //Llamada llenar_datos(datos);
5.4.2 Funciones con Struct (C).
void llenar_datos (registro * datos){
(*datos).edad=18;
return;
} //Llamada llenar_datos(&datos);