0% encontró este documento útil (0 votos)
20 vistas23 páginas

Fundamentos de Programación en C

El documento proporciona un repaso sobre conceptos básicos de programación en C, incluyendo la definición de un programa, la diferencia entre lenguajes de bajo y alto nivel, y el funcionamiento de compiladores e intérpretes. Se abordan los tipos de datos, operadores y control de flujo, así como las funciones de entrada y salida, incluyendo el uso de printf y scanf. También se discuten las directivas de preprocesador y la estructura básica de un programa en C.

Cargado por

islamealkahfi15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas23 páginas

Fundamentos de Programación en C

El documento proporciona un repaso sobre conceptos básicos de programación en C, incluyendo la definición de un programa, la diferencia entre lenguajes de bajo y alto nivel, y el funcionamiento de compiladores e intérpretes. Se abordan los tipos de datos, operadores y control de flujo, así como las funciones de entrada y salida, incluyendo el uso de printf y scanf. También se discuten las directivas de preprocesador y la estructura básica de un programa en C.

Cargado por

islamealkahfi15
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Curso C

Repaso – cosas básicas


Concepto programa
 ¿Qué es un programa?
◦ Secuencia ordenada de instrucciones con
el fin de realizar una tarea
 Lenguaje ensamblador vs lenguaje alto
nivel
◦ Ensamblador : Más cercano a lenguaje
maquina; nemotecnico; requiere
conocimiento de la arquitectura;
◦ Alto nivel: cercano a lenguaje humano;
no requiere conocimiento arquitectura
Compilador e Interprete
 Compilador
◦ Analiza el código escrito y genera
instrucciones en lenguaje maquina
(programa objeto).
◦ Posteriormente Linkado enlaza librerías
y otros programas objeto y genera .exe
 Interprete
◦ Analiza y ejecuta un programa sentencia
a sentencia; no genera ejecutable
◦ Menos eficiente, pero muy versátil
 Java
 C# (pseudo interpretado)
Bloques de un programa
 1- Directivas pre-procesador
◦ Includes, defines, pragmas,…
 2- Bloque del programador
◦ Comentario inicial indicando:
 Nombre programa
 autor
 Descripcion
 Variables globales y explicacion
 Definicion de funciones
 3- Funcion Principal (main)
 4- Resto funciones
Tipos de datos: variables
 variable
◦ TipoDato identificador[,identificador,…];
 Constantes
◦ Valores numéricos
 23484 de tipo int
 253u indica unsigned
 746L indica long
 583UL indica usigned long
◦ Octales y hexadecimales
 011 valor octal, equivale a 9 en
base 10
 0xA hexadecimal
◦ Científica: .874e-2 double= .00874
◦ caracteres
◦ const int mivar=5 enum dia{lunes=1,martes}
Tipos de Datos

Tipo Tamaño (bytes)


Depende de
Linux/Intel i686.
compilador, S.O,
char 1 arquitectura. Int,
int / long int, 4 long double
unsigned int
float 4
double 8
short int 2
long double 12
Tipos de datos: almacenamiento
 Modo de almacenamiento de variables:
◦ auto-> defecto para variables declaradas
en bloques {} -> son locales
◦ extern-> variables globales. Son visibles
en un fichero. Para hacerlas visibles en
otros, declararlas en otros como extern.
Inicializacion por defecto a 0
◦ static-> conservan su valor entre
distintas ejecuciones dentro de un
bloque
◦ register-> recomendación a compilador
almacenar dicha variable en registro
CPU.
Tipos de datos: conversion
 Implicitas
◦ Por ejemplo sumar variables distinto tipo
(int + float), int se convierte a float para
poder sumarse.
◦ Asignar a variable resultado operaciones
 double x= i*j+1 donde i,j son int
 Explicitas (casting)
◦ K= (int) 1.7 + (int) masa;
◦ Suele usarse en los valores de retorno
de las funciones.
◦ Importante en operaciones como
division.
Operadores
 Aritmeticos
◦ +, - , *, /, %
 Asignacion
◦ =, +=, -=, *=, /=
 Ejemplo: distancia+=1 -> distancia=distancia +1;
 Incrementales
◦ ++, --
 Relacionales
◦ ==, <=,>=,<,>,!=
 Lógicos
◦ &&, || , !
 Para evaluar expresiones
Operadores
 Operadores bits
◦ & (and),| (or),^ (xor), ~ (c1),
>>(desplz. Dcha), << (desplz. Izda)

Eficiencia multiplicar, dividir


Operadores
 Otros
◦ sizeof
◦ [], ()
◦.
◦ ->
◦ & (variables)
◦ * (variables)
Operadores: precedencia
Control Flujo Ejecucion
 Operador condicional
◦ Expresion1? Expresion2: expresion3
 if (expresion){} else {}
 switch

 goto (salta a una etiqueta) Sólo usar en


programas bajo nivel
Control Flujo Ejecucion
 Bucles
◦ for

 Flexible: podemos obviar algunas


secciones, varias inicializaciones,
incrementos, condiciones (separadas por
comas)
◦ while

 Mientras condicion cierta -> ejecuta


Control Flujo Ejecucion
 Bucles
◦ do..while

 Se ejecuta al menos una vez

 break -> interrumpe ejecucion bucle y


salta a siguiente instrucción fuera.
 continue-> fuerza siguiente iteracion
bucle
Entrada/salida
 printf -> imprime en la unidad de
salida el texto, constantes y variables
que se indiquen.
◦ int printf(“cadena control”, argumento1,
argumento2,…);
 Ejemplo:
◦ int i=5; float masa=3.2;
printf(“resultado nº: %d, masa= %f \n”,i,masa);
Entrada/salida
 printf (modificadores)
%c imprime un carácter con el código ASCII dado (con 66 imprime
B, por ejemplo).
%s una cadena
%d un decimal
%u un decimal negativo o positivo sin signo
%o un integral en octal
%x un integral en hexadecimal
%e un número con punto flotante en notación científica
%f un número con punto flotante en notación decimal
%g puede ser %e ó %f, lo que decida printf que es lo mejor
%X lo mismo que %x pero con mayúsculas
%E como %e pero con 'E' mayúscula
%G lo mismo que %E cuando se usa notación científica
%p un "pointer"; imprime la locación en memoria de una variable
en hexadecimal
%n imprime la cantidad de caracteres desplegados hasta el
momento
Entrada/salida
 printf (modificadores)
%c imprime un carácter con el código ASCII dado (con 66 imprime
B, por ejemplo).
%s una cadena
%d un decimal
%u un decimal negativo o positivo sin signo
%o un integral en octal
%x un integral en hexadecimal
%e un número con punto flotante en notación científica
%f un número con punto flotante en notación decimal
%g puede ser %e ó %f, lo que decida printf que es lo mejor
%X lo mismo que %x pero con mayúsculas
%E como %e pero con 'E' mayúscula
%G lo mismo que %E cuando se usa notación científica
%p un "pointer"; imprime la locación en memoria de una variable
en hexadecimal
%n imprime la cantidad de caracteres desplegados hasta el
momento
Entrada/salida
 printf (formato)
Entrada/salida
 printf (formato)
Entrada/salida
 gotoxy (int x, int y)
◦ Posiciona el cursor en la pantalla.
Posicion 1,1 es la esquina superior
izquierda.
 clrscr
◦ Limpia/borra la pantalla

◦ Ojo, estas dos sentencias solo para


consola DOS
Entrada/salida
 scanf
◦ Funciona de forma similar que printf,
pero para entrada de datos desde
teclado
int scanf(“%x1, %x2”, &arg1, &arg2);

Donde %x1y%x2 son modificadores del


tipo %d,%f,%s, etc
Entrada/salida
 putchar/getchar
◦ Permiten escribir o leer un solo carácter
◦ Ej. putchar(‘a’);
 c= getchar()

También podría gustarte