Inmunidad al ruido de los sistemas de transmisión de mensajes discretos. Diagramas temporales y espectrales en las salidas de los bloques funcionales del sistema de comunicación.

C, como variables estáticas y locales, matrices, punteros, funciones, etc., están lo más cerca posible de la arquitectura computadoras reales. Entonces, un puntero es solo una dirección de memoria, una matriz es un área de memoria contigua, las variables locales son variables ubicadas en la pila de hardware, las variables estáticas están en memoria estática. Un programador que escribe en C siempre tiene una idea bastante precisa de cómo funcionará el programa que crea en cualquier arquitectura específica. En otras palabras, el lenguaje C le da al programador control total sobre la computadora.

Inicialmente, el lenguaje C fue concebido como un reemplazo del lenguaje ensamblador para la escritura. sistemas operativos. Dado que C es un lenguaje de alto nivel que no depende de una arquitectura particular, el texto del sistema operativo era fácilmente transportable de una plataforma a otra. El primer sistema operativo escrito casi enteramente en C fue sistema unix. Actualmente, casi todos los sistemas operativos en uso están escritos en C. Además, herramientas de programación que Sistema operativo proporciona desarrolladores programas de aplicación(la llamada API - Interfaz de programa de aplicación) son conjuntos funciones del sistema en lenguaje C.

Sin embargo, el alcance del lenguaje C no se limitó al desarrollo de sistemas operativos. El lenguaje C ha demostrado ser muy conveniente en programas de procesamiento de textos e imágenes, en cálculos científicos y de ingeniería. Los lenguajes orientados a objetos basados ​​en C son excelentes para programar en entornos con ventanas.

EN esta sección Sólo se darán los conceptos básicos del lenguaje C (y en parte de C++). Esto no sustituye la lectura de un libro de texto completo en C o C++, como los libros y .

Usaremos un compilador de C++ en lugar de C. El hecho es que el lenguaje C está casi en su totalidad incluido en C++, es decir. un programa normal escrito en C es un programa C++ válido. La palabra "normal" significa que no contiene construcciones fallidas sobrantes de versiones anteriores Si y actualmente no está en uso. El compilador de C++ es preferible al compilador de C porque Tiene un control de errores más estricto. Además, algunas construcciones de C++ que no están relacionadas con la programación orientada a objetos son muy convenientes y, de hecho, son una mejora del lenguaje C. Estos son, en primer lugar, comentarios // , la capacidad de describir variables locales en cualquier punto del programa, y ​​no solo al comienzo del bloque, así como establecer constantes sin usar el operador #define del preprocesador. Usaremos estas características de C++ mientras permanecemos esencialmente dentro del lenguaje C.

Estructura de un programa en C

cualquiera es suficiente gran programa en C (los programadores usan el término proyecto) consta de archivos. Los archivos son traducidos de forma independiente por el compilador de C y luego combinados por el programa generador de tareas, lo que da como resultado un archivo con un programa listo para ser ejecutado. Los archivos que contienen textos de programas en C se denominan original.

En lenguaje C archivos fuente hay dos tipos:

  • encabezado o archivos h;
  • archivos de implementación o archivos C.

Los nombres de los archivos de encabezado tienen la extensión ".h". Los nombres de los archivos de implementación tienen la extensión ".c" para el lenguaje C y ".cpp", ".cxx" o ".cc" para el lenguaje C++.

Desafortunadamente, a diferencia del lenguaje C, los programadores no han podido ponerse de acuerdo sobre una única extensión de nombre para los archivos que contienen programas C++. Usaremos la extensión ".h" para archivos de encabezado y la extensión ".cpp" para archivos de implementación.

Archivos de encabezado contienen sólo descripciones. En primer lugar, se trata de prototipos de funciones. Prototipo de función describe el nombre de la función, el tipo de retorno, el número y los tipos de sus argumentos. El texto de la función en sí no está contenido en el archivo h. Además, los archivos h describen los nombres y tipos de variables externas, constantes, nuevos tipos, estructuras, etc. En general, los archivos h contienen sólo interfaces, es decir. información necesaria para utilizar programas ya escritos por otros programadores (o por el mismo programador anteriormente). Los archivos de encabezado sólo proporcionan información sobre otros programas. Al traducir archivos de encabezado, por regla general, no se crea ningún objeto. Por ejemplo, en un archivo de encabezado no se puede definir variable global. Línea descriptiva

definir una variable entera x es un error. En su lugar se debe utilizar la descripción.

lo que significa que la variable x está definida en algún lugar del archivo de implementación (que se desconoce). La palabra externa (externa) solamente informa informacion sobre una variable externa, pero no define esa variable.

Archivos de implementación, o archivos C, contienen textos de funciones y definiciones de variables globales. En pocas palabras, los archivos C contienen los programas en sí, mientras que los archivos h solo contienen información sobre los programas.

Actuación textos fuente en forma de archivos de encabezado y archivos de implementación es necesario para crear grandes proyectos teniendo una estructura modular. Los archivos de encabezado se utilizan para transferir información entre módulos. Los archivos de implementación son módulos individuales, que se desarrollan y traducen de forma independiente entre sí y se combinan para crear un programa ejecutable.

Los archivos de implementación pueden incluir descripciones contenidas en archivos de encabezado. Los propios archivos de encabezado también pueden utilizar otros archivos de encabezado. Archivo de cabecera se incluye mediante la directiva de preprocesador #include. Por ejemplo, descripciones características estándar Las E/S se habilitan mediante la línea

#incluir

(stdio - de las palabras entrada / salida estándar). El nombre del archivo h se escribe entre paréntesis angulares si este archivo h

El programa escrito en C# consta de los siguientes bloques:

  • declaración de un espacio de nombres (una especie de contenedor);
  • declaración de clase (la esencia principal del programa);
  • métodos de clase (subrutinas), al menos un método Principal;
  • operadores y expresiones;
  • comentarios.

Un ejemplo de un programa simple.

consideremos el programa mas simple, escrito en C#. Esta será una aplicación de consola que generará la línea " Hola Mundo"(una especie de clásico para el primer programa en la práctica de un programador). El código para dicho programa se proporciona a continuación, veámoslo:

//Conectando el espacio de nombres System usando System; //Declaración del espacio de nombres espacio de nombres ProgramStructure ( //Declaración de la clase clase Programa ( // método principal programas static void Main(string args) ( //Emite la cadena Console.WriteLine("Hello World!"); //Operador auxiliar Console.ReadKey(); ) ) )

La primera línea de este programa es un comentario. Los comentarios no afectan el funcionamiento del programa de ninguna manera; son necesarios para la persona que mantendrá el código del programa (refinándolo, corrigiendo errores, etc.).

Segunda línea del programa ( usando Sistema;) es un operador que incluye el espacio de nombres estándar Sistema. Básicamente, tenemos acceso a un conjunto de clases disponibles en el "contenedor". Sistema. Como se vio, línea dada consta de dos palabras, la primera ( palabra clave usando) significa que queremos incluir el espacio de nombres, y el segundo Sistema— el nombre del espacio de nombres requerido.

Al final de la segunda línea hay un símbolo “;”, que indica el final de la declaración. Cada declaración de programa debe terminar con dicho símbolo.

La cuarta línea del programa es nuevamente un comentario, al igual que las líneas 7, 10, 13, 15. Los comentarios en C# comienzan con los caracteres "//" (dos barras diagonales, dos barras diagonales) y son válidos solo hasta el final de la línea.

En C# también hay comentarios multilínea, a veces es más conveniente utilizarlos, los veremos más adelante.

En la quinta línea ( espacio de nombres Estructura del programa) declara su propio espacio de nombres, se llama "ProgramStructure". El espacio de nombres es una especie de contenedor y está delimitado por las llaves (que se abren en la línea 6 y se cierran en la línea 19) después de su nombre. Por tanto, todo lo que esté entre las líneas 6 y 19 pertenece al espacio de nombres. Estructura del programa.

La línea 8 declara una clase llamada “Programa”, esta es la clase principal y única de nuestro programa. Como puede ver, la palabra clave se usa para declarar una clase. clase seguido del nombre de la clase. El programa puede tener no una, sino varias clases. Normalmente, una clase consta de un conjunto de métodos que definen el llamado comportamiento de la clase (funcionalidad, si se prefiere). Los límites de clase, así como los espacios de nombres, se indican mediante llaves (líneas 9 y 18). En nuestro caso, la clase tiene un solo método, este es el método Principal.

La línea 11 simplemente declara el método. Principal. Este método es el principal de nuestro programa, el llamado punto de entrada al programa. Esto significa que cuando se inicia el programa, el método se ejecutará primero. Principal. Cada método también tiene límites, que también se indican mediante llaves (líneas 12 y 17).

Método Principal nuestro programa contiene sólo dos declaraciones. Estas declaraciones aparecen en las líneas 14 y 16. La primera imprime el mensaje "¡Hola mundo!" Y el segundo es auxiliar, obliga al programa a esperar a que se presione una tecla en el teclado, y no le permite completar su ejecución hasta ese momento (sin este operador, el programa habría impreso la línea y cerrado rápidamente , por lo que ni siquiera tuvimos tiempo de leer lo que genera).

Ahora intenta construir y ejecutar este programa en Estudio visual. Para hacer esto necesitas:

  • iniciar Visual Studio;
  • crear nuevo proyecto aplicación de consola;
  • copie las líneas 13-16 del ejemplo anterior;
  • inserte estas líneas en el método Principal proyecto creado en Visual Studio;
  • presione la tecla F5.

Hablé en detalle sobre cómo crear un proyecto de aplicación de consola en Visual Studion, te aconsejo que lo leas.




Arriba