C# programación de web, Grafiken und Mindmaps von Gentechnik

Resumen tutorial del lenguaje c# para practicar, programación desarrollo .

Art: Grafiken und Mindmaps

2024/2025

Hochgeladen am 19.06.2025

allison-reyes-15
allison-reyes-15 🇩🇪

1 dokument

1 / 13

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
Tutorial Completo de Introducción a la
Program ación con C23
Tabla de Contenidos
Int roducción a C23
¿Qué es C?
C es u n lenguaj e de p rogram ació n de prosito gener al d esarrol lado por Den nis Ritc hie en Bell Labs en tr e 196 9
y 197 3. Es con ocid o po r su efic ienci a, portabil idad y fl exibil ida d. C2 3 e s la ver sión m ás r ecient e de l est ánda r
ISO C, pub licad a en 20 23.
Características principales de C:
: El có digo fuen te se t radu ce a digo m áquin a ant es d e la ej ecuci ón
: Fácil de apr end er y leer
: Permit e m ani pul ación direct a de mem oria y hard war e
: El c ódig o puede ej ecut arse e n d ifer ent es pla taf orm as
: Gen era digo muy op timi zado
Novedades destacadas de C23:
Lit erales bin ari os ( p ref ix)
Atribu to s est ánda r ( , )
Nuevos t ipo s de dat os ( , )
Mej oras en fun cion es ( p ara p arám etr os)
Sop ort e m ejo rado para Un icode
Configuración del Entorno de Desarrollo
Compiladores com patibles con C23:
( GNU Com piler Collec tion)
( Microso ft Visual C+ + )
In tr oduc ción a C2 3
Configur ación del Ento rno de De sarr ollo
Estr uct ura Bási ca d e un Progr ama en C
Tipos de Dat os y Varia bles
Operado r es
Ent rada y Salida Básica
Estr uct ura s de Co ntr ol
Func ione s
Arr ays y Cadenas
Punt eros
Estr uct ura s y Uniones
Gest ión d e Memor ia D iná mica
Archivos
Nov edades d e C23
Mej ores Práct ica s
Ejercici os Pr ácticos
Lengu aj e com pila do
Sin ta xi s sim ple y clar a
Acces o d e b aj o n ive l
Po rtab i lid a d
Efi cie n ci a
0b
[[nodiscard ]] [[maybe_unu sed]]
typeof BitIn t
auto
GCC
gcc -std=c23 programa.c - o programa
Cla n g
clang -std=c23 programa.c -o programa
MSV C
cl /std:c23 programa.c
pf3
pf4
pf5
pf8
pf9
pfa
pfd

Unvollständige Textvorschau

Nur auf Docsity: Lade C# programación de web und mehr Grafiken und Mindmaps als PDF für Gentechnik herunter!

Tutorial Com plet o de I nt roducción a la

Program ación con C

Tabla de Con tenidos

I nt r odu cción a C

¿Qué es C?

C es un lenguaj e de pr ogr am ación de pr opósito gener al desar r ollado por Dennis Ritchie en Bell Labs ent r e 1969 y 1973. Es conocido por su eficiencia, por t abilidad y flex ibilidad. C23 es la v er sión m ás r eciente del est ándar ISO C, publicada en 2023.

Caract eríst icas principales de C:

: El código fuent e se tr aduce a código m áquina ant es de la ej ecución : Fácil de apr ender y leer : Per m it e m anipulación dir ecta de m em or ia y har dw ar e : El código puede ej ecutar se en difer ent es platafor m as : Gener a código m uy opt im izado

Novedades dest acadas de C23:

Lit er ales binar ios ( pr efix) At r ibut os estándar ( , ) Nuev os tipos de dat os ( , ) Mej or as en funciones ( par a par ám et r os) Sopor t e m ej or ado par a Unicode

Con figur ación del Ent or no de Desar r ollo

Com piladores com pat ibles con C23:

( GNU Com piler Collection)

( Micr osoft Visual C+ + )

Int r oducción a C Configur ación del Entor no de Desar r ollo Estr uctur a Básica de un Pr ogr am a en C Tipos de Dat os y Var iables Oper ador es Ent r ada y Salida Básica Estr uctur as de Contr ol Funciones Ar r ays y Cadenas Punter os Estr uctur as y Uniones Gest ión de Mem or ia Dinám ica Ar chiv os Novedades de C Mej or es Pr áct icas Ej er cicios Pr ácticos

Le n g u aj e co m p ilad o Sin t ax is sim p le y clar a Acceso d e b a jo n ivel Po r t ab ilid ad Ef icie n cia

0b [[nodiscard]] [[maybe_unused]] typeof BitInt auto

GCC

gcc -std=c23 programa.c -o programa

Clan g

clang -std=c23 programa.c -o programa

M SV C

cl /std:c23 programa.c

I DEs recom endados:

con ext ensión C/ C+ +

Configuración básica en VS Code:

Instala la ext ensión " C/ C+ + " de Micr osoft Cr ea un ar chivo :

Estr uct ur a Básica de un Pr ogram a en C

Anat om ía de un program a C:

Elem ent os principales:

: Com ienzan con : Punto de entr ada del pr ogr am a : Var iables y funciones : Código ej ecut able : Docum entación del código

Ej em plo com plet o:

Visu al St u d io Cod e Cod e :: Blocks De v- C+ + CLion Visu al St u d io

.vscode/tasks.json

"version": "2.0.0", "tasks": [ { "type": "cppbuild", "label": "C/C++: gcc compilar archivo activo", "command": "/usr/bin/gcc", "args": [ "-std=c23", "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "group": { "kind": "build", "isDefault": true } } ] }

// Comentario de una línea

Comentario de múltiples líneas */

#include <stdio.h> // Directiva de preprocesador

int main() { // Función principal printf("¡Hola, mundo!\n"); return 0; // Valor de retorno }

Dir ect iva s d e p r ep r o cesad o r # Fu n ció n m a in ( ) De clar a cion e s y d ef in icio n es I n st r u ccion e s Com e n t a r io s

#include <stdio.h> #include <stdlib.h>

// Declaración de función void saludar(void);

Novedad C23 - Lit er ales binarios:

Declaración y inicialización de v ar iables:

Ám bit o y duración de v ariables:

#include <stdio.h>

int main() { // Nuevos literales binarios en C int binario = 0b11010110; // 214 en decimal int octal = 0755; // 493 en decimal int hexadecimal = 0xDEADBEEF;

printf("Binario 0b11010110 = %d\n", binario); printf("Octal 0755 = %d\n", octal); printf("Hex 0xDEADBEEF = %u\n", hexadecimal);

return 0; }

#include <stdio.h>

int main() { // Declaración simple int edad;

// Declaración con inicialización int año = 2024; float precio = 19.99f; char inicial = 'J';

// Múltiples variables del mismo tipo int x = 10, y = 20, z = 30;

// Inicialización posterior edad = 25;

// Variables constantes const double PI = 3.141592653589793; const int DIAS_SEMANA = 7;

printf("Edad: %d años\n", edad); printf("Año: %d\n", año); printf("PI: %.10f\n", PI);

return 0; }

#include <stdio.h>

// Variable global int contador_global = 0;

void funcion_ejemplo() { // Variable local int local = 10;

// Variable estática (mantiene su valor entre llamadas) static int estatica = 0; estatica++;

printf("Local: %d, Estática: %d\n", local, estatica); }

int main() {

Oper ador es

Operadores arit m ét icos:

Operadores de increm ent o y decrem ent o:

// Variable local al main int local_main = 100;

printf("Global: %d\n", contador_global);

funcion_ejemplo(); funcion_ejemplo(); funcion_ejemplo();

// Bloque con ámbito limitado { int temporal = 999; printf("Temporal: %d\n", temporal); } // temporal ya no existe aquí

return 0; }

#include <stdio.h>

int main() { int a = 15, b = 4;

printf("a = %d, b = %d\n", a, b); printf("Suma: %d + %d = %d\n", a, b, a + b); printf("Resta: %d - %d = %d\n", a, b, a - b); printf("Multiplicación: %d * %d = %d\n", a, b, a * b); printf("División: %d / %d = %d\n", a, b, a / b); printf("Módulo: %d %% %d = %d\n", a, b, a % b);

// División con flotantes float fa = 15.0f, fb = 4.0f; printf("División flotante: %.2f / %.2f = %.2f\n", fa, fb, fa / fb);

return 0; }

#include <stdio.h>

int main() { int x = 5;

printf("x inicial: %d\n", x);

// Pre-incremento printf("++x: %d\n", ++x); // x se incrementa y luego se usa printf("x después: %d\n", x);

// Post-incremento printf("x++: %d\n", x++); // x se usa y luego se incrementa printf("x después: %d\n", x);

// Pre-decremento printf("--x: %d\n", --x);

// Post-decremento printf("x--: %d\n", x--); printf("x final: %d\n", x);

return 0;

Operadores de asignación:

Ent r ada y Salida Básica

print f() - Salida form at eada:

unsigned int b = 0b10101010;

printf("a = "); imprimir_bits(a); printf("b = "); imprimir_bits(b);

printf("a & b = "); imprimir_bits(a & b); // AND printf("a | b = "); imprimir_bits(a | b); // OR printf("a ^ b = "); imprimir_bits(a ^ b); // XOR printf("~a = "); imprimir_bits(~a); // NOT

printf("a << 2 = "); imprimir_bits(a << 2); // Desplazamiento izquierda printf("a >> 2 = "); imprimir_bits(a >> 2); // Desplazamiento derecha

return 0; }

#include <stdio.h>

int main() { int x = 10;

printf("x inicial: %d\n", x);

x += 5; // x = x + 5 printf("x += 5: %d\n", x);

x -= 3; // x = x - 3 printf("x -= 3: %d\n", x);

x *= 2; // x = x * 2 printf("x *= 2: %d\n", x);

x /= 4; // x = x / 4 printf("x /= 4: %d\n", x);

x %= 3; // x = x % 3 printf("x %%= 3: %d\n", x);

// Operadores bit a bit con asignación x = 12; // 1100 en binario x &= 10; // 1010 en binario, resultado: 1000 = 8 printf("x &= 10: %d\n", x);

x |= 3; // 0011 en binario, resultado: 1011 = 11 printf("x |= 3: %d\n", x);

return 0; }

#include <stdio.h>

int main() { // Especificadores básicos int entero = 42; float flotante = 3.14159f; double doble = 2.718281828; char caracter = 'A'; char cadena[] = "Hola mundo";

printf("Entero: %d\n", entero); printf("Flotante: %f\n", flotante); printf("Doble: %lf\n", doble);

scanf( ) - Ent rada form at eada:

Ent rada m ás segura con fget s( ) :

printf("Carácter: %c\n", caracter); printf("Cadena: %s\n", cadena);

// Formato con precisión printf("Flotante con 2 decimales: %.2f\n", flotante); printf("Doble con 6 decimales: %.6lf\n", doble);

// Ancho de campo printf("Entero con ancho 10: %10d\n", entero); printf("Cadena con ancho 20: %20s\n", cadena); printf("Flotante con ancho 10 y 2 decimales: %10.2f\n", flotante);

// Alineación a la izquierda printf("Entero alineado izquierda: %-10d|\n", entero); printf("Cadena alineada izquierda: %-20s|\n", cadena);

// Diferentes bases numéricas int numero = 255; printf("Decimal: %d\n", numero); printf("Octal: %o\n", numero); printf("Hexadecimal: %x\n", numero); printf("Hexadecimal mayúsculas: %X\n", numero);

// Relleno con ceros printf("Con ceros: %08d\n", entero);

return 0; }

#include <stdio.h>

int main() { int edad; float altura; char nombre[50]; char inicial;

printf("Ingresa tu nombre: "); scanf("%49s", nombre); // Limitar entrada para evitar desbordamiento

printf("Ingresa tu edad: "); scanf("%d", &edad);

printf("Ingresa tu altura (metros): "); scanf("%f", &altura);

printf("Ingresa la inicial de tu apellido: "); scanf(" %c", &inicial); // Espacio antes de %c para ignorar whitespace

printf("\nResumen:\n"); printf("Nombre: %s\n", nombre); printf("Edad: %d años\n", edad); printf("Altura: %.2f metros\n", altura); printf("Inicial apellido: %c\n", inicial);

return 0; }

#include <stdio.h> #include <string.h>

int main() { char nombre[100]; char buffer[100];

Sw it ch- case:

} else { printf("Reprobado. Tienes una F.\n"); }

// Operador ternario char* estado = (calificacion >= 60)? "Aprobado" : "Reprobado"; printf("Estado: %s\n", estado);

// Condiciones múltiples if (calificacion >= 0 && calificacion <= 100) { printf("Calificación válida.\n"); } else { printf("Calificación inválida.\n"); }

return 0; }

#include <stdio.h>

int main() { int dia;

printf("Ingresa el número del día (1-7): "); scanf("%d", &dia);

switch (dia) { case 1: printf("Lunes\n"); break; case 2: printf("Martes\n"); break; case 3: printf("Miércoles\n"); break; case 4: printf("Jueves\n"); break; case 5: printf("Viernes\n"); break; case 6: case 7: printf("Fin de semana\n"); break; default: printf("Día inválido\n"); break; }

// Switch con caracteres char operacion; printf("Ingresa una operación (+, -, *, /): "); scanf(" %c", &operacion);

int a = 10, b = 5; switch (operacion) { case '+': printf("%d + %d = %d\n", a, b, a + b); break; case '-': printf("%d - %d = %d\n", a, b, a - b); break; case '*': printf("%d * %d = %d\n", a, b, a * b); break; case '/': if (b != 0) {

Bucle w hile:

Bucle do- w hile:

printf("%d / %d = %.2f\n", a, b, (float)a / b); } else { printf("Error: División por cero\n"); } break; default: printf("Operación no válida\n"); }

return 0; }

#include <stdio.h>

int main() { // Contador simple int contador = 1; printf("Contando del 1 al 5:\n"); while (contador <= 5) { printf("%d ", contador); contador++; } printf("\n");

// Suma de números int numero, suma = 0; printf("Ingresa números (0 para terminar):\n"); scanf("%d", &numero);

while (numero != 0) { suma += numero; printf("Suma actual: %d\n", suma); printf("Siguiente número: "); scanf("%d", &numero); }

printf("Suma total: %d\n", suma);

// Validación de entrada int edad; printf("Ingresa tu edad (1-120): "); scanf("%d", &edad);

while (edad < 1 || edad > 120) { printf("Edad inválida. Ingresa un valor entre 1 y 120: "); scanf("%d", &edad); }

printf("Edad válida: %d años\n", edad);

return 0; }

#include <stdio.h>

int main() { int opcion;

// Menú que se ejecuta al menos una vez do { printf("\n=== MENÚ ===\n"); printf("1. Saludar\n"); printf("2. Despedirse\n"); printf("3. Salir\n");

Cont rol de fluj o - break y cont inue:

` c# include < st dio.h> int m ain( ) { / / Br eak en bucle pr intf( "Buscando el pr im er núm er o par m ayor que 10: \ n") ; for ( int i = 11; i < = 20; i+ + ) { if ( i % 2 = = 0) { pr intf( "Encontr ado: % d\ n", i) ; br eak; / / Sale del bucle } pr int f( " Revisando: % d ( im par ) \ n", i) ; }

for (int i = 1; i <= 10; i++) { printf("%d x %d = %d\n", tabla, i, tabla * i); }

// For anidado - patrón de asteriscos printf("\nPatrón de asteriscos:\n"); for (int fila = 1; fila <= 5; fila++) { for (int col = 1; col <= fila; col++) { printf("* "); } printf("\n"); }

// Cálculo de factorial int n = 5; long factorial = 1; for (int i = 1; i <= n; i++) { factorial *= i; } printf("Factorial de %d = %ld\n", n, factorial);

return 0; }

// Continue en bucle printf("\nNúmeros del 1 al 10 (saltando el 5):\n"); for (int i = 1; i <= 10; i++) { if (i == 5) { continue; // Salta el resto de la iteración } printf("%d ", i); } printf("\n");

// Break y continue con while printf("\nIngresa números (0 para salir, negativos se ignoran):\n"); int numero; int suma = 0, contador = 0;

while (1) { // Bucle infinito printf("Número: "); scanf("%d", &numero);

if (numero == 0) { break; // Sale del bucle }

if (numero < 0) { printf("Número negativo ignorado.\n"); continue; // Vuelve al inicio del bucle }

suma += numero; contador++; printf("Suma parcial: %d\n",