Valor del término de programación
Operadores aritméticos
Sumar x = y z;
-Restar x = y-z;
*Multiplicar por x = y * z;
/Dividir x = y/z;
Operador de asignación
=Asignar x = 10 ;
=Asignación y x = 10; (igual a x = x 10;)
-=Asignación y resta x-= 10;
* =Asignación y multiplicación x * = 10;
\ = asignación y división x \ = 10;
amp = suma de bits de asignación x = 0x02
| | = 0x02
Operador lógico
amp amp lógico AND if(x amp; amp0xFF) {...}
||| | 0xFF) {...}
Operador de igualdad
= = igual a if(x == 10) {...}
! =no es igual a if(x!= 10) {...}
lt es menor que if (x
gt es mayor que if(x > 10) {.. .}
lt=menor o igual a if (x
gt=mayor o igual a if(x > = 10) {...}
Operador unario
*Operador indirecto int x = * y;
operador de dirección amp int * x = ;y;
~ el bit no es x; = ~ 0x02
! la lógica no es if(!valid){...}
operador de incremento x (igual a x = x 1;)
-operador decremento x- ;
Operadores de clase y estructura
*Resolución de distancia mi clase::alguna función();
- miembro indirecto mi clase - gt; some function();
Miembro directo MyClass. some function();
Como puede ver, esta lista es demasiado larga para recordarla de inmediato. con estos operadores Es importante tener en cuenta que el operador de incremento se puede utilizar como preincremento (x) o postincremento (x). El operador de preincremento le dice al compilador antes de usar la variable. El operador post-incremento le dice al compilador que use la variable antes de incrementarla. Por ejemplo, el siguiente código:
int x = 10;
cout lt lt" x = " lt ltx. lt ; ltend 1;
cout lt lt" x = " lt ltx lt ltend 1;
cout lt lt" x = " x lt ltend 1;
cout lt lt" x = " lt lt x lt; ltend 1;
El resultado de salida es el siguiente:
x=10
x= 11
x=12
x=12
Lo mismo ocurre con el operador de decremento.
No quiero profundizar demasiado en estos contenidos aquí, pero los lectores pueden seguir leyendo con paciencia, tal como Penz le dijo a August: "August, ten paciencia, Roma no se construyó en un día" muestra que los operadores en C pueden serlo. sobrecargado. Los programadores pueden sobrecargar operadores estándar para que operen dentro de clases específicas. Por ejemplo, puede sobrecargar el operador de incremento en una clase para que la variable se incremente en 10 en lugar de 1. La sobrecarga de operadores es una técnica avanzada de C que está más allá del alcance de este libro. Es posible que algunos operadores utilicen los mismos símbolos. El significado de los símbolos varía de una situación a otra. Por ejemplo, el asterisco (*) se puede utilizar como multiplicador, declarar un puntero o desreferenciar un puntero. Esto puede parecer un poco complicado a primera vista. De hecho, los programadores de C a veces lo encuentran un poco confuso. Practica más y te acostumbrarás. Hay muchos ejemplos de estos operadores en este libro. Los lectores no tienen que memorizar las funciones de cada operador, pero pueden aprender sus funciones a través de programas y fragmentos de código mientras aprenden. Funciones en C
Una función es un fragmento de código independiente del programa principal. Estos segmentos de código se llaman (ejecutan) cuando se requiere una acción específica en el programa. Por ejemplo, una función puede aceptar dos valores y realizar operaciones matemáticas complejas con ellos. Luego, al devolver el resultado, la función podría tomar una cadena, analizarla y devolver una parte de la cadena analizada. El nuevo término función es un fragmento de código separado del programa principal y utilizado para realizar un servicio predeterminado. Las funciones son una parte importante de todo lenguaje de programación y C no es una excepción. La función más simple no toma parámetros y devuelve void (lo que significa que no se devuelve nada). Otras funciones pueden aceptar uno o varios parámetros y también pueden devolver valores. Las reglas para los nombres de funciones son las mismas que para los nombres de variables. La Figura 1.5 muestra los componentes de esta función. El nuevo parámetro de término es un valor pasado a la función que cambia la operación o indica el alcance de la operación.
Lista de parámetros de nombre de función de tipo de retorno.
↓ ↓ ↓
int SomeFunction(int x, int y){
Cuerpo de la función → int z = (x * y) return z; Declaración de retorno
}
Figura 1.5 Los componentes de una función deben declararse antes de usar la función. La declaración o prototipo de función le dice al compilador la cantidad de parámetros que toma la función, el tipo de datos de cada parámetro y el tipo de datos del valor de retorno de la función. El listado 1.4 ilustra este concepto. El nuevo término prototipo es una declaración de cómo se verá una característica o una descripción de su definición.
Listado 1.4 uttiply.CPP
1: #include lt;iostream.h gt
2: #include lt;conio.h gt
3: #pragma hdrstop
4:
5: int multiplicar(int, int)
6: void show result(int);
7:
8: int main(int argc, char * * argv);
9: {
10: int x , y, resultado
11: cout lt; ltend 1 lt; lt" Ingrese el primer valor: "; 13: cout lt lt" Ingrese el segundo valor: ";
14: CIN gt;
15: resultado = multiplicación (x, y);
16: showResult(resultado);
17: cout lt ltend 1 lt; ltend 1 lt"Presione cualquier tecla para continuar...";
18: getch ();
19: Devuelve 0
20: }
21:
22: Multiplicación de enteros (entero x, entero y )
23: {
24: Devuelve x * y
25: }
26:
< p; >27: void showResult(integer)28: {
29: cout lt; El resultado es: "lt ltres lt ltend 1;
30: }
Las líneas 11 a 14 del programa utilizan el flujo de entrada estándar cin para obtener dos números del usuario. La línea 15 llama a la función multiplicar() para multiplicar los dos números. La línea 16 llama a showResult(). La función muestra el resultado de la multiplicación. Tenga en cuenta que las declaraciones prototipo de las funciones multiplicar() y mostrarResultado() en las líneas 5 y 6 del programa principal solo enumeran el tipo de retorno, el nombre de la función y el tipo de datos de los parámetros de la función. Requisito básico para la declaración de función. El prototipo de función también puede incluir el nombre de la variable utilizada para registrar la función. Por ejemplo, la declaración de función de la función multiplicar() se puede escribir así: int multiplicar (int primer número, int segundo número). ; La función multiplicar() tiene un papel obvio aquí, pero el código se puede documentar mediante descripciones o el código mismo. Tenga en cuenta que la función multiplicar() en el Listado 1.4 (líneas 22 a 25) se define fuera de la sección de código de la definición de la función principal (líneas 8 a 20). La definición de función contiene el cuerpo de la función real. El cuerpo de la función aquí es el más básico, porque la función simplemente multiplica los dos parámetros de la función y devuelve el resultado. La función multiplicar() del Listado 1.4 se puede llamar de diversas formas y se le puede pasar una variable, un número directo o el resultado de otra llamada a función:
resultado = multiplicar(2, 5) ; // pasa un valor literal
resultado = multiplicar(x, y) // Pasa la variable
showResult(multiplicar(x, y)); p> //El valor de retorno se utiliza como
//Parámetros de otra función
Multiplication(x, y); //Ignorar el valor de retorno
Por favor tenga en cuenta que en el ejemplo anterior no se utilizó el valor de retorno.
En este ejemplo, no tiene sentido llamar a la función multiplicar() sin devolver un valor, pero los valores devueltos a menudo se ignoran en la programación en C. Hay muchas funciones que primero realizan una acción específica y luego devuelven un valor numérico que indica el estado de la llamada a la función. A veces, el valor de retorno es irrelevante para el programa y puede ignorarse. Si ignora el valor de retorno, simplemente renunciará al valor y no habrá ningún otro daño. Por ejemplo, en el programa de ejemplo anterior, se ignora el valor de retorno de la función getch() (que devuelve el valor ASCII de la tecla presionada). Una función puede llamar a otras funciones, incluso a sí misma. Esta llamada se llama recursividad. Este es un tema relativamente complicado en la programación en C y no lo abordaremos aquí. El nuevo término recursividad significa que una función llama a su propio proceso.