35 Ejemplos De Programas En C Sencillos Para Novatos

Ejemplos de Lenguaje C
Ejemplos de Lenguaje C

¿Estas comenzando tu carrera como programador y quieres saber cuáles son los ejemplos de programas en C? Este tipo de lenguaje en un método de escritura de sentencias para dar instrucciones por medio de algoritmos y crear sistemas eficientes.

Entonces, si quieres entrar en materia con el mundo informático, aquí te dejamos algunos ejemplos de programas en C que te pueden ayudar a comprender más de esta fascinante etapa de aprendizaje.

Índice()

    Ejemplos de programas en C sencillos

    A continuación, te dejamos algunos ejemplos de programas en C que puedes usar en tus prácticas y volverte el mejor programador:

    Quizás te pueda interesar: Los 10 Mejores Lenguajes De Programación De IA Y Aprendizaje Automático

    1.  Creación una aplicación de consola

    Las secciones siguientes contienen los códigos fuente de los programas, algunos de los cuales se recomienda modificar y ejecutar. Crea un proyecto de aplicación de consola para esto:

    • Paso 1: Inicia Visual Studio .NET.Selecciona el elemento de menú Archivo => Nuevo => Proyecto para abrir el cuadro de diálogo Nuevo proyecto.
    • Paso 2: Selecciona Visual C ++ en la lista Tipos de proyecto.
    • Paso 3: Selecciona Proyecto vacío de la lista Plantillas.
    • Paso 4: Ingresa primero como el nombre del proyecto.
    • Paso 5: Establezca la carpeta donde se almacenará el proyecto.
    • Paso 6: Haz clic en Aceptar para cerrar el cuadro de diálogo Nuevo proyecto y completar la creación del nuevo proyecto.
    • Paso 7: Haz clic con el botón derecho en la carpeta Archivos de origen en la ventana del Explorador de soluciones. Selecciona el elemento de menú Agregar => Nuevo elemento.

    imagen

    • Paso 8: Selecciona Archivo C ++ de la lista Plantillas. Especifica Ishodnik como nombre de archivo. Ingresa el código de ejemplo en la ventana de origen del archivo (Ishodnik.cpp):

    #include <iostream>

    usando el espacio de nombres std;

    // programa

    vacío principal ()

    {

    cout << "Bienvenido a C ++ \ n";

    }

    • Paso 9: Compila y ejecuta el proyecto: Selecciona el elemento de menú Build => Build.

    imagen

    Ahora, utiliza este proyecto para ejecutar los programas que se enumeran a continuación. Cambia solo el texto del programa en el archivo fuente del proyecto, compílalo y ejecútalo.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    2.  La estructura de un programa en C

    Un programa fuente en C es una colección de los siguientes elementos: directivas de preprocesador, declaraciones, definiciones.

    • Las directivas de preprocesador(indicadas por #) procesan el código fuente del programa antes de que pase el compilador.
    • Las declaraciones(declaraciones) especifican los nombres y atributos de las variables, funciones y estructuras (tipos no estándar) que se utilizan en el programa.
    • Las definiciones son descripciones de variables y funciones. La definición de una variable, además de su nombre y tipo, da el valor inicial de la variable. Una definición de función específica su estructura, que es una mezcla de declaraciones y declaraciones que componen la función en sí. Una definición de función también especifica sus parámetros formales y el tipo de retorno.

    Las declaraciones deben preceder a la definición y uso de variables, funciones.

    A continuación te mostramos los códigos fuente, en cuyos ejemplos, como primera aproximación, se consideran los detalles de la estructura y sintaxis de los programas C.

    Ejemplo 1:

    #include <stdio.h>

    #include <conio.h>

    vacío principal ()

    {

    int I;

    int J;

    int C;

    printf ("¿Cuántos metros? \ n");

    scanf ("% d", & I);

    J = 100 * I;

    printf ("% d metros contienen% d centímetros \ n", I, J);

    C = getch ();

    }

    La directiva #include agrega el contenido del archivo de la biblioteca (código fuente) al archivo fuente. Si no se especifica el nombre completo, se buscan # archivos de inclusión en directorios estándar. Incluir el nombre del archivo entre comillas dobles (“stdio.h”) en lugar de (<stdio.h>) significa que cuando se busca un archivo, primero se debe mirar el directorio del proyecto actual.

    La adición de módulos de biblioteca en forma de archivos fuente es una característica solo del lenguaje C. En otros idiomas, por regla general, después de la traducción, el programa se vincula con los módulos de biblioteca ya compilados.

    La función principal sirve como punto de partida para la ejecución del programa.

    Para las funciones que no usan un valor de retorno, se debe usar el tipo void, lo que indica que no hay valor de retorno. De hecho, en este caso, la función se convierte en un procedimiento.

    El lenguaje C \ C ++ proporciona entrada de datos formateados y sin formato

    • La cadena de formatopuede incluir caracteres regulares y especificaciones que comienzan con un signo%, seguido de un carácter de conversión (% d entero; % U entero sin signo; % ld entero largo).
      • Por ejemplo: scanf ("% d", & I);te permite ingresar un número decimal desde el teclado, que será asignado a la variable I.
      • Aquí % d es el formato (entero) para el valor de la variable I.
      • La operación & devuelve la dirección de esta variable.
      • Si I es una variable de tipo int, entonces & I es la dirección de su ubicación en la memoria.
    • La entrada (salida) de datos sin formatose implementa para cualquier tipo de datos y es proporcionada por las llamadas operaciones de entrada (salida) en el flujo.

    Por ejemplo:

    #include <iostream>

    Usando el espacio de nombres std; // se especifica el espacio de nombres para la biblioteca

    principal ()

    {

    int i;

    cout << "¿Entero?:";

    cin >> i;

    cout << "Cuadrado del número:" << i * i << "\ n";

    return 0;

    }

    NOTA: Las operaciones de entrada / salida de datos sin formato están relacionadas con el lenguaje C ++

    Línea de programa cout << "¿Entero?:"; imprime un mensaje en la pantalla enviándolo a cout stream. La cadena cin >> i; a través del flujo de cin, reenvía los datos del teclado a una variable.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    3.  Pre-procesamiento

    La esencia del pre-procesamiento es reconstruir el código fuente del desarrollador antes de la compilación según las directivas del preprocesador especificadas en el código (indicadas por el símbolo #). Considera este ejemplo:

    #define TAMAÑO 16

    #include <stdio.h>

    principal ()

    {

    char c = 'A';

    #ifdef TAMAÑO

    int x = 123;

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

    #demás

    char x [TAMAÑO] = "computadora";

    printf ("x =% s \ n", x);

    #terminara si

    printf ("% c \ n", c);

    }

    • La directiva #define SIZE 16 reemplaza el identificador SIZE por 16 en la fuente del programa.
    • La directiva #include inserta el código fuente del archivo especificado en la fuente del programa.
    • Las construcciones condicionales # ifdef… # else… #endif del preprocesador omiten parte del código del programa antes de la compilación, dependiendo de la condición.

    A continuación te mostramos un ejemplo en el que el código fuente escrito en Pascal se reemplaza por la fuente C durante el pre-procesamiento:

    #include <stdio.h>

     #define entonces

     #define begin {

     #define end}

     

    principal ()

     empezar // {

     int n, x, y, k = 0;

     printf ("ingrese n \ n");

     scanf ("% d", & n);

     para (x = -n; x <= n; x ++)

     para (y = -n; y <= n; y ++)

     si (2 * yx * x == 4) entonces // vacío

     empezar // {

     k = k + 1;

     final //}

     si (k == 0) entonces // vacío

     printf ("sin raíces \ n");

     final //}

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    4.  Conversión de tipo variable

    Las variables de un tipo se pueden convertir explícitamente en otro tipo mediante conversión. Ejemplo:

    int i = 2;

    largo l = 2;

    doble d;

    flotar f;

    d = (doble) i * (doble) l;

    f = (flotante) d;

    En este ejemplo, los valores i, l, d se convertirán explícitamente a los tipos indicados entre paréntesis.

    Ejemplos de programas en C con 2 o más funciones

    A continuación te mostramos un ejemplo de un programa de 2 funciones.

    / * Función y = t ** n * /

    int power (int t, int n)

    {

    int p = 1;

    mientras (n! = 0)

    {

    si (n% 2! = 0) p = p * t;

    n = n / 2;

    t = t * t;

    }

    return p;

    }

     

    #include <stdio.h>

    principal ()

    {

    int a, n;

    printf ("Ingrese a, n \ n");

    scanf ("% d% d", & a, & n);

    printf ("% d elevado a% d =% d", a, n, potencia (a, n));

    }

    El punto de entrada al programa es la función principal. La función de potencia se llama desde ella. La función se define con 2 entradas ty n. Al definir una función, estos parámetros se denominan formales.

    Cuando se llama a la función, recibe los parámetros reales ay n. El valor calculado por la función de potencia se pasa a main usando la declaración return (p). La función de potencia debe definirse o declararse antes de que se llame en main.

    ¿Qué es una declaración de función?

    Hasta ahora, solo nos hemos encontrado con declaraciones de variables. La declaración de la función se ve así:

    int poder (int t, int n);

    La declaración especifica el nombre de la función, el tipo de valor de retorno y el tipo de los parámetros entrantes. No es necesario especificar los nombres formales de los parámetros, solo se necesitan cuando se define la función.

    A continuación se muestra un ejemplo de un programa de 2 funciones en el que se realiza un intento fallido de cambiar el valor de las variables.

    void change (int x, int y) // Decisión incorrecta

    {

    int t;

    t = x;

    x = y;

    y = t;

    }

     

    #include <stdio.h>

    vacío principal ()

    {

    int a, b;

    a = 3; b = 7;

    cambiar (a, b);

    printf ("a =% db =% d \ n", a, b);

    }

    ¿Por qué la decisión equivocada?

    La función llamada copia los valores de los parámetros reales a las variables locales, pero no devuelve los valores actualizados. En la definición de la siguiente función, vemos que se usa la palabra clave void en lugar de los parámetros de entrada.

    void voutput (vacío) {

    nti t = 12345;

    doble du;

    du = raíz cuadrada (eso);

    printf (“Kvadratny koren chisla% d cuervo% f \ n”, it, du);

    }

    De acuerdo con el estándar ANSI C, la palabra clave void se usa para indicar explícitamente que no hay argumentos para una función. La palabra void es opcional, aunque se usa ampliamente.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    5.  Operaciones

    Las operaciones específicas del lenguaje C se analizan a continuación.

    En el ejemplo:

    max = (d <= b)? b: d;

    La forma abreviada de la instrucción if - then - else, a la variable max se le asigna el valor máximo de las variables d y b.

    La asignación x * = y + 1 en realidad significa x = x * (y + 1), no x = x * y + 1.

    Si asumimos que el valor de n es 5, entonces la variable m en la expresión m = ++ n tendrá el valor 6, y en la expresión m = n ++ la variable m será 5, en cuyo caso la variable n será igual a 6.

    • El primer ejemplo en precisión corresponde a la siguiente secuencia de operadores n = n + 1; m = n;y la segunda secuencia m = n; n = n + 1.

    En el primer ejemplo, el resultado se ve afectado por la prioridad de las operaciones, la operación = es más importante que la operación ++.

    #include <stdio.h>

    int otra_función (int x) {¡retorno! ((~ (~ 0U >> 1) | x) & x -1);}

    int main (vacío)

    {

    int i;

    para (i = 0; i <256; ++ i)

    printf ("% 3d:% d \ n", i, otra_función (i));

    return 0;

    }

    Una constante entera es un número decimal ( 10 ), octal ( 012 ) o hexadecimal ( 0Xa o 0xA ). Una constante sin el sufijo u o U se considera con signo.

    Este tema esta relacionado con: Las 6 Mejores Herramientas De Notificación De Correo Para El Sistema Linux

    En expresiones con múltiples operaciones, las operaciones de mayor prioridad se evalúan primero.

    La operación ~ (invierte la representación de bits de un número) tiene prioridad sobre la operación >> (desplazamiento a la derecha bit a bit por el número de posiciones especificado por el segundo operando).

    Operación ~ operación de mayor prioridad (OR inclusivo bit a bit).

    Operación - (menos) prioridad más alta y operación (AND bit a bit).

    Operaciones & (bit a bit AND) o es una operación de direccionamiento? (por contexto)

    Si asumimos que el valor de n es 5, entonces la variable m en la expresión m = ++ n tendrá el valor 6, y en la expresión m = n ++ la variable m es igual a 5.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    6.  Matrices

    Una matriz es una colección de datos del mismo tipo. En el caso de matrices multidimensionales, muestre tantos pares de paréntesis como el tamaño de la matriz, por ejemplo int a [2] [5];

    Haciendo referencia a algún elemento de la matriz a [1] [3], a [0] [k + 2]. Los índices de matriz en C siempre comienzan en 0, no en 1,

    • Una matriz bidimensional se puede iniciar así: int a [2] [5] = {{3,4,0,1,2}, {6,5,1,4,9}};

    El lenguaje C no tiene la capacidad de asignar dinámicamente memoria para matrices de la forma tradicional, pero se hace una excepción para una matriz de tipo char:

    / * Longitud de la línea * /

    longitud int (char s [])

    {

    int i = 0;

    while (s [i]! = '\ 0')

    i ++;

    retorno (i);

    }

     

    #include <stdio.h>

    vacío principal ()

    {

    static char str [] = "TEXTO";

    printf ("% d \ n", longitud (cadena));

    }

    Cualquier constante de carácter, como "TEXTO", es una matriz de caracteres. Si se omite la longitud de la cadena entre corchetes, se determina automáticamente por el número de caracteres asignados. Tal matriz termina con el carácter "\ 0".

    El tamaño de la matriz se puede especificar entre corchetes char str [5], o especificando una lista de valores iniciales al inicializar la matriz char str [] = "TEXT". Durante la inicialización de una matriz sin tamaño, el compilador creará automáticamente una matriz lo suficientemente grande como para contener todos los elementos especificados.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    7.  Punteros a variables

    Hasta ahora, todo ha sido relativamente sencillo. La dificultad de comprender los programas en C generalmente comienza con sugerencias. Considera los detalles de los punteros usando los ejemplos de programas en C más simples.

    Un puntero es una variable cuyo valor es la dirección de otra variable. A continuación te mostramos el código más simple, que contiene casi todas las características de la aplicación de la notación utilizada junto con el puntero.

    int x = 1, y = 2, z [10];

    int * uk; // uk- puntero a int

    reino unido = & x; // ahora uk apunta ax

    y = * reino unido; // y ahora es 1

    * Reino Unido = 0; // x es ahora 0

    reino unido = & z [0]; // ahora uk apunta a z [0]

    Prestar atención. Hay un asterisco (*) cerca del puntero en dos casos: al declarar y expandir un valor por puntero. Si se asigna una dirección a un puntero, está ausente

    Pregunta de Seguridad

    ¿Cuál es el valor de y después de ejecutar el código?

    Al declarar un puntero, el sistema operativo asigna memoria (4 bytes para un sistema de 32 bits) solo para almacenar el puntero en sí, y no para lo que apuntará. Entonces, ¿por qué describir el tipo de objeto en la declaración del puntero?

    • Respuesta. Cuando declaras un tipo de puntero, puedes realizar operaciones de suma y resta con él, ya que el tipo de puntero determina el número de bytes por los que se cambia el valor del puntero.
      • Por ejemplo: cuando se realiza la operación ++ (incremento), el valor del puntero cambia no en 1 (uno), sino en el número de bytes asignados para una variable del tipo especificado:

    int * pi;

    doble * pf;

    int an_integer;

    doble a_real;

    pi = & an_integer;

    pf = & a_real;

    pi ++; // valor cambiado a 4

    pf ++; // valor cambiado a 8

    Está permitido declarar un puntero de tipo indefinido (vacío), pero debe redefinirse explícitamente antes de realizar operaciones aritméticas:

    doble número;

    void * dirección;

    dirección = & nomer;

    (doble *) dirección ++;

    Punteros como parámetros de función

    Como se señaló anteriormente, no puedes actualizar los valores de los parámetros entrantes, ya que la función trabaja con copias de las variables reales:

    / * Uso incorrecto de parámetros * /

    cambio vacío (int x, int y)

    {int k = x;

    x = y;

    y = k;

    }

    Sin embargo, si pasas un puntero a una variable como parámetro, puedes cambiar el valor de esta variable. Anteriormente, solo podías devolver el resultado de una función usando return.

    / * Uso correcto de parámetros * /

    cambio vacío (int * x, int * y)

    {int k = * x;

    * x = * y;

    * y = k;

    }

    Cuando se llama a una función de este tipo, no se utilizan los valores de las variables, sino sus direcciones como parámetros reales:

    cambiar (& a, & b);

    En este ejemplo, las variables de entrada se devuelven actualizadas. ¿Cómo se puede explicar este fenómeno?  El punto es que la función usa copias de punteros a las mismas variables. Las copias tienen las mismas capacidades de expansión del puntero que los originales.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    8.  Punteros a otros punteros

    En C / C ++, puedes crear punteros a otros punteros, que, a su vez, contienen las direcciones de variables reales como la siguiente:

    int ivalue = 10;

    int * pi;

    int ** ppi;

    pi = & ivalue;

    ppi = [pi;

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    9.  Relación entre matrices y punteros

    Existe una estrecha relación entre punteros y matrices. Por ejemplo, cuando una matriz se declara como int matriz [25], esto determina no solo la asignación de memoria para veinticinco elementos de la matriz, sino también el valor de la dirección del primer elemento (cero) de la matriz, que se almacena en una variable llamada formación.

    int matriz [25];

    int * ptr;

    ptr = matriz;

    La última fila se puede escribir en la forma equivalente ptr = & array [0]. Resulta que al definir una matriz, automáticamente obtenemos un puntero. Esto no es del todo cierto, ya que el valor del nombre de la matriz de matriz no se puede cambiar (el nombre de la matriz de puntero es una constante), y los valores del puntero ptr (esta es una variable) pueden ser:

    ptr = ptr + 1;

    La declaración de una matriz bidimensional arr [4] [3] genera tres objetos diferentes en el programa: un puntero con el identificador arr, una matriz sin nombre de cuatro punteros y una matriz sin nombre de doce números de tipo.

    • Aquí lo aclararemos. La matriz y los cuatro punteros son virtuales. La única matriz real de 12 números, que se ubican secuencialmente en la memoria, en una fila de izquierda a derecha, en filas de arriba a abajo. Una matriz virtual solo sirve para describir la secuencia de acceso a los elementos de la matriz real, desde punteros de fila hasta elementos de fila.

    Para acceder a los elementos de la matriz, se puede usar una expresión de índice en la forma arr [1] [2] o sus expresiones de dirección equivalentes (* (arr + 1)) [2] y * (* (arr + 1) +2).

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    10.              Punteros de función

    Considera ahora los punteros de función. Sintácticamente, el nombre de una función es la dirección del comienzo del cuerpo de la función. Al igual que el nombre de la matriz es la dirección del primer elemento de la matriz. Esto significa que también se puede llamar a una función a través de un puntero de función. Ejemplo:

    • doble (* fun1) (int x, int y); / * declaración de un puntero de función * /
    • doble fun2 (int k, int l); / * declaración de función * /
    • fun1 = fun2; / * inicialización de un puntero de función * /
    • (* fun1) (2.7); / * llamada a funcionar a través de un puntero * /

    Externamente, la declaración de un puntero de función se parece a la declaración de la función en sí. El mismo número y tipo de parámetros de entrada, así como el tipo de valor de retorno.

    Pero no olvides lo principal. Un puntero es una variable que está asociada con la dirección del comienzo del cuerpo de la función. Y, en consecuencia, la declaración de este puntero suena en la siguiente interpretación:

    Se declara un puntero fun1 a una función que contiene 2 parámetros de tipo int y devuelve un valor de tipo double

    La función se llama mediante el signo de expansión del valor mediante el puntero (*).

    Ejemplo de puntero

    Un puntero de función se puede pasar como parámetro a una función. A continuación se muestra un ejemplo en el que uno de los parámetros de la función proiz es un puntero de función.

    #include <iostream>

    usando el espacio de nombres std;

    #include <stdio.h>

    #include <math.h>

     

    doble proiz (doble x, doble dx, doble (* f) (doble x));

    doble diversión (doble z);

     

    int main ()

    {

    doble X; / * punto de derivación * /

    doble dx; / * incremento * /

    doble z; / * valor derivado * /

    cin >> x; / * valor de entrada x * /

    cin >> dx; / * ingrese el valor dx * /

    z = proiz (x, dx, divertido); / * Llamada de función * /

    cout << z << "\ n"; / * imprime el valor de la derivada * /

    return 0;

    }

     

    doble proiz (doble x, doble dx, doble (* f) (doble z))

    {/ * función que calcula la derivada * /

    doble xk, xk1, pr;

    xk = (* f) (x);

    xk1 = (* f) (x + dx);

    pr = (xk1 / xk-1e0) * xk / dx; // 1e0 es una constante de coma flotante

    return pr;

    }

     

    doble diversión (doble z)

    {/ * función a partir de la cual se calcula la derivada * /

    retorno (cos (z));

    }

    La función proiz calcula la derivada de la función cos (x) indirectamente a través de la función fun.

    Para derivar de alguna otra función, puede modificar el cuerpo de diversión o usar el nombre de otra función al llamar a proiz. En particular, para calcular la derivada de la función cos (x), puede llamar a la función proiz en la forma

    z = proiz (x, dx, cos);

    Tareas de control. Lea el código del programa. Ejecute el programa para calcular la derivada de la función sin (x) en la forma z = proiz (x, dx, sin);

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    11.              Gestión de memoria dinámica

    El lenguaje C carece de la capacidad de administrar dinámicamente la memoria para matrices a través de una expresión de índice en la forma arr [] []. Esta posibilidad se realiza mediante punteros, malloc, calloc y funciones libres.

    Programa de muestra 1:

    #include <stdio.h>

    #include <malloc.h>

    vacío principal (vacío)

    {

    búfer largo *;

    // tamaño de la memoria para una matriz de 40 elementos largos

    búfer = (largo *) calloc (40, tamaño de (largo));

    si (buffer! = NULL)

    printf ("Asignados 40 enteros largos \ n");

    demás

    printf ("No se puede asignar memoria \ n");

    libre (búfer);

    }

    Ejemplos de Programas en C de muestra 2:

    / * copia de la línea * /

    #include <stdio.h>

    #include <malloc.h>

    copia vacía (char * s1, char * s2)

    {

    while ((* s2 = * s1)! = '\ 0')

    {

    s2 ++; s1 ++;

    }

    }

    vacío principal ()

    {

    char * str1 = "Hola";

    char * str2;

    // tamaño de la memoria para una matriz de 7 elementos de caracteres

    str2 = (char *) malloc (sizeof (char) * 7);

    copiar (str1, str2);

    printf ("% s \ n", str2);

    }

    Las funciones malloc y calloc devuelven un puntero al área de memoria que solicitaron dinámicamente. La función free (p) libera el área de memoria señalada por el puntero. El puntero devuelto por malloc y calloc es nulo. Debe convertirse explícitamente en el tipo apropiado.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    12.              Estructura

    Una estructura es una colección de variables relacionadas lógicamente agrupadas bajo un nombre para la conveniencia de un procesamiento posterior. A diferencia de una matriz, que es un objeto homogéneo, la estructura puede ser heterogénea (diferentes tipos de variables).

    Descripción:

    estructura anketa

    {

    int tab_nom;

    char fio [30];

    datos de char [10];

    int pol;

    char adres [40];

    flotar summa;

    };

    Anuncio:

    • struct anketa a0, a1, a2;

    Inicialización (definición):

    • struct anketa a0 = {1024, "Makagon V.M", "01/10/1943", 0, "Odessa, Varnevskaya, 23/99", 175.00};

    Apelación:

    • fio = "Macagon V.M";

    Las estructuras no se pueden copiar ni asignar como un todo; no se pueden pasar a una función ni recibir completamente de allí. Sin embargo, es posible evitar esta limitación utilizando un puntero a una estructura como argumento.

    Anuncio:

    • struct anketa * uk;

    Apelación:

    • uk-> fio = "Macagon V.M";
    • (* Reino Unido). fio = "Macagon V.M";

    Los paréntesis son obligatorios, ya que la prioridad de la operación de selección del elemento "." más alto que "*".

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    13.              Ejemplos de declaraciones

    El primer ejemplo declara una función llamada add que toma dos argumentos int y devuelve un int.

    • int agregar (int, int); / * Ejemplo 1 * /

    El segundo ejemplo declara una función llamada calc que devuelve un doble. No se especifica la lista de tipos de argumentos.

    • doble calc (); / * Ejemplo 2 * /

    El tercer ejemplo declara una función denominada strfind que devuelve un puntero a un valor char. La función requiere al menos un argumento, un puntero a un valor de tipo char. La lista de tipos de argumentos termina con una coma con puntos suspensivos para indicar que la función puede requerir más argumentos.

    • char * strfind (char *, ...); / * Ejemplo 3 * /

    El cuarto ejemplo declara una función con un tipo de retorno vacío (sin valor de retorno). La lista de tipos de argumentos también es nula, lo que significa que no hay argumentos para esta función.

    • void draf (vacío); / * Ejemplo 4 * /

    En el quinto ejemplo, se declara la función prt, que requiere un argumento de puntero de cualquier tipo y que devuelve un valor de tipo int. Cualquier puntero p o q podría usarse como argumentos de función sin generar un mensaje de advertencia.

    • char * p; / * Ejemplo 5 * /
    • corto * q;
    • int prt (vacío *);

    Los siguientes 2 ejemplos de programas en C muestran cómo los paréntesis pueden cambiar el significado de una declaración.

    • long * var (largo, largo): una función que devuelve un puntero a un valor de tipo long. En este ejemplo, el modificador de función tiene prioridad sobre el modificador de puntero, por lo que var se declara como una función que devuelve un puntero a un valor largo. La función se declara con dos argumentos largos.
    • long (* var) (largo, largo): un puntero a una función que devuelve un valor de tipo long. Este ejemplo es similar al segundo. Los paréntesis dan mayor prioridad al modificador de puntero y, por lo tanto, var se declara como un puntero a una función con dos argumentos largos y devuelve un valor largo.

    Ahora veamos los siguientes ejemplos de programas en C que te pueden interesar:

    14.              Casos de prueba

    A continuación se muestran los ejemplos de programas en C y fragmentos de programas. Para un caso de prueba, es necesario determinar la tarea que realiza el programa en su conjunto y por cada línea por separado, para conocer la secuencia de llamadas a los operadores, y también para poder comentar correctamente la finalidad de los elementos del lenguaje utilizados.

    En el código del programa. La lectura de líneas suele comenzar con las palabras "declarado, definido, llamado, inicializado..." y así sucesivamente.

    1. Ejemplo 1:

    #include <stdio.h>

    #include "conio.h"

    vacío principal ()

    {

    int I;

    int J;

    int C;

    printf ("¿Cuántos metros? \ n");

    scanf ("% d", & I);

    J = 100 * I;

    printf ("% d metros contienen% d centímetros \ n", I, J);

    C = getch ();

    }

    1. Ejemplo 2:

    #include <iostream>

    usando el espacio de nombres std;

    principal ()

    {

    int i;

    cout << "¿Entero?:";

    cin >> i;

    cout << "Cuadrado del número:" << i * i << "\ n";

    return 0;

    }

    1. Ejemplo 3:

    #define TAMAÑO 16

    #include <stdio.h>

    principal ()

    {

    char c = 'A';

    #ifdef TAMAÑO

    int x = 123;

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

    #demás

    carácter estático x [TAMAÑO] = "computadora";

    printf ("x =% s \ n", x);

    #terminara si

    printf ("% c \ n", c);

    }

    Aquí puedes leer sobre: 10 Mejores Alternativas A Doodle: Software De Programación De Citas

    1. Ejemplo 4:

    #include <stdio.h>

    #define entonces

    #define begin {

    #define end}

    principal ()

    empezar

    int n, x, y, k = 0;

    printf ("Vvedi n \ n"); scanf ("% d", & n);

    para (x = -n; x <= n; x ++)

    para (y = -n; y <= n; y ++)

    si (2 * yx * x == 4) entonces

    empezar

    k = k + 1;

    printf ("x =% d, y =% d \ n", x, y);

    final

    si (k == 0) entonces

    printf ("red kornei \ n");

    final

    1. Ejemplo 5:

    int i = 2;

    largo l = 2;

    doble d;

    flotar f;

    d = (doble) i * (doble) l;

    f = (flotante) d;

    1. Ejemplo 6:

    / * Función y = t ** n * /

    int power (int t, int n)

    // int t, n;

    {

    int p = 1;

    mientras (n! = 0)

    {

    si (n% 2! = 0) p = p * t;

    n = n / 2;

    t = t * t;

    }

    retorno (p);

    }

     

    #include <stdio.h>

    principal ()

    {

    int a, n;

    printf ("Ingrese a, n \ n");

    scanf ("% d% d", & a, & n);

    printf ("% dv stepeni% d =% d", a, n, potencia (a, n));

    }

    1. Ejemplo 7:

    obmen vacío (int x, int y)

    {

    int t;

    t = x;

    x = y;

    y = t;

    }

     

    #include <stdio.h>

    vacío principal ()

    {

    int a, b;

    a = 3; b = 7;

    obmen (a, b);

    printf ("a =% db =% d \ n", a, b);

    }

    1. Ejemplo 8:

    void voutput (vacío) {

    int it = 12345;

    doble du;

    du = raíz cuadrada (eso);

    printf ("kvadratny koren chisla% d cuervo% f \ n", it, du);

    }

    1. Ejemplo 9:

    x * = y + 1

    Selecciona un análogo equivalente de la expresión superior:

    x = x * (y + 1)

    x = x * y + 1

    1. Ejemplo 10:

    max = (d <= b)? b: d;

    1. Ejemplo 11:

    #include <stdio.h>

    int otra_función (int x) {¡retorno! ((~ (~ 0U >> 1) | x) & x -1);}

    int main (vacío)

    {

    int i;

    para (i = 0; i <256; ++ i)

    printf ("% 3d:% d \ n", i, otra_función (i));

    return 0;

    }

    1. Ejemplo 12:

    Leer constantes enteras:

    10

    012

    0Xa

    0xAU

    1. Ejemplo 13:

    Si n es 5, entonces m

    m = ++ n

    m = n ++

    1. Ejemplo 14:

    / * Longitud de la línea * /

    longitud int (char s [])

    {

    int i = 0;

    while (s [i]! = '\ 0')

    i ++;

    retorno (i);

    }

     

    #include <stdio.h>

    vacío principal ()

    {

    static char str [] = "TEXTO";

    printf ("% d \ n", longitud (cadena));

    }

    1. Ejemplo 15:

    char str [] = "TEXTO"

    char code [3] = "abcd"

    1. Ejemplo 16:

    int x = 1, y = 2, z [10];

    int * uk;

    reino unido = & x;

    y = * reino unido;

    * Reino Unido = 0;

    reino unido = & z [0];

    1. Ejemplo 17:

    int * pi;

    flotar * pf;

    int an_integer;

    flotar a_real;

    pi = & an_integer;

    pf = & a_real;

    pi ++;

    pf ++;

    1. Ejemplo 18:

    doble nomero;

    void * dirección;

    dirección = & nomer;

    (doble *) dirección ++;

    1. Ejemplo 19:

    cambio vacío (int x, int y)

    {int k = x;

    x = y;

    y = k;

    }

    1. Ejemplo 20:

    cambio vacío (int * x, int * y)

    {int k = * x;

    * x = * y;

    * y = k;

    }

    1. Ejemplo 21:

    int matriz [25];

    int * ptr;

    ptr = matriz;

    ptr = ptr + 1;

    1. Ejemplo 22:

    int arr [1] [2]

    int a;

    a = * (* (arr + 1) +2)

    1. Ejemplo 23:

    int (* divertido) (int x, int * y);

    1. Ejemplo 24:

    int * fun (int x, int * y);

    1. Ejemplo 25:

    doble (* fun1) (int x, int y);

    doble fun2 (int k, int l);

    fun1 = fun2;

    (* fun1) (2.7);

    1. Ejemplo 26:

    #include <iostream.h>

    #include <stdio.h>

    #include <math.h>

    doble proiz (doble x, doble dx, doble (* f) (doble x));

    doble diversión (doble z);

     

    int main ()

    {

    doble X; / * punto de derivación * /

    doble dx; / * incremento * /

    doble z; / * valor derivado * /

    cin >> x;

    cin >> dx;

    z = proiz (x, dx, divertido);

    cout << z << "\ n";

    return 0;

    }

     

    doble proiz (doble x, doble dx, doble (* f) (doble z))

    {/ * función que calcula la derivada * /

    doble xk, xk1, pr;

    xk = (* f) (x);

    xk1 = (* f) (x + dx);

    pr = (xk1 / xk-1e0) * xk / dx; // 1e0 es una constante de coma flotante

    return pr;

    }

     

    doble diversión (doble z) {retorno (cos (z)); }

    1. Ejemplo 27:

    #include <stdio.h>

    #include <malloc.h>

     

    vacío principal (vacío)

    {

    búfer largo *;

    búfer = (largo *) calloc (40, tamaño de (largo));

    si (buffer! = NULL)

    printf ("Asignados 40 enteros largos \ n");

    demás

    printf ("No se puede asignar memoria \ n");

    libre (búfer);

    }

    1. Ejemplo 28:

    #include <stdio.h>

    #include <malloc.h>

     

    copia vacía (char * s1, char * s2)

    {

    while ((* s2 = * s1)! = '\ 0')

    {

    s2 ++; s1 ++;

    }

    }

    vacío principal ()

    {

    char * str1 = "Hola";

    char * str2;

    str2 = (char *) malloc (sizeof (char) * 7);

    copiar (str1, str2);

    printf ("% s \ n", str2);

    }

    1. Ejemplo 29:

    estructura anketa

    {

    int tab_nom;

    char fio [30];

    datos de char [10];

    int pol;

    char adres [40];

    flotar summa;

    };

     

    struct anketa a0, a1, a2;

    struct anketa a0 = {1024, "MAKAGON VM", "01/10/1943", 0, "Odessa, Varnevskaja, 23/99", 175.00};

    a1. fio = "MAKAGON VM"

    struct anketa * uk;

    uk-> fio = "MAKAGON VM",

    (* uk) .fio = "MAKAGON VM"

    1. Ejemplo 30:

    int agregar (int, int);

    1. Ejemplo 31:

    char * strfind (char *, ...);

    1. Ejemplo 32:

    void draf (vacío);

    1. Ejemplo 33:

    int prt (vacío *);

    1. Ejemplo 34:

    long * var (largo, largo);

    1. Ejemplo 35:

    largo (* var) (largo, largo);

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir