Galería de mapas mentales Lenguaje c
Este es un mapa mental sobre el lenguaje C, y sus principales contenidos incluyen: punteros, funciones, matrices, bucles, declaraciones de conmutadores, declaraciones, operadores lógicos y expresiones lógicas, operadores relacionales y expresiones relacionales, programas C simples, tipos de datos, operadores y expresiones, vistas excesivas y preguntas de examen.
Editado a las 2025-03-01 10:32:53,Rumi: 10 dimensiones del despertar espiritual. Cuando dejes de buscarte, encontrarás todo el universo porque lo que estás buscando también te está buscando. Cualquier cosa que haga perseverar todos los días puede abrir una puerta a las profundidades de su espíritu. En silencio, me metí en el reino secreto, y disfruté todo para observar la magia que me rodea y no hice ningún ruido. ¿Por qué te gusta gatear cuando naces con alas? El alma tiene sus propios oídos y puede escuchar cosas que la mente no puede entender. Busque hacia adentro para la respuesta a todo, todo en el universo está en ti. Los amantes no terminan reuniéndose en algún lugar, y no hay separación en este mundo. Una herida es donde la luz entra en tu corazón.
¡La insuficiencia cardíaca crónica no es solo un problema de la velocidad de la frecuencia cardíaca! Es causado por la disminución de la contracción miocárdica y la función diastólica, lo que conduce al gasto cardíaco insuficiente, lo que a su vez causa congestión en la circulación pulmonar y la congestión en la circulación sistémica. Desde causas, inducción a mecanismos de compensación, los procesos fisiopatológicos de insuficiencia cardíaca son complejos y diversos. Al controlar el edema, reducir el frente y la poscarga del corazón, mejorar la función de comodidad cardíaca y prevenir y tratar causas básicas, podemos responder efectivamente a este desafío. Solo al comprender los mecanismos y las manifestaciones clínicas de la insuficiencia cardíaca y el dominio de las estrategias de prevención y tratamiento podemos proteger mejor la salud del corazón.
La lesión por isquemia-reperfusión es un fenómeno que la función celular y los trastornos metabólicos y el daño estructural empeorarán después de que los órganos o tejidos restauren el suministro de sangre. Sus principales mecanismos incluyen una mayor generación de radicales libres, sobrecarga de calcio y el papel de los leucocitos microvasculares y. El corazón y el cerebro son órganos dañados comunes, manifestados como cambios en el metabolismo del miocardio y los cambios ultraestructurales, disminución de la función cardíaca, etc. Las medidas de prevención y control incluyen eliminar los radicales libres, reducir la sobrecarga de calcio, mejorar el metabolismo y controlar las condiciones de reperfusión, como baja sodio, baja temperatura, baja presión, etc. Comprender estos mecanismos puede ayudar a desarrollar opciones de tratamiento efectivas y aliviar las lesiones isquémicas.
Rumi: 10 dimensiones del despertar espiritual. Cuando dejes de buscarte, encontrarás todo el universo porque lo que estás buscando también te está buscando. Cualquier cosa que haga perseverar todos los días puede abrir una puerta a las profundidades de su espíritu. En silencio, me metí en el reino secreto, y disfruté todo para observar la magia que me rodea y no hice ningún ruido. ¿Por qué te gusta gatear cuando naces con alas? El alma tiene sus propios oídos y puede escuchar cosas que la mente no puede entender. Busque hacia adentro para la respuesta a todo, todo en el universo está en ti. Los amantes no terminan reuniéndose en algún lugar, y no hay separación en este mundo. Una herida es donde la luz entra en tu corazón.
¡La insuficiencia cardíaca crónica no es solo un problema de la velocidad de la frecuencia cardíaca! Es causado por la disminución de la contracción miocárdica y la función diastólica, lo que conduce al gasto cardíaco insuficiente, lo que a su vez causa congestión en la circulación pulmonar y la congestión en la circulación sistémica. Desde causas, inducción a mecanismos de compensación, los procesos fisiopatológicos de insuficiencia cardíaca son complejos y diversos. Al controlar el edema, reducir el frente y la poscarga del corazón, mejorar la función de comodidad cardíaca y prevenir y tratar causas básicas, podemos responder efectivamente a este desafío. Solo al comprender los mecanismos y las manifestaciones clínicas de la insuficiencia cardíaca y el dominio de las estrategias de prevención y tratamiento podemos proteger mejor la salud del corazón.
La lesión por isquemia-reperfusión es un fenómeno que la función celular y los trastornos metabólicos y el daño estructural empeorarán después de que los órganos o tejidos restauren el suministro de sangre. Sus principales mecanismos incluyen una mayor generación de radicales libres, sobrecarga de calcio y el papel de los leucocitos microvasculares y. El corazón y el cerebro son órganos dañados comunes, manifestados como cambios en el metabolismo del miocardio y los cambios ultraestructurales, disminución de la función cardíaca, etc. Las medidas de prevención y control incluyen eliminar los radicales libres, reducir la sobrecarga de calcio, mejorar el metabolismo y controlar las condiciones de reperfusión, como baja sodio, baja temperatura, baja presión, etc. Comprender estos mecanismos puede ayudar a desarrollar opciones de tratamiento efectivas y aliviar las lesiones isquémicas.
Lenguaje c
Tipo de pregunta del examen
Pregunta de elección única
Cuestión del juicio
Complete los espacios en blanco del programa
Análisis de programas
Preguntas de programación
Descripción general
Desarrollo informático
Desarrollo de lenguajes de programación
El desarrollo del lenguaje C
Características del lenguaje C
Lenguaje intermedio
Acceso al hardware
Lenguaje programador
Caracteres de transporte ricos, alta calidad de código, buena portabilidad
Lenguaje de diseño modular
Estructura del programa de idiomas C
ilustrar
La composición del programa c
La función consta de dos partes
Ejecución del programa
Declaración
Estilo de programación
Alineación general de la estructura
Definición de identificador, comprenda el significado de
Comentario
Pasos para ir a la máquina
editar
Entrada del programa de origen
Modificar el programa fuente
ahorrar
Compilación
Verifique los errores de sintaxis
Generar el programa objetivo .OBJ
Enlace
Funciones de la biblioteca
implementar
.exe
Tipos de datos, operadores y expresiones
Programa = Estructura de datos Algoritmo Método de programación Language y entorno
Tipo de datos
Tipo básico
Entero
Tipo de personaje
Tipo real
Tipo de construcción
Formación
Estructura
Cuerpo compartido
Tipo de enumeración
Tipo de puntero
tipo vacío
Tipo de función
Constantes y variables
constante
El monto cuyo valor no cambiará durante la ejecución del programa
Constantes directas (constantes literal)
Constantes de símbolo
variable
La cantidad cuyo valor se puede cambiar
La variable tiene un nombre
Asignación de unidades de almacenamiento en el momento de la compilación
Identificador
Un identificador es un nombre
Clasificación
Palabras clave
Identificadores predefinidos
printf
escaneo
Identificador de usuario
Hecho de subrayado alfanumérico
El comienzo solo se puede hacer con letras o subrayos
No se puede repetir con palabras reservadas
distingue mayúsculas y minúsculas
Presta atención a la longitud
Definición de variables
Definir primero y luego usar
El formato definido
Tipo Nombre Nombre de la variable 1, Nombre de la variable 2;
Ubicación
Variables globales
Fuera de la función
Variables locales
Generalmente al comienzo de la función
Comenzando con la declaración compuesta
Tipo de datos
Datos enteros
Constantes enteros
Decimal
123, -456
Octal
Comience con 0 (cero)
011 =》 9
-017 =》-15
018, 019 =》 Incorrecto
hexadecimal
Empiece con 0x
Agregar L o L (minúscula) para considerarse como constante de enteros largos constantes
0l
Agregar u o u luego, no está firmado sin firmar
123U
Variables enteras
int a;
VC 6.0 toma 4 bytes en la memoria
Clasificación
Modificador
firmado
no firmado
Corto
2 bytes
largo
4 bytes
Datos reales
Real constante
Los números reales también se llaman números de puntos flotantes
Forma de expresión
Decimal
Que consiste en números y puntos decimales
0.123 .123 123.
Formulario de índice
123E3 o 123E3 =》 123*10^3
Nota: Debe haber un número antes y después de E, y el exponente después de E es un entero
Por ejemplo: E3, 2.13e3.5, .e, E
Variables reales
Precisión única
flotar
4 bytes
Doble precisión
doble
8 bytes
15-16
Precisión larga y doble
doble
Datos de carácter
Constantes de carácter
Un personaje encerrado en citas individuales
Por ejemplo: 'a', 'a' son diferentes '', dos citas individuales consecutivas son incorrectas
Personajes de escape
Los caracteres de formas especiales comienzan con "\"
'\ n', '\ t',
'\ ddd' caracteres ASCII correspondientes a 1-3 dígitos octal
char ch = '\ 101';
‘\ Xhh '1-2 bit Hexadecimal
char a = '\ x61';
Variables de personajes
Se usa para almacenar constantes de personajes, solo una se puede almacenar, contabilizando 1 byte
Forma de definición
Variable de caracteres Char 1, Variable de caracteres 2;
char c1, c2;
La forma de almacenamiento de datos de caracteres en la memoria
Almacene el código ASCII correspondiente a este carácter
Similar a los enteros, se pueden usar como enteros
0-127 El bit más alto es 0, y la salida es positiva con %d.
Constantes de cuerda
Secuencia de caracteres encerrados en citas dobles
Nota: La diferencia entre "A" y "A"
Dos consecutivos "" son correctos
la diferencia
Representación diferente
Citas dobles
Citas individuales "
Subtema 3
Diferentes definiciones
Char Ch;
Matriz de personajes Almacenamiento de cuerdas
Cita
Los dos no pueden ser citados el uno por el otro
Almacenar en la memoria
1 byte en la memoria
Cadena: terminó con el número '\ 0' de bytes ocupados en la memoria = Longitud del carácter real 1 Por ejemplo: "China" tiene 5 caracteres, representando 6 bytes en la memoria
Características
Solo constantes de cadena y sin variables de cadena
Una cadena termina con '\ 0', sin '\ 0', no se puede llamar una cadena.
4 ceros
0
Número 0, acumulador, contador, subíndice de matriz
'\ 0'
El carácter final de la cadena, el valor del código ASCII es 0, y los caracteres no se pueden mostrar.
NULO
Generalmente utilizado para la asignación de puntero, el puntero está vacío
"0"
Carácter 0, valor ASCII 48
char-char =》 int
'7' - '0' => 7
char int => char
// conversión de casos Ch = 'B';
char char sin sentido
Asignación variable
Asignar un valor inicial a una variable cuando se define se llama inicialización
int a = 10;
int a;
int a, b, c = 10;
int a, b, c;
int a = b = c = 10;
int a, b, c;
Conozca el radio para encontrar el perímetro, el área y el volumen de la pelota
Constantes de símbolo
definición
#Define Pi 3.14
Reemplace 3.14 con Pi
Características
Escritura simplificada, fácil de leer
Fácil de modificar
ilustrar
En general, variables mayúsculas y minúsculas
Alcance
Empiece con #define
Termine en #undef o final de archivo
El valor de las constantes de símbolos no se puede modificar dentro del alcance
const doble pi = 3.14;
Operaciones mixtas de varios datos numéricos
Operaciones mixtas
Doble alto
← Flotar
↑ largo
↑ unsigned
Bajo int
← Char, corto
Las flechas horizontales indican las conversiones necesarias
Por ejemplo, dos operaciones variables de tipo flotante deben convertirse en doble y luego operación, y el resultado es de tipo doble
Las flechas verticales indican la dirección de conversión
INT y operaciones dobles, convertir IT directamente en operaciones dobles y dobles, y el resultado es doble
Resultados del cálculo
El tipo de operación más alto involucrado
práctica
ch/i f*d - (f i)
Operadores aritméticos y expresiones aritméticas
Características del operador
Operadores aritméticos
composición
- * / % -
%de operador del módulo
El objeto de operación solo puede ser entero
El resultado es el mismo que el símbolo del dividendo
Solicitud: Desmontaje
n = 123 Saqué solo, diez y cientos respectivamente
Single Dígito N Diez dígitos N/10 N 0/10 Cientos de dígitos N/100
Dividido por 10, rebaja
Encontrar más de 10, obtener una sola posición
Prioridad y nódulo del operador
La evaluación primero depende de la prioridad
() Elemento único
La prioridad es la misma, dependiendo de la combinación
Combinación de la izquierda: se ajusta a las reglas de operación aritmética, de izquierda a derecha
Combinación correcta:
Monografía
Operador de asignación
Operador condicional
práctica
El siguiente conjunto de operadores se organiza de alto a bajo _____
Conversión de tipo de reparto (conversión de visualización)
5.7%3 =》?
Formato (nombre de tipo) (expresión)
Por ejemplo: (int) 5.7%3
(doble) x y
Convertir el resultado de x y en doble?
(doble) (x y)
Convertir x para duplicar y agregarlo a y
usar
Parámetros de función
Aviso
Conversión insegura
Alta precisión -》 Baja precisión, intercepción directa (no redondeo)
Baja precisión-》 Alta precisión, suplemento 0
Temporada de una sola vez
(int) x y
Después de convertir el valor x a int, agrégalo con y, el valor de x en sí no se cambia
doble x = 5.7 (int) x 3.2 Resultado: 5 3.2 = 8.2 x es 5.7 sin cambios
Operador de autocuración y autodeciente
Operador monológico, -
Objeto de operación: solo se puede usar para variables, y también es una operación de asignación en sí misma
3, (a b) mal
i = 3;
j = i;
Operador, a la derecha, primero use el valor de I, y luego completa el funcionamiento de agregar 1
j = i;
i = i 1;
j = i;
Operador a la izquierda, primero complete la operación de agregar 1 a I y luego asigne el valor de I (después de 1) a J
i = i 1;
j = i;
práctica
int a = 3;
int a = 3;
Aviso
ANINGURA DERECHA ANINA, de derecha a izquierda
int a = 3;
yo; y yo;
Sin diferencia, completo i = i 1;
Operadores de asignación y expresiones de asignación
Símbolo de asignación =
Formato: Nombre variable = Expression
Función: asigne el valor de la expresión correcta a la variable a la izquierda
Si a = 10 asigna 10 a A, realice una operación de asignación (coloque 10 en una unidad de memoria de a)
Aviso
ANULPIA: ANDIMIENTO RETIRO
El lado izquierdo debe ser un invariante, no una constante o una expresión
d = a b = c 10;
Asignaciones mutuas entre diferentes tipos de datos
El tipo real (flotante, doble) se da al tipo entero (int), que descarta la parte decimal, no redondeado, necesita redondear 0.5
int =》 float, doble, el valor permanece sin cambios, almacenado en forma de punto flotante, y la cola se complementa con 0
char =》 int, char1 bytes, int 4 bytes, colocado en los 8 bits inferiores
Sin firmar y sin firmar del mismo tipo que el uno del otro
Double =》 Float intercepta los primeros 7 números válidos de doble para flotar
práctica
Mantenga el número de punto flotante N y el tercer dígito redondeado.
Operador compuesto (operador de asignación de caracteres de aritmo)
Prioridad
Bondability (derecha)
constituir
=, -=, *=, & =, ^= ,! = (relación)
Aviso
x = 3;
x = x 3;
x *= y 3;
x = x *(y 3)
Hay varios elementos en el lado derecho del número de asignación, que es equivalente a los soportes.
práctica
a = 3;
Expresión de asignación
La tarea es un operador
Combinación correcta
La expresión tiene un valor
Expresiones de coma y operadores de coma
Formato: expresión 1, expresión 2
Proceso de resolución
Coma, combinación izquierda
La prioridad más baja
Primero resuelva la expresión 1, ..., use el valor de la expresión más a la derecha como el valor de toda la expresión de coma
práctica
x = (y = 3, 4*5)
x valor 20
x = y = 3, 4*5
x valor 3, el valor de toda la expresión de coma es 20
usar
Concatenación de expresión
para (i = 1, j = 100; i <j; i, j--);
Delimitador
int x, y;
Encuentra el operador de longitud
sizeof (variable | constante | tipo)
Encuentre el número de bytes ocupados por este tipo en la memoria
malloc (sizeof (enlace struct))
Programa C simple
Descripción general de las declaraciones C
Declaraciones de control
Declaración de llamadas de función
Función (lista de tabla de parámetros reales);
scanf ("%d", a);
Declaración de expresión
Declaración de aborto
Declaraciones compuestas
Encerrado en {}
Aviso
En gramática es equivalente a una declaración, en su conjunto
La parte de inicio de la declaración compuesta puede definir variables
Después de la declaración compuesta, no es necesario agregarla;
Tres estructuras básicas del programa
Estructura secuencial
Estructura de bucle (repetir)
Declaración de tarea
declaración;
Diferencia de las expresiones
Las expresiones tienen valores
Entrada/salida de datos
No hay declaraciones de entrada y salida, solo funciones de entrada y salida
archivo de encabezado stdio.h
Archivo de encabezado de entrada y salida estándar
Producción
Función de salida de caracteres de Putchar (CH)
Emitir un carácter a la terminal
CH puede ser una expresión Char, int constante, variable y
printf (control de formato, columna de tabla de salida)
El control del formato es una cadena encerrada en cotizaciones dobles
Descripción del formato
% y caracteres de formato % D
Personajes normales
Salida tal cual, coma espacial
Formatear caracteres
Diferentes tipos de datos, diferentes caracteres de formato
D Formato
Integer decimal de salida
%d salidas según la longitud real
%MD, M Ancho de campo de salida, si el número real de dígitos es menor que m, llene el espacio a la izquierda (alineado a la derecha) si el número real de dígitos es mayor que m, rompa
%-md - (signo negativo) Alineación, alineación izquierda (llenado de espacio derecho)
%ld largo entero, %hd short entero
O Formato
Salida en forma octal
Los bits de signo se emiten juntos
X formato
Salida en forma hexadecimal
%lx
U formato
Salida sin firmar, decimal
Formato C
Se usa para emitir un personaje
La memoria del carácter ocupa un byte, y el código ASCII se almacena.
formato S
Se usa para emitir una cadena
%s hasta que nos encontremos '\ 0'
%EM
%-EM
%m.ns
La salida ocupa m columnas y toma los primeros n caracteres de la cadena
%-m.ns
F formato
Se usa para emitir números reales, flotadores y dobles, salida en forma decimal
%F
Todas las piezas enteras son de salida y se emiten 6 decimales.
Aviso
No todos los valores son válidos
%m.nf
La salida ocupa m columna, donde n decimales lugares
Aviso
Un punto decimal también es
Al tomar n bits, el primer corte es redondeado
%.0f no produce una parte fraccional
%-m.nf
formato electrónico
Salir números reales exponencialmente
%mi
El sistema especifica 6 decimales, la parte exponente ocupa 3 lugares, cuenta e un lugar y cuentas para un lugar
%M.Ne
formato g
Se utiliza para emitir números reales, seleccione automáticamente el ancho más corto en formato F o E
Hacer que el número de salida sea un signo predecesor positivo y negativo
printf ("% 5d% d \ n", a, b);
Aviso
Personajes minúsculas excepto X, E, G
Tipo de datos Matrices de formato caracteres
tipo
Número de
Cadenas de control de formato que pueden contener caracteres escapados
d, o, u, x, s, c, f, e, g, después del % es el carácter de formato, y los otros se producen como está
Salida % y use %%
Diferentes sistemas varían
ingresar
getchar ()
Entrada de personaje, ingrese un personaje desde el terminal
getchar () no tiene argumento
scanf (control de formato, columna de tabla de direcciones)
El control del formato es el mismo que Printf
Formatear caracteres
Los caracteres normales se ingresan como es
Dirección de la columna de la tabla, dirección de la variable, primera dirección de la cadena
Nota: no se puede usar %d %d, espacios, teclas de pestaña y retorno de carro, comas
Descripción del formato
Corto usa %HD, doble usa %LF o %LE para ingresar
Para Unsigned, puede usar %U, %D, %O y %X para ingresarlo.
Puede especificar el ancho de dominio de los datos de entrada y el sistema lo intercepta automáticamente.
% seguido de *, lo que indica que se omite el número especificado de columnas
Se puede especificar el número de columnas, pero la precisión no se puede especificar.
scanf ("%7.2f", & f);
Aviso
función de scanf, se debe dar la dirección de la variable
Los caracteres normales se ingresan como es
Cuando %C ingresa caracteres, espacios y caracteres escapados son entradas válidas.
Al ingresar datos, se considera que la siguiente situación está finalizada
Espacio de encuentro, tecla Tab, Enter
Encontrado con ancho de dominio especificado =
Aportación ilegal
Operadores relacionales y expresiones relacionales
Las relaciones son en realidad más operativas
Operadores relacionales
>,> =, <, <=
! =, ==
Prioridad
Debajo de la aritmética
Vínculo
Combinación izquierda
Expresiones relacionales
Vincular cualquier expresión legal
Valor: es un valor lógico
Verdadero está representado por 1, Fake está representado por 0
práctica
a = 20;
El valor de A = 3;
Aviso
Los dos lados son inconsistentes, como INT y operaciones dobles, el sistema lo convierte automáticamente.
Igualdad calificada
int a == b?
Fabs (A-B) <1e-6
Operadores lógicos y expresiones lógicas
Operadores lógicos
&&, ||,!
Prioridad
! Operador monológico
Por debajo de la relación && más alto que ||
Expresiones lógicas
Valor: Valor lógico, Verdadero está representado por 1, False está representado por 0
Objetos que participan en la operación, no cero representa verdadero, y cero representa falso
Aviso
No todas las operaciones lógicas se realizan durante el proceso de solución
Fenómeno de cortocircuito
práctica
Declaración if
Tres formas de declaración if
SUPER SUPERIOR IF DECLARACIÓN
Formato: if (expresión) instrucción;
Expresión: cualquier expresión legal
if (3);
Declaración: puede ser una sola declaración, una declaración vacía o una declaración compuesta
práctica
Emitir dos enteros de pequeño a grande
Declaración de doble rama si
Formato: if (expresión) Declaración 1;
Nota: el otro se alinea con IF
práctica
Incluso n es una verdadera expresión
n%2 == 0
n/2*2 == n
! (n%2)
CH es una carta en inglés
ch> = 'a' && ch <= 'z' ||
Juez Año salto
Se puede dividir por 4, no se puede dividir por 100, se puede dividir por 4, se puede dividir por 400, igual que el anterior
año%4 == 0 && año%100! = 0 ||%400 == 0
Año%4 == 0 && año%100 ||
Los enteros A y B son el mismo número
a*b> 0
Tipo de escalera si la declaración
Formato: if (expresión 1) Declaración 1;
if (x <0) y = -1;
Bonas anidadas IF Declaraciones
if (x> = 0) if (x> 0) y = 1;
NOTA: Si el par y de lo contrario, comenzando desde la capa más interna, de lo contrario, siempre se usa con el más cercano, no apartado si está en él
Solución:
La declaración IF incrustada también contiene más, y el número de IF es tantos como más
Use aparatos ortopédicos rizados para limitar el alcance de la instrucción incrustada si
práctica
Operador condicional
constituir
? y:
Prioridad: aritmética, relación, lógica, condición, asignación, coma
ANULPIA: ANDIMIENTO RETIRO
Expresión condicional
Expresión 1? Expresión 2: expresión 3
Orden de evaluación: Primero resuelva la expresión 1, la solución verdadera 2, la solución falsa 3 y use este valor como el valor de toda la expresión
Las expresiones 2 y 3 solo resolverán uno
ilustrar
ANULPIA: ANDIMIENTO RETIRO
int a = 1, b = 2, c = 3, d = 4;
tipo
Los tipos de expresiones 1, 2 y 3 pueden ser diferentes
A> B? 1.5: 2
Valor de tipo alto
Relación con la declaración IF
Cuando a la verdadera y falsa de la instrucción if se asigna un valor a la misma variable
if (a> b) max = a;
max = a> b? A: B;
Instrucción de cambio
Manejar múltiples ramhes
Formato: switch (expresión) {Caso de caso 1: Declaración 1;
ilustrar
Las expresiones entre paréntesis después del interruptor son generalmente, tipo de caracteres, tipo entero, tipo enum
El valor del caso es el mismo que el tipo de expresión
La función del caso es equivalente a una etiqueta, que representa la entrada, ejecutando la siguiente declaración hasta el final, y no hay una ejecución coincidente de la siguiente declaración después del valor predeterminado
La ejecución de la declaración de terminación requiere un descanso, y la instrucción Switch se puede saltar directamente.
Cada situación debe ser diferente, de lo contrario será contradictorio
El orden en el que aparece cada caso y declaración predeterminada no afecta el resultado de la ejecución (utilizado junto con el descanso)
Múltiples declaraciones de casos pueden compartir un grupo de declaraciones
práctica
ciclo
Si y goto loop
Declaración de goto
Formato: etiqueta de declaración de goto;
Las etiquetas de la declaración cumplen con las reglas de identificación de identificadores
etiqueta goto;
Aviso
Después de la etiqueta, debe ser:, colocado antes de una declaración y utilizado como código para la declaración.
Ubicación de salto
En esta función
En general, forma un bucle con si
Use lo menos posible y salte de múltiples bucles
for () for () for () if () goto End;
Mientras
Formatear una declaración (expresión);
Características
Primero juzga el valor de la expresión, ejecute la declaración en forma verdadera y salga falsamente
Aviso
Si, mientras, para el rango efectivo termina en el primer punto y coma
La declaración puede ser una sola declaración, una declaración compuesta o una declaración vacía.
Debe haber una declaración en el cuerpo del bucle (declaración) que haga que el bucle termine
mientras que (1) x;
Un ciclo muerto
i = 100;
La diferencia entre while (x = 'a');
k = 2;
Ejecución del cuerpo de bucle? De segunda clase
práctica
1 2 ... 100
hacer
Formato Do Declare;
Características
Primero ejecute el cuerpo del bucle, juzga el valor de la expresión, la ejecución verdadera, la salida falsa
Aviso
Diferencia entre bucle
El valor inicial de una variable de bucle, mientras que no puede ejecutar el cuerpo de bucle a la vez.
Similitudes
Verdadera ejecución, salida falsa
práctica
Desmontar y empalme
Número desmontado
Obtenga el número final
/10 Nivel reducido
Número de rasguño
La posición baja se vuelve alta, la posición alta se vuelve baja
(0*10) a)*10 b)*10 C
Alto y bajo permanece sin cambios
t = 1;
hacer una declaración;
Un ciclo muerto
para
Formato: para (expresión 1; expresión 2; expresión 3) declaración;
ilustrar
Expresión 1, solo se ejecuta 1 vez
Cada expresión se puede omitir y las semicolones no se pueden omitir
Las expresiones 1 y 3 pueden ser expresiones simples o expresiones de coma.
práctica
Anidación
Tabla de fórmula de multiplicación
Imprimir gráficos
Exhausto
Comparación de varios ciclos
Resolver el problema
Los cuatro bucles pueden ser reemplazados entre sí, y el bucle compuesto por IF y GOTO no se recomienda.
inicialización
mientras, do-while fuera del bucle, para la expresión 1
Condiciones de terminación
mientras, do-while después, para la expresión 2
i = 3;
Orden de ejecución
mientras que el primer juez y luego ejecute, ejecute primero y luego juzga
Salir del bucle
Mientras que do-while, para se puede usar para romper y continuar terminando este bucle
romper
Salir del cuerpo del bucle y terminar el bucle temprano
práctica
Determinar números primos
Ingrese un entero positivo del teclado y la salida 5 números primos mayores o igual al número.
Continuar continuando
Finalice este bucle, omita las declaraciones que no se han ejecutado en el cuerpo del bucle y juzguen si se enciende la próxima vez (mientras, para la expresión de ejecución 3)
Formación
Definiciones y referencias de matriz unidimensional
La matriz es una colección de elementos de datos del mismo tipo.
definición
Nombre de matriz de tipo de datos [expresión constante entera];
Nombre de la matriz: dirección constante, que representa la dirección inicial de la matriz
int a [10];
#define n 10 int a [n];
Cita
Nombre de la matriz [Subíndice]
El subíndice comienza de 0 a N-1
Constantes enteras de subíndice, variables, expresiones
inicialización
Todos los elementos asignan valores iniciales
int a [3] = {1,2,3};
Asigne valores iniciales a todos los elementos, no puede especificar la longitud int a [] = {1,2,3};
Asignar valores iniciales a algunos elementos
int a [10] = {1,2,3};
Algunos elementos omitidos son valores predeterminados
int a [3] = {0,0,0};
La diferencia entre int a [10];
Cuando la longitud de la matriz n y el formato del elemento son inconsistentes
N> m, solo a los primeros elementos m de la matriz se les asignan valores iniciales, el resto son valores predeterminados
N <m, la sintaxis está mal
solicitud
Orden inverso de elementos
Doble la mitad de búsqueda
Clasificar
Burbuja
Seleccionar clasificación
Operación
insertar
Mueve el último primero
borrar
Mover el delantero primero
Moverse (bucle a la izquierda, a la derecha)
Matriz bidimensional
definición
Nombre de la matriz de tipo de datos [expresión constante de entero 1] [expresión constante de entero 2];
Almacene en memoria por fila, se prefiere el orden de línea
int a [n] [m]; n filas, m columnas, cuántos elementos hay antes de [i] [j] i*m j
Cita
Nombre de la matriz [Subíndice de fila] [Subíndice de columna]
inicialización
Igual que la matriz unidimensional, asigne valores iniciales uno por un elemento y se dan en secuencia
int a [2] [3] = {1,2,3,4,5,6};
Todos los elementos pueden omitir el tamaño de la primera dimensión
int a [] [3] = {1,2,3,4,5,6,7};
Asignar valores iniciales en la rama, utilizando aparatos ortopédicos rizados
int a [2] [3] = {{1,2,3}, {4,5,6}};
int a [2] [3] = {{1,2}, {3,4}, {5,6}};
equivocado
Asignar valores iniciales a algunos elementos
int a [3] [4] = {{2}, {4}, {6}};
solicitud
Hilera
Yang Hui Triangle
Matriz cuadrada especial
Matriz cuadrada espiral
Matriz de personajes
definición
Nombre de matriz de char [expresión constante entera];
inicialización
Asignar valores iniciales uno por uno
char ch [] = {'a', 'b', 'c'};
Especificar una cadena como valor inicial
char ch [] = {"hola"};
char ch [] = "hola";
char ch [] = {'h', 'e', 'l', 'l', 'o', '\ 0'};
La diferencia entre una matriz de personajes y una cadena
Cada elemento en la matriz de caracteres es un personaje, y no se requiere que el último elemento sea '\ 0'
El carácter final de la cadena es '\ 0'
Entrada/matriz fuera de personaje
Entrada y salida de un solo carácter de la cadena
para (i = 0; i <5; i) printf (" %c %d |", ch [i], ch [i]);
Acceder a cada elemento
Entrada y salida de cadenas
%s formato
Char Ch [80];
scanf ("%s", ch);
Indica qué dirección los caracteres de entrada comienzan a almacenarse en la memoria
Ingrese, tecla Tab, final de espacio
Al final, el sistema se llena automáticamente '\ 0'
printf ("%s", ch);
CH es la primera dirección de la matriz, seguida de %s, lo que significa que la salida comienza desde esta dirección y termina con '\ 0'
Aviso
El nombre de la matriz representa la dirección inicial de la matriz.
Puede ingresar y salir desde el medio de la matriz
scanf ("%s", y ch [3]);
Funciones de procesamiento de cadenas
Función de salida de cadena
pone (ch);
CH puede ser un nombre de matriz de personajes
Puntero del personaje
Constantes de cuerda
La diferencia de %s
Envolver automáticamente la línea después de la salida
Función de entrada de cadena
obtiene (ch);
CH puede ser un nombre de matriz de personajes
Puntero de personajes (puntero exacto)
obtiene (S1, S2);
Diferencia de %s entrada
Gets solo puede terminar con regreso
Función de procesamiento de cadena String.h
Enlace de cadena strcat (matriz de caracteres 1, cadena 2)
El primero debe ser una variable, y el tamaño del espacio puede poner la suma de los dos caracteres.
Estas últimas variables constantes están disponibles
Solo se conserva '\ 0' en el último resultado
práctica
String Copy strcpy (matriz de caracteres 1, cadena 2)
El primero debe ser una variable, y el tamaño del espacio puede poner la suma de los dos caracteres.
Estas últimas variables constantes están disponibles
El resultado es que el contenido antes del carácter 2, '\ 0' se copia en la matriz de caracteres, y '\ 0' también se copia juntos.
práctica
strncpy (str1, str2, n)
Copie los primeros n caracteres en Str2 a STR1
No copie '\ 0'
Comparación de cadena strcmp (cadena 1, cadena 2)
Todas las variables constantes son posibles
Orden: Compare los valores ASCII de caracteres uno por uno de izquierda a derecha
End: encuentro '\ 0', o personajes diferentes
Resultado: 0 significa igualdad, 1> 2 valor positivo 1, 1 <2 valor negativo -1
Determinar si una cadena es igual
if (strcmp (s1, s2) == 0);
longitud de cadena strlen (cadena)
Encuentre la longitud de la cadena real, excluyendo '\ 0'
Número de caracteres antes del primer '\ 0'
práctica
Convierta en minúsculas STRLWR (cadena)
Convertir Capital Strupr (cadena)
práctica
Eliminar caracteres especiales en cuerdas
Copia de cadena
Comparación de cadenas
Conexión de cadena
Estadísticas el número de palabras
Contar el número de veces que aparece una subcadena en la cadena principal
Use el método de filtrado para encontrar números primos dentro de 100
Insertar, eliminar
función
Descripción general
Definición: un programa que puede completar una función específica
Aviso
Unidad de compilación: archivo
Compilar en programas de origen
La ejecución de C comienza con la función principal
Todas las funciones son paralelas, es decir, las definiciones de funciones son independientes entre sí.
Las definiciones no se pueden anidar
Las funciones se pueden llamar mutuamente, y las funciones principales no se pueden llamar.
Las llamadas de función pueden estar anidadas
Clasificación
Perspectiva de usuario
Funciones de usuario
Definido por el usuario para resolver problemas especializados
Funciones del sistema
Función estándar, scanf
La propia forma de las funciones
Hay funciones de parámetros
sqrt (n)
Sin función trágica
getchar ()
El ángulo de valor de retorno
Hay un valor de retorno
strcmp (s1, s2);
Sin valor de retorno
Ángulo de rango de acción
Funciones externas
Funciones internas
Definición de función
Formato de definición con funciones de parámetros
Formato de definición de la función no parámetro
Función vacía
ficticio(){ }
Parámetros de función y valores de función
parámetro
Parámetros formales
Definir funciones, entre paréntesis
Redirigido
Argumento real
Llamar a las funciones para usar parámetros
Melodía principal
ilustrar
Al definir una función, debe especificar el tipo de parámetro formal
Formato: Tipo de datos Nombre del parámetro formal
El argumento real puede ser una constante, una variable o una expresión, pero debe tener un valor exacto.
Asignación y liberación de unidades de almacenamiento de parámetros formales
Asignar durante la llamada, copiar el valor del parámetro real al parámetro formal y libérelo después de la llamada
El parámetro real se pasa al valor unidireccional del parámetro formal.
El valor de retorno de la función
El valor de retorno de la función se obtiene a través de la declaración de retorno
El número de declaraciones de retorno, múltiples, a las que se ejecuta una, que funciona
Los soportes después de la declaración de retorno se pueden omitir, y pueden ser constantes, variables y expresiones requieren valores exactos.
Tipo de valor de función
El tipo de valor de retorno de la función
Determinado en el momento de la definición
El tipo de función es inconsistente con el tipo devuelto por la declaración de retorno
El tipo de función determina el tipo de valor de retorno
No hay una declaración de retorno en la función
Devuelve un valor incierto a menos que se define como vacío
No se requiere valor de retorno, definido como nulo
La devolución aún se puede usar, pero no puede haber un valor después
El tipo de valor de retorno predeterminado de la función es int
Llamado de funciones
Formato general
Nombre de la función (columna de tabla de parámetros reales);
Intervalo de coma entre múltiples parámetros
El número, el orden y el tipo de parámetros (compatibles con la asignación) son consistentes
Método de llamadas
Declaraciones de funciones
printf ("ok");
Expresiones de funciones
x = 10 * sqrt (y);
Parámetros de función
max (max (x, y), z);
Proceso de llamadas
El registro de parámetros formales se asigna a la unidad de almacenamiento, valor de parámetros reales asignados a parámetros formales
Parámetros prácticos -》 Parámetros formales Transferencia de valor unidireccional
Cuando se llamen múltiples funciones anidadas, siga la primera llamada y luego regrese.
Declaración de finalización de retorno, o aparatos}}
Declaración del prototipo de función y función llamado
Llamar a otra función, cumplir con las condiciones
La función llamada debe existir (es decir, la función definida)
Funciones de la biblioteca
escaneo
Funciones personalizadas
Max (x, y)
Usando funciones de biblioteca
Use #Include al comienzo del archivo para incluir el archivo de encabezado correspondiente
stdio.h
Math.h
abd (), fabs (), pow (), sin ()
cadena.H
strcpy (), strcat (), strcmp ()
strlen ()
ctype.h
Malloc.h (stdlib.h)
malloc (), free (), calloc ()
Funciones personalizadas
Declarar la función llamada
La diferencia entre definición y declaración
significado
Tipo de función Nombre de función, columna de tabla de parámetros formales y una definición completa del cuerpo de funciones es el establecimiento de funciones de función
Realizar una función definida (existente)
Número de
El mismo nombre, en un archivo, solo hay uno
Múltiple
Ubicación
Las definiciones de la función no pueden anidarse
¿Qué función se llama, dónde se declara?
Alcance
Función interna (este archivo), función externa (otro archivo)
Declarar su función declarar su archivo
Prototipo de funciones
Las declaraciones de funciones en el lenguaje C se denominan prototipos de funciones
Nombre de función tipo de función (parámetro tipo 1, parámetro formal 1, parámetro tipo 2, parámetro formal 2 ...)
Nombre de función tipo de función (parámetro tipo 1, parámetro tipo 2 ...)
No se requiere que las siguientes situaciones sean declaradas
Definido primero, devuelve la llamada
Antes de todas las definiciones de la función, la función al comienzo del archivo se ha declarado fuera de la función.
El valor de retorno de la función es int sin declaración
Llamadas anidadas a las funciones
Llamar a otra función
E = 1 1/1!
Double Fun (int n) calcula el factorial de n
Double E (int n) calcula la suma de los términos
void main ()
Llamado recursivo a las funciones
Recursión directa, recursión indirecta
Similar a las llamadas anidadas de funciones, excepto que cada vez se llama a la misma función
Condiciones que se pueden implementar recursivamente
Situación inicial (condición de terminación), como: n <= 1
Situación N puede ser descrita por la situación N-1, por ejemplo: ¡N!
Nota: Prueba primero, luego la recursión.
práctica
Resolución normal de problemas
Revertir el resultado de la condición de terminación
Copiar 3 veces
evaluar
La recursión se puede convertir en no recursión
La implementación recursiva utiliza la pila
Matriz como parámetros de función
Los elementos de la matriz hacen parámetros reales
Mismo nivel que la variable
Pase de valor
Nombre de la matriz como parámetros de función
Nombre de la matriz, dirección constante
Pasar la dirección
Nota
Definición: Las matrices deben declararse por separado en las funciones principales y llamadas
Tipo: consistente
Tamaño: El tamaño del grupo de parámetros de forma y el grupo de parámetros reales pueden ser diferentes.
El nombre de la matriz se usa como un parámetro real, en lugar de pasar el valor de la matriz al grupo de parámetros de forma, la dirección inicial del grupo de parámetros reales al grupo de parámetros de forma. El grupo de parámetros de forma y el grupo de parámetros reales ocupan la misma unidad de almacenamiento.
Las matrices multidimensionales hacen parámetros de función
Argumento real, use el nombre de la matriz
Los parámetros formales, se puede especificar el tamaño de cada dimensión y se puede omitir el tamaño de la primera dimensión.
práctica
Ordene los primeros n elementos en una matriz unidimensional
Guarde el número de fila del elemento más pequeño de cada columna en una matriz bidimensional en una matriz unidimensional
Variables locales y globales
Variables locales
Ubicación
Dentro de la función
En declaración compuesta
Alcance
Funciones que lo definen
Declaración compuesta que lo define
Período de supervivencia
Asignación de unidades de almacenamiento Cuando se les pide, libere al final (excepto estático)
ilustrar
Las variables definidas en la función principal solo son válidas en la función Mian
Diferentes funciones pueden definir variables con el mismo nombre, representar diferentes objetos, ocupar diferentes unidades de almacenamiento en la memoria y no interferir entre sí.
Los parámetros formales también son variables locales
Variables globales
Ubicación
Fuera de la función
Alcance
Desde la definición hasta el final de la declaración de archivo, declare su función
Período de supervivencia
Área de almacenamiento estático, hasta que se ejecute el programa, siempre toma memoria y no la libera
ilustrar
Función: aumentar los canales de comunicación entre funciones
Se recomienda usar menos
Período de supervivencia
General
legibilidad
Cualquier función puede modificarse, es difícil determinar el valor de una variable en un momento determinado.
En un archivo fuente, la variable global es la misma que la variable local
Las variables globales no funcionan dentro del alcance de las variables locales
Tomar el principio más cercano
Categoría de almacenamiento de variables
Alcance, vida útil
Propiedades de variables y de función
Tipo de datos
Categoría de almacenamiento
Cómo almacenar en la memoria
Almacenamiento estático
Almacenamiento dinámico
Variables automáticas
Cuando las variables locales en una función no se declaran específicamente, el auto predeterminado es
Asignar en el área de almacenamiento dinámico, y la asignación y la liberación están determinadas por el sistema
Alcance
Período de supervivencia
Asignar de guardia, finalización final
Características
El sistema no se puede inicializar, y cada llamada requiere un valor inicial manual
Invariante local declarado por estática
La llamada finaliza, la unidad de almacenamiento no se libera y el valor de la última llamada finaliza
Alcance
Igual que las variables locales
Período de supervivencia
Siempre tome la memoria y no se libere
Características
El sistema asigna automáticamente valores iniciales, o puede asignar manualmente valores iniciales, y la inicialización solo se realiza una vez.
Mantenga el valor al final de la última llamada
Registro de registro Variable
registrar int i, j = 10;
Características
Variables automáticas locales y parámetros formales, las variables globales no son
El número de registros es limitado, por lo que no puede definir demasiados
Registre estático int a = 10;
Declarar variables externas con extern
Declarar variables externas en el archivo
Extender el alcance de las variables globales
Ubicación
En la función utilizándolo
Inicio del archivo
extern int a, b;
extern A, B;
Declarar variables externas en programas con múltiples archivos
Un archivo se refiere a variables globales en otro archivo
Ubicación
Inicio del archivo
Área de almacenamiento estático
Variables globales, variables locales declaradas por estática
El sistema puede asignar automáticamente valores iniciales o asignar manualmente valores iniciales.
Área de almacenamiento dinámico
Variables locales (sin estática)
Parámetros formales
Asignar manualmente el valor inicial cada vez
Funciones internas y externas
Función interna (función estática)
Funciones que solo pueden llamarse otras funciones en este archivo
Agregue el nombre de función y tipo de función estática antes de definir
static int divertido (int a, int b) {}
Funciones externas
Al definir, el extern se corona primero, lo que indica la función externa
Las funciones son funciones externos implícitamente
Extern int Fun (int x, inty) {}
puntero
Descripción general
Acceso directo
Por nombre variable
Acceso indirecto
Relaciones señaladas por punteros
Una variable que almacena la dirección apunta a una variable normal
La variable que almacena la dirección se llama variable de puntero
Aviso
puntero
DIRECCIÓN
1000
Variable de puntero
Variables que almacenan la dirección
pag
Variable de puntero
definición
Tipo base * Nombre de la variable de puntero;
int *p;
Al definir, * no realiza ninguna operación, lo que significa que P es seguido por él es una variable de puntero, y P señala int, es decir, P puede almacenar la dirección de la variable int
P es una variable de puntero, y la dirección se almacena en la variable P, no *P
Operación
Asignación
Tomar la dirección de la variable
int x, *p;
Obtenga la primera dirección de la matriz
int a [10], *p;
Las variables de puntero se asignan
int x, *p1, *p2;
Los tipos señalados por P1 y P2 deben ser los mismos.
Dirección de devolución del espacio de aplicación
int *p;
Contiene malloc.h
Asignar valor nulo
int *p;
Haga que P apunte vacío para evitar mal uso
inicialización
Categoría de almacenamiento Tipo base *Nombre de variable de puntero = dirección;
int x, *p = & x;
Operaciones aritméticas
El puntero variable apunta a una unidad de memoria continua.
int a [10];
P1 P2 sin sentido
Operaciones relacionales
Un espacio continuo
Aviso
int *P;
Las variables del puntero solo pueden apuntar a variables del mismo tipo
Operador de dirección y operador de puntero
Y
El objeto de operación debe ser una variable definida o elemento de matriz.
El resultado del cálculo es la primera dirección de la variable en la memoria
& 3, & (x y), registro de error de variable
*
El objeto de operación, el puntero que se ha asignado, la dirección
Función: tome el contenido de la unidad señalado por la dirección dada
* y las operaciones son operaciones inversas
La prioridad es la misma combinación de mano derecha
*& a => *(& a) => *(1000) => *pa => a
&*pa => & (*pa) => & (a) => 1000 => PA
&*a => a
Nota: y variables, * dirección
Las variables de puntero solo pueden almacenar direcciones
Variables de puntero como parámetros de función
Las variables del puntero se utilizan como parámetros de función y dirección de aprobación
Durante la ejecución de la función, el valor de la variable señaló por la variable de puntero cambia.
Puntero y matriz unidimensional
La dirección de la variable
La primera dirección de la matriz: la dirección inicial, el nombre de la matriz
Posinter variable a elementos de matriz
int a [10];
Elementos de matriz de referencia a través de variables de puntero
p = a;
La dirección del elemento i-th & a [i]
P I
ai
Subtema 4
El valor del elemento i-th a [i]
*(P i)
*(A I)
Método de puntero
Los consejos para matrices unidimensionales también se pueden suscripciones
pi]
ai]
Método de subíndice