La diferencia entre expresiones y oraciones.

Una expresión es una combinación de constantes, variables y operadores que evalúa y devuelve un valor de resultado. El símbolo final de una expresión es un punto y coma (;). Todas las declaraciones y declaraciones en el lenguaje C terminan con un punto y coma. Las declaraciones antes del punto y coma están incompletas. ¿Cuál es la diferencia entre declaración y expresión? Ven conmigo a verlo.

1. Expresión

La expresión en sí no hace nada excepto devolver el valor del resultado. Si el programa no hace nada con el valor del resultado devuelto, el valor del resultado devuelto no es válido. Las expresiones tienen dos funciones, una se coloca en el lado derecho de la declaración de asignación y la otra se usa como parámetro de la función (se presentará más adelante).

Se escribe el valor del resultado devuelto por la expresión. El tipo de datos implícito en una expresión depende de los tipos de variables y constantes que componen la expresión. Por lo tanto, el valor de retorno de la expresión puede ser un número entero de cierto tamaño, un tipo de punto flotante de cierta precisión o un tipo de puntero.

También está el tema de la conversión de tipos, que mencioné antes cuando hablé de aritmética de enteros. El principio de la conversión de tipos es convertir automáticamente de un nivel bajo a un nivel alto (a menos que se controle artificialmente). La secuencia de conversión calculada es básicamente la siguiente:

Tipo de carácter ->; entero - gt; tipo de punto flotante ->; >

Es decir, cuando se operan juntos un tipo de carácter y un tipo de punto flotante, el resultado es un tipo de punto flotante; En la operación participa un tipo de doble precisión, la respuesta es un tipo de doble precisión.

El reparto es así. Encierre el especificador de tipo entre paréntesis y convierta la siguiente variable al tipo requerido. Por ejemplo:

(int)a;

(float)b;

La primera fórmula es convertir a en un número entero. parte, deséchela.

La segunda fórmula consiste en convertir b en un tipo de punto flotante, seguido de 0 si es un número entero.

El valor de retorno de cada expresión tiene características lógicas. La expresión devuelve verdadero si el valor de retorno es distinto de cero; falso en caso contrario. Esta característica lógica se puede utilizar en declaraciones de control de flujo de programas.

En ocasiones la expresión no participa en la operación, por ejemplo:

If (a||b)

5 gt3?a:b;

Cuando A es verdadera, B no participa en la operación, porque no importa lo que haga B, la condición siempre es verdadera.

Segunda oración

(1), declaración de transferencia

De hecho, este tema ya se ha discutido cuando se habla de operadores de asignación.

Cantidad = 1 2;

Total = contador/3 5

Área = alto * ancho

Quizás lo encuentres; Estas declaraciones de asignación son muy similares a las ecuaciones algebraicas. En algunos casos sí los entendemos así, pero otras veces son diferentes. Mira lo siguiente:

Num = Num 1;

Esto obviamente no es una ecuación.

(2) Declaraciones separadas por comas

Como la mayoría de los lenguajes, el lenguaje C permite una lista de identificadores separados por comas en la declaración de declaración para indicar que estos operadores son la misma variable. tipo. Por ejemplo:

Área flotante, alto, ancho;

Pero a algunos programadores les gusta escribir identificadores en diferentes líneas. Por ejemplo:

Área flotante,

Alto,

Ancho

Al menos una ventaja de este método de escritura es que puedes; Agregue un comentario después de cada identificador.

Al declarar una variable, también puede asignar directamente un valor a la variable. Esto se llama inicialización de variable.

Por ejemplo: int a;

a = 3;

Equivalente a:

int a = 3;

También inicializamos algunas variables, otras no, por ejemplo:

int a=3, b, c = 5;

Al inicializar, la expresión de inicialización puede ser arbitraria ( Existe una diferencia entre variables globales y variables estáticas).

Dado que el operador de coma opera de izquierda a derecha, ¿qué tal esto?

int a=3, b=a, c = 5;

(3), informe estándar de entrada y salida

La biblioteca estándar Turbo C 2.0 proporciona dos Las funciones de entrada y salida de formato de la consola scanf(); y printf(); estas dos funciones pueden leer y escribir datos en varios formatos en los dispositivos de entrada y salida estándar. La función scanf() se usa para leer datos desde el dispositivo de entrada estándar (teclado) y la función printf() se usa para escribir datos en el dispositivo de salida estándar (pantalla). El uso de estas dos funciones se describe en detalle a continuación.

1. Declaración de entrada estándar

La función scanf() es una función de entrada formateada que lee información de entrada desde el dispositivo de entrada estándar (teclado). Su formato de llamada es:

scanf(lt; cadena de formato>;, lt tabla de direcciones>);

La cadena de formato incluye los siguientes tres tipos diferentes de caracteres

;

(1). Caracteres de espacio en blanco: los caracteres de espacio en blanco hacen que la función scanf() ignore uno o más caracteres de espacio en blanco en la entrada durante la operación de lectura.

(2) Caracteres que no son espacios en blanco: los caracteres que no son espacios en blanco harán que la función scanf() rechace caracteres que sean iguales a los caracteres que no sean espacios en blanco al leer.

(3). Especificador de formato: comienza con, seguido de uno o varios caracteres especificados, que se utilizan para determinar el formato del contenido de salida.

Turbo C 2.0 proporciona los siguientes especificadores de formato de entrada:

━━━━━━━━━━━━━━━━━━━━━━━━━ ━

Acción simbólica

───────────────────────────

d enteros decimales con signo

u enteros decimales sin signo

f números de coma flotante

s cadenas

c carácter único

El valor del puntero p

x, X entero hexadecimal sin signo.

o Entero octal sin signo.

━━━━━━━━━━━━━━━━━━━━━━━━━━

La tabla de direcciones contiene todas las variables que necesitan se lee en La dirección, no en la variable en sí, el símbolo de la dirección es ' '. La dirección de cada variable es la misma e independiente.

Por ejemplo:

scanf(d, d, ampi ampj);

En el ejemplo anterior, la función scanf() primero lee un número entero y luego las comas ingresadas a continuación se eliminan y finalmente se lee otro número entero. Si no se encuentra el carácter, la función scanf() finalizará. Si el separador entre parámetros es un espacio, deberá ingresar uno o más espacios entre los parámetros.

Descripción:

(a) Para cada variable, ¿cuál es el descriptor de tipo? Introduzca el descriptor de formato para el tipo apropiado. De lo contrario, se producirán errores en el programa o los datos de entrada diferirán de los valores ideales.

(b) Para matrices de cadenas o variables de puntero de cadena, dado que el nombre de la variable del puntero scanf en sí es la dirección, no es necesario agregar un operador;

char *p, cadena[20];

scanf(s, p);

scanf(s, cadena

El conocimiento específico de cadenas y punteros se presentará más adelante.

(3). Se puede insertar un número entero entre los especificadores de formato en una cadena de formato que indica el número máximo de dígitos en cualquier operación de lectura.

Si en el ejemplo anterior se especifica que solo se pueden ingresar 10 caracteres en el puntero de cadena p, entonces la primera instrucción de la función scanf() se convierte en:

scanf(10s, p );

Cuando el programa se está ejecutando, una vez que el número de caracteres ingresados ​​sea mayor que 10, p no continuará leyendo.

Surgirá un problema al utilizar la función scanf(), como se muestra en el siguiente ejemplo:

Cuando se utilizan múltiples funciones scanf() para ingresar continuamente múltiples variables de caracteres, por ejemplo ejemplo:

char c1, C2

scanf(c, ampc 1);

scanf(c, ampC2); Ejecute el programa, ingrese un carácter A y presione la tecla Enter (debe presionar la tecla Enter para completar la entrada), ejecute scanf (c,; C1), asigne a la variable c1, pero el retorno de carro permanece en el buffer y ejecuta la instrucción de entrada scanf (c, amp; c2), la variable C2 genera una línea en blanco. Si ingresa AB y presiona la tecla Intro, el resultado real almacenado en la variable es c1 para A y c2 para B.

Para resolver el problema anterior, puede agregar la función de limpieza fflush( ); (El uso de esta función se describe al final de esta sección).

(4). Agregue "*" entre los descriptores de formato para omitir la entrada, por ejemplo:

scanf(3*d, ampa);

Cuando se ingresa 12345, los primeros tres caracteres se omiten Aprobado y ignorado, el valor final de la variable A es 45.

2. Declaración de salida estándar

La función printf() es una función de formato de impresión, generalmente utilizada para enviar información al dispositivo de salida estándar en un formato específico. Esta función se utiliza a menudo al escribir programas. El formato de llamada de la función printf() es:

printf(lt; cadena de formato>;, lista de parámetros lt>);

La cadena de formato incluye dos partes: una parte es Caracteres normales,

Estos caracteres se generarán tal como están; la otra parte son los caracteres especificados de formato, comenzando desde el principio, seguidos de uno o más caracteres especificados, que se utilizan para determinar el formato del contenido de salida.

La lista de parámetros es una serie de parámetros que deben generarse. El número debe ser tanto como el número de parámetros de salida descritos en la cadena de formato, y los parámetros se usan individualmente y corresponden uno a uno. , de lo contrario se producirán errores inesperados.

También hay dos especificadores de formato para las declaraciones de salida.

Acción simbólica

La forma exponencial de e de un número de punto flotante

g selecciona automáticamente la representación adecuada.

Descripción:

(1). Puede insertar un número entre y letras para indicar el ancho máximo del campo.

Por ejemplo, 3d significa generar un número entero de 3 dígitos, lo cual no es suficiente para una justificación derecha de 3 dígitos.

9.2f representa un número de punto flotante con un ancho de campo de salida de 9, donde el lugar decimal es 2, el lugar entero es 6 y el punto decimal ocupa un lugar, lo que no es suficiente para alinear a la derecha 9 bits.

8s significa generar una cadena de 8 caracteres, lo cual no es suficiente para una alineación correcta.

Si la longitud de la cadena o el número de dígitos enteros excede el ancho del campo especificado, se generará de acuerdo con su longitud real. Pero para los números de coma flotante, si el número de dígitos en la parte entera excede el ancho de bits entero especificado, la salida se basará en los bits enteros reales si el número de decimales excede el ancho de los dígitos decimales en la descripción; la salida se redondeará según el ancho de la descripción.

Además, si desea agregar algunos ceros antes del valor de salida, debe agregar un cero antes del elemento de ancho del campo.

Por ejemplo, 04d significa que al generar un valor menor a 4 dígitos, se agregará 0 delante para que su ancho total sea de 4 dígitos.

Si se utiliza un número de punto flotante para representar el formato de salida de caracteres o números enteros, el número después del punto decimal representa el ancho máximo y el número antes del punto decimal representa el ancho mínimo.

Por ejemplo, 6,9s significa mostrar una cadena cuya longitud no sea inferior a 6 ni superior a 9. Si es mayor que 9, se eliminará el contenido después del noveno carácter.

(2). Puede agregar una letra L minúscula entre las letras y para indicar que la salida es un número largo.

Por ejemplo, ld significa generar un número entero largo.

lf significa generar números de punto flotante doble.

(3) La salida se puede controlar para que esté alineada a la izquierda o a la derecha, es decir, agregar un signo - entre las letras y indica que la salida está alineada a la izquierda; de lo contrario, está alineada a la derecha. alineado.

Por ejemplo, -7d significa que el entero de 7 bits de salida está justificado a la izquierda.

-10s significa que la salida de 10 caracteres está justificada a la izquierda.

Algunos caracteres especiales designados (consulte los caracteres de escape mencionados anteriormente)

━━━━━━━━━━━━━━━━━━━━ ━━ ━━━━

Funciones de los personajes

────────────────────────────

\nSalto de línea

\fBorrar pantalla y avance de página

\rIntro.

\tCarácter de tabulación

\xhh significa que el código ASCII está representado por 16.

Supongo que te gusta

1. Frases más poéticas y emocionales

2 Frases más significativas para expresar tristeza

3. para expresar una cooperación exitosa.

4. El uso del "o" lógico en lenguaje C

5. Expresar desprecio por todo

6. >7. Cinco palabras comunes que expresan la relación entre oraciones