¿Qué es el lenguaje C y cómo lo aprendo?
El lenguaje C fue diseñado e inventado por Dennis Ritchie en Estados Unidos en 1972, y se utilizó por primera vez en la computadora DEC PDP-11 con el sistema operativo UNIX. Evolucionó a partir del primer lenguaje de programación BCPL (Basic Combind Programming Language). En 1970, Ken Thompson de AT&T Bell Labs diseñó un lenguaje más avanzado llamado B basado en el lenguaje BCPL, que finalmente condujo a la llegada del lenguaje C.
Con la creciente popularidad de las microcomputadoras, han aparecido muchas versiones en lenguaje C. Dado que no existe un estándar unificado, existen algunas inconsistencias entre estos lenguajes C. Para cambiar esta situación, el Instituto Nacional Estadounidense de Estándares (ANSI) desarrolló un conjunto de estándares ANSI para el lenguaje C, que se convirtió en el estándar actual del lenguaje C.
El lenguaje C se ha desarrollado muy rápidamente y se ha convertido en uno de los lenguajes más populares, principalmente debido a sus potentes funciones. Muchos software de sistemas famosos, como DBASE III PLUS y DBASE IV, están escritos en lenguaje C. El uso del lenguaje C más algunas subrutinas del lenguaje ensamblador puede demostrar mejor las ventajas del lenguaje C que se escriben con PC-DOS, WORDSTAR, etc. En resumen, el lenguaje C tiene las siguientes características:
1. C es un lenguaje de nivel medio
Combina las estructuras y declaraciones básicas de los lenguajes de alto nivel con La practicidad de los lenguajes de bajo nivel. El lenguaje C puede operar en bits, bytes y direcciones al igual que el lenguaje ensamblador, y estas tres son las unidades de trabajo más básicas de la computadora.
2. C es un lenguaje estructural
La característica distintiva de un lenguaje estructural es la separación de código y datos, es decir, cada parte del programa es independiente entre sí excepto para el necesario intercambio de información. Este enfoque estructurado puede hacer que la jerarquía del programa sea clara y fácil de usar, mantener y depurar. El lenguaje C se proporciona a los usuarios en forma de funciones. Estas funciones se pueden llamar fácilmente y tienen una variedad de bucles y declaraciones condicionales para controlar el flujo del programa, lo que hace que el programa esté completamente estructurado.
3. El lenguaje C es completamente funcional
El lenguaje C tiene una variedad de tipos de datos e introduce el concepto de punteros, lo que puede hacer que el programa sea más eficiente. Además, el lenguaje C también tiene potentes funciones gráficas y admite una variedad de monitores y controladores. Además, la función de cálculo y la función de juicio lógico también son relativamente poderosas y pueden lograr propósitos de toma de decisiones.
4. El lenguaje C tiene una amplia gama de aplicabilidad
Otra ventaja sobresaliente del lenguaje C es que es adecuado para múltiples sistemas operativos, como DOS y UNIX, y también es adecuado para múltiples modelos de computadora.
Turbo C es un producto de la American Borland Company, una gran empresa especializada en desarrollo e investigación de software. La empresa ha lanzado sucesivamente un conjunto de software de la serie Turbo, como Turbo BASIC, Turbo Pascal y Turbo Prolog, que son muy populares entre los usuarios. La compañía lanzó por primera vez el producto Turbo C 1.0 en 1987, que utilizaba un entorno de desarrollo integrado completamente nuevo, que utilizaba una serie de menús desplegables para integrar la edición de texto, la compilación del programa, la conexión y la ejecución del programa, lo que facilitó enormemente el desarrollo del programa. . En 1988, Borland Company lanzó la versión Turbo C1.5, que agregó una biblioteca de gráficos y una biblioteca de funciones de ventana de texto, mientras que la compañía publicó Turbo C 2.0 en 1989. Turbo C2.0 agrega una función de verificación de errores basada en el entorno de desarrollo integrado original y puede generar directamente archivos .COM en modo Tiny (los datos, el código y la pila están en la misma memoria de 64K).
También se pueden simular coprocesadores matemáticos (que admiten 8087/80287/80387, etc.).
Borland lanzó más tarde el paquete de software de programa orientado a objetos Turbo C, que heredó y desarrolló el entorno de desarrollo integrado de Turbo C 2.0 e incluyó las ideas básicas y los métodos de diseño de la orientación a objetos.
En 1991, para adaptarse a la versión Windows 3.0 de Microsoft, Borland Company actualizó Turbo C, es decir, también se lanzó el producto de nueva generación de Turbo C, Borlandc C.
1.3.2 Requisitos de configuración básica para Turbo C 2.0
Turbo C 2.0 puede ejecutarse en microcomputadoras de la serie IBM-PC, incluidas computadoras compatibles con XT, AT e IBM. En este momento, se requiere DOS 2.0 o superior y se requieren al menos 448 K de RAM. Puede ejecutarse en cualquier monitor monocromático o en color de 80 columnas. La compatibilidad con chips de coprocesador matemático también permite la simulación de punto flotante, lo que acelerará la ejecución del programa.
1.3.3 Introducción al contenido de Turbo C 2.0
Turbo C 2.0 tiene seis disquetes de baja densidad (o dos disquetes de alta densidad).
La siguiente es una breve introducción a los archivos principales de Turbo C 2.0:
Archivo del programa de instalación INSTALL.EXE
Compilación integrada TC.EXE
TCINST.EXE Programa de instalación de configuración del entorno de desarrollo integrado
Archivo de ayuda TCHELP.TCH
THELP.COM Programa residente de lectura para TCHELP.TCH
README Información sobre archivos Turbo C p>
Programa de conversión de archivos de configuración TCCONFIG.EXE
Herramienta de gestión de proyectos MAKE.EXE
Compilación de línea de comandos TCC.EXE
TLINK EXE Turbo C. conector de serie
TLIB.EXE Herramienta de administración de biblioteca de la serie Turbo C
C0?.OBJ código de inicio de modo diferente
C?.LIB biblioteca de tiempo de ejecución de modo diferente p>
Biblioteca de gráficos GRAPHICS.LIB
Biblioteca de simulación EMU.LIB 8087
Biblioteca FP87.LIB 8087
Archivo de encabezado *.H Turbo C
*.Controlador de gráficos BGI para diferentes monitores
*.C Rutina Turbo C (archivo fuente)
Entre ellos: ¿Los anteriores respectivamente Para:
T Tiny (modo micro)
S Small (modo pequeño)
C Compact (modo compacto)
M Medium (modo medio)
L Large (modo grande)
H Huge (modo enorme)
Componentes generales de los programas Turbo C
Turbo C 2.0, como otros lenguajes, permite a los usuarios escribir programas de aplicación
de acuerdo con su formato prescrito y las declaraciones proporcionadas. Mire el siguiente programa fuente Turbo C.
Ejemplo 1:
/*Programa de ejemplo de Turbo C*/
#include lt; stdio.hgt /*Incluir descripción del archivo*/
p>
p>
void lgc(void); /*Descripción de la subfunción*/
char respuesta /*Definir variables globales*/
int main; () /*Definición de función principal*/
{
char a /*Definir variables locales*/
clrscr(); p> gotoxy(12, 3);
puts("¡Bienvenido a usar Turbo C2.0!");
gotoxy(15, 13); > printf("lt; Escgt;--Salir");
gotoxy(15, 15);
printf("lt;CRgt;--Continuar"); p>
mientras (1)
{
a=getch();
if(a==27)
romper;
if(a==13)
{
lgc();
if(answer=='y '||answer== 'Y')
{
gotoxy(23,14);
puts("Escriba a la empresa");
getch();
romper
}
}
}
return(0);
}
void lgc(void)
{
clrscr(); p> gotoxy(12, 8);
printf("¡La excelente selección!");
gotoxy(21, 12);
tf("¿Tienes alguna pregunta?(Y/N)");
respuesta=getche();
}
Puedes verlo desde del programa de ejemplo Resulta que el programa fuente Turbo C tiene principalmente las siguientes características:
1. Los programas generalmente se escriben en letras minúsculas
2. La mayoría de las declaraciones deben terminar con; Símbolo ";", de lo contrario Turbo C no considerará que la declaración esté completa
;
3. Cada programa debe tener una y solo una función principal () llamada función principal;
4. Cada cuerpo del programa (función principal y cada subfunción, como la función main() y la función sub() en el ejemplo anterior)
Debe utilizar un par de llaves "{" y "}";
5. Un programa relativamente completo generalmente incluye: archivos de inclusión (un conjunto de declaraciones #includelt; *.hgt;), usuario
parte de descripción de la función, definición completa de la variable, función principal y varias subfunciones. La función principal y las subfunciones
también incluyen definiciones de variables locales, varias funciones de la biblioteca Turbo C, declaraciones de flujo de control, declaraciones de llamada de función de usuario
, etc.; p > 6. La parte del comentario se incluye entre "/*" y "*/", que el compilador Turbo C ignora durante la compilación.
Nota:
1. Al igual que otros lenguajes, las variables Turbo C primero deben definir su tipo de datos antes de su uso.
No se pueden usar variables no definidas. La definición del tipo de variable debe estar antes de la declaración ejecutable. Por ejemplo, en el ejemplo anterior, la primera declaración en la función main() es la declaración de definición de la variable, que debe colocarse antes de la primera declaración ejecutable. clrscr().
2. En Turbo C, las letras mayúsculas y minúsculas son diferentes, y las letras mayúsculas y minúsculas de las mismas letras representan diferentes
variables.
3. El formato de escritura del programa Turbo C es muy flexible y no tiene restricciones estrictas.
La función principal del Ejemplo 1 se puede escribir como:
main(){char c; gotoxy(12, 3); puts("¡Bienvenido a usar Turbo C2.0!"); gotoxy(15, 13);
printf("lt;CRgt;--Continuar"); .}
No hay ningún error de sintaxis al escribir de esta manera, pero es incómodo de leer y también hace que la jerarquía del programa no quede clara.
El autor recomienda que al programar en Turbo C, utilice una declaración por línea, sangría hacia atrás cuando encuentre declaraciones anidadas y agregue líneas de comentarios al
programa cuando sea necesario. Esto hace que la estructura del programa sea clara y fácil de leer, mantener y modificar.
A través de la introducción anterior, se puede concluir que la forma general del programa fuente Turbo C es:
Archivo incluido
Descripción del tipo de subfunción
Definición de variable completa
main()
{
Definición de variable local
cuerpo del programa gt; >
}
sub1()
{
Definición de variable local
lt cuerpo del programa
}
sub2()
{
Definición de variable local
lt cuerpo del programa
}
subN()
{
<. p> definición de variable locallt; cuerpo del programa gt;
}
Entre ellos, sub1(), ..., subN() representan usuario- subfunciones definidas, programa El cuerpo se refiere a cualquier declaración de llamada de función de biblioteca, declaración de flujo de control u otra declaración de llamada de subfunción proporcionada por Turbo C 2.0
.
Tipo de entero (int)
1. Descripción de los números enteros
Con diferentes modificadores, los números enteros tienen los siguientes tipos; p>
int corto con signo Descripción del entero corto con signo. La abreviatura es corta o int, la longitud de la palabra es 2
Byte ***Número binario de 16 bits, el rango del número es -32768~32767.
int largo con signo Descripción del entero largo con signo. La abreviatura es larga, la longitud de la palabra es 4 bytes***
Un número binario de 32 bits, el rango del número es -2147483648~2147483647.
entero corto sin signo descripción del entero corto sin signo. La abreviatura es int sin signo, la longitud de la palabra
es de 2 bytes a un número binario de 16 bits y el rango del número es 0 ~ 65535.
entero largo sin signo descripción del entero largo sin signo. La abreviatura no tiene signo, la longitud de la palabra
es 4 bytes*un número binario de 32 bits y el rango del número es 0~4294967295.
2. Definición de variables enteras
Puedes utilizar las siguientes declaraciones para definir variables enteras
int a, b /*a, b se definen como; Variable entera corta con signo*/
c larga sin signo /*c se define como una variable entera larga sin signo*/
3 Representación de constantes enteras
Según los diferentes sistemas base, existen tres métodos de representación para constantes enteras:
Número decimal: número que comienza con distinto de 0
Por ejemplo: 220, -560, 45900
Números octales: números que comienzan con 0
Por ejemplo: 06; 0106, 05788
Números hexadecimales: números que comienzan con 0X o 0x
Tales como: 0X0D, 0XFF, 0x4e
Además, puede agregar una letra "L" o "l" después de la constante entera para indicar que el número es un entero largo, como 22L,
0773L, 0Xae4l.
2.2 Tipo de coma flotante (float)
1. Descripción de los números de coma flotante
Existen los siguientes dos tipos de números de coma flotante en Turbo C:
float número de punto flotante único. La longitud de la palabra es 4 bytes*** número binario de 32 bits y el rango del número es
3.4x10-38E~3.4x10 38E.
número doble doble en coma flotante. La longitud de la palabra es 8 bytes*** número binario de 64 bits y el rango del número es
1.7x10-308E~1.7x10 308E.
Nota:
Los números de coma flotante son todos números de coma flotante con signo, no hay números de coma flotante sin signo.
2. Definición de variables de punto flotante
Puede utilizar las siguientes declaraciones para definir variables de punto flotante:
float a, f /*a; , f se define como una variable de punto flotante simple*/
double b; /*b se define como una variable de punto flotante doble*/
3. representación
Por ejemplo: 29.56, -56.33, -6.8e-18, 6.365
Nota:
1. Las constantes de punto flotante tienen una sola base (decimal ).
2. Todas las constantes de punto flotante son dobles por defecto.
3. Para números de punto flotante cuyo valor absoluto es menor que 1, se puede omitir el cero delante del punto decimal. Por ejemplo: 0.22 se puede escribir como .22,
-0.0015E-3 se puede escribir como -.0015E-3.
4. Cuando Turbo C genera números de punto flotante en el formato predeterminado, solo retiene hasta seis decimales.
2.3 Tipo de carácter (char)
Con diferentes modificadores, puedes definir dos tipos de variables de carácter, con y sin signo, por ejemplo:
char a: /*a se define como una variable de carácter con signo*/
unsigned char l; /*l se define como una variable de carácter sin signo*/
Caracteres en computadoras Expresados en su código ASCII , su longitud es 1 byte. El rango de valores del número de caracteres con signo es -128 ~ 127 y el rango de valores del número de caracteres sin signo es 0 ~ 255. Por lo tanto, en el lenguaje Turbo C,
los datos de caracteres se procesarán como números enteros durante la operación. Si una variable se define como char, significa que la variable
está firmada. , se convertirá en un entero con signo.
Turbo C estipula que los caracteres con valores de código ASCII superiores a 0x80 se considerarán números negativos. Por ejemplo, si el carácter cuyo valor ASCII
es 0x8c se define como char, se convertirá al entero hexadecimal 0xff8c. Esto se debe a que cuando
el valor del código ASCII es mayor que 0x80, el bit más alto del byte es 1 y la computadora considerará que el número es negativo para
. el número representado por 0x8c es en realidad -74 (invierte los bits de 8c y suma 1), y -74 se convierte en un entero de dos bytes y
cuando se representa en la computadora, es 0xff8c (invierte los bits de 0074 y sumar 1). Por lo tanto, es solo 8c cuando se define como
carácter sin signo 0x8c y se convierte en un número entero. Se debe prestar especial atención a este punto cuando se trata de caracteres ASCII mayores que 0x80
(como códigos de caracteres chinos). Generalmente, los caracteres chinos se definen como caracteres sin firmar (que se encontrarán a menudo en programas futuros).
Además, también puede definir una matriz de caracteres (la matriz se presentará en detalle más adelante), en cuyo caso la matriz
representa una cadena.
Por ejemplo:
char str[10];
Cuando la computadora compila, dejará espacio para 10 caracteres consecutivos, es decir, str[0 ] a str[9]***10 variables
pero solo las primeras 9 están disponibles para los usuarios. La décima cadena [9] se usa para almacenar el terminador de cadena NULL, que es "\0".
Pero el compilador agrega automáticamente el terminador, por lo que se debe prestar especial atención a esto.
2. Representación constante de caracteres
Los caracteres que se pueden representar mediante símbolos se pueden expresar directamente entre comillas simples, como 'a', '9', 'Z' o <. /p>
El valor del código ASCII de este carácter representa, por ejemplo, el número decimal 85 representa la letra mayúscula 'U', el número hexadecimal 0x5d representa la letra mayúscula ']' y el número octal 0102 representa la letra mayúscula letra 'B'.
Algunos caracteres de control que no pueden representarse mediante símbolos solo pueden representarse mediante valores de código ASCII. Por ejemplo, el número decimal 10 representa un avance de línea. El número hexadecimal 0x0d representa un retorno de carro. representa un retorno de carro. El número 033 representa Esc. También hay otro método de representación en Turbo C2.0
Por ejemplo, '\033' representa Esc, donde el número después del símbolo '\0' representa valores hexadecimales
ASCII. Por supuesto, este método de representación también se aplica a caracteres que pueden representarse mediante símbolos.
Además, algunos caracteres de uso común en Turbo C2.0 están representados por las siguientes disposiciones especiales:
El especificador equivale al significado
'\ f' ' \X0C' cambio de página
'\r' '\X0D' retorno de carro
'\t' '\X09' tecla de tabulación
' \n ' '\X0A' nueva línea
'\\' '\X5C' \symbol
'\'' '\X27' 'symbol
' \" ' '\X22' "
Para las constantes de cadena, generalmente se expresan entre comillas dobles, como "Hola Turbo C2.0".
2.4 Tipo de puntero (*)
El puntero es un tipo de datos especial que generalmente no se encuentra en otros idiomas. El puntero apunta a la dirección de la variable.
Esencialmente, el puntero es la dirección de la unidad de almacenamiento. Dependiendo del tipo de variable apuntada, puede ser un puntero entero
(int *), un puntero de punto flotante (float *), un puntero de carácter (char *), un puntero de estructura (struct * ) y un enlace
Puntero de unión (unión *) (los punteros de estructura y los punteros de unión se presentarán en la Sección 4).
2.5 Tipo sin valor (void)
El tipo sin valor tiene una longitud de byte de 0 y tiene dos usos principales: Primero, indica claramente que una función no devuelve nada
Valor; Uno es generar un puntero del mismo tipo (que puede asignarse dinámicamente a su memoria según sea necesario).
Por ejemplo:
void *buffer; /*buffer se define como un puntero sin valor*/
Palabras clave
Así Las llamadas palabras clave son palabras que han sido utilizadas por el propio Turbo C2.0 y no se pueden utilizar para otros fines. Por ejemplo, las palabras clave
no se pueden utilizar como nombres de variables, nombres de funciones, etc.
Turbo C2.0 tiene las siguientes palabras clave:
***11 extensiones Turbo C2.0
asm _cs _ds _es _ss cdecl
pascal de interrupción muy cerca de enorme
***32 definido por el estándar ANSI
auto double int struct break else
long switch case enum registro typedef p>
char extern return union const float
short unsigned continue for firmado void
default goto sizeof volatile do if
while static
3.2 Identificadores
Los llamados identificadores se refieren a los nombres de constantes, variables, etiquetas de declaraciones y funciones definidas por el usuario. La definición de identificadores Turbo C
2.0 es muy flexible. Como identificadores se deben cumplir las siguientes reglas:
1. Todos los identificadores deben comenzar con una letra (a~z, A~Z) o un guión bajo (_
2); Identidad Las otras partes del símbolo pueden estar compuestas por letras, guiones bajos o números (0 ~ 9).
3. Las letras mayúsculas y minúsculas representan diferentes significados, es decir, representan diferentes identificadores ; p>
4. Sólo los primeros 32 caracteres del identificador son válidos
5. El identificador no puede utilizar palabras clave Turbo C2.0.
A continuación se muestran algunos identificadores correctos e incorrectos:
Correcto o incorrecto
smart 5smart
_decision bomb?
> key_board key.board
FLOAT float
Descripción de la variable
Turbo C2.0 estipula que todas las variables deben describirse antes de su uso. Una declaración de variable consta de un tipo de datos seguido de uno o más nombres de variables. La forma de descripción de la variable es la siguiente:
Escriba lt; tabla de variables gt;;
El tipo aquí se refiere al tipo de datos válido de Turbo C2.0. La tabla de variables es uno o más nombres de identificadores, separados por "," entre cada
identificador.
Por ejemplo:
int i, j, k; unsigned char c, str[5], *p
4.2 Tipos de variables
Las variables se pueden declarar en tres lugares del programa: dentro de la función, en la definición de parámetros de la función o fuera de todas las funciones
. Según las diferentes posiciones definidas, las variables se pueden dividir en variables locales, parámetros formales y variables globales.
1. Variables locales
Las variables locales se refieren a variables declaradas dentro de una función (a veces también llamadas variables automáticas). Utilice la palabra clave auto para ilustrar
que cuando se omite auto, todas las variables no globales se consideran variables locales, por lo que en realidad auto
nunca se usa.
Las variables locales se generan automáticamente cuando se llama a la función, pero no se inicializan automáticamente. Cuando finaliza la llamada a la función, esta
variable desaparecerá automáticamente la próxima vez que se llame a la función. Se generará automáticamente, se asignará nuevamente y desaparecerá automáticamente cuando salgas.
2. Parámetros formales
Los parámetros formales se refieren a variables definidas entre paréntesis después del nombre de la función y se utilizan para aceptar
parámetros de la función que llama. Los parámetros formales pueden actuar como otras variables locales dentro de una función.
Por ejemplo:
puthz(int x, int y, int color, char *p)
{
int i, j , k; /*Definir variables locales*/
lt; Cuerpo del programa gt
}
Entre ellos, x, y, color, *p son funciones Los parámetros formales se pueden utilizar directamente dentro de esta función
sin mayor explicación.
3. Variables globales
Las variables globales se refieren a variables que se describen fuera de todas las funciones. Son "visibles" dentro de todo el programa.
Se pueden utilizar. por cualquier función y conserva su valor durante la ejecución del programa. Siempre que la variable global cumpla las dos condiciones antes de usarla y fuera de la función, se puede describir en cualquier parte del programa, generalmente antes de ilustrar la función principal del programa.
Por ejemplo:
#includelt; stdio.hgt;
int test /*Definir variables globales*/
void f1 ( int x, float y); /*Descripción de la subfunción*/
void f2(void /*Descripción de la subfunción*/
main()
{
test=5; /*Asignar valores a las variables globales*/
f1(20, 5.5 /*Llamar a la subfunción f1); () con parámetros formales*/
/*El valor de la prueba se convierte en 115*/
f2() /*Llame a f2(), el valor de la prueba se convierte en 1150*/;
}
void f1(int x, float y)
{
float z /*z se define como local; variable*/
z=x*y; /*cálculo*/
prueba=prueba z
}
void f2; (void)
{
int count=10 /*Definir variables locales e inicializar*/
test=test*count
<; p> }Dado que las variables globales pueden ser utilizadas por cualquier función en todo el programa, se pueden utilizar como un medio para pasar parámetros entre funciones. Sin embargo, cuando hay demasiadas variables globales, se produce una sobrecarga de memoria. se vuelve grande.
4.3 Tipos de almacenamiento variable
Turbo C2.0 admite cuatro tipos de almacenamiento variable. Los especificadores son los siguientes:
registro externo estático automático
Se presentan por separado a continuación.
1. auto
Auto se llama variable automática. Se ha introducido antes y no se repetirá aquí.
2. estática
la estática se denomina variable estática. Según el tipo de variables, se pueden dividir en variables locales estáticas y variables globales estáticas.
1. Variable local estática
La diferencia entre esta y las variables locales es: cuando la función sale, esta variable siempre existe, pero no puede ser utilizada por otras funciones
, al ingresar nuevamente a esta función, se guardará el último resultado. Otros son iguales que las variables locales.
2. Variables globales estáticas
Turbo C2.0 permite dividir programas grandes en varios archivos de módulos independientes y compilarlos por separado, y luego los archivos objeto de todos los módulos
están vinculados entre sí, esto mejora la velocidad de compilación y también facilita la gestión y mantenimiento del software. Estática
Una variable global se refiere a una variable que solo es visible en el archivo fuente en el que está definida pero no en otros archivos fuente.
La diferencia entre esta y las
variables globales es que las variables globales pueden declararse como variables externas (externas) y ser utilizadas por otros archivos fuente.
Las variables globales estáticas ya no pueden declararse como. Externo, es decir, sólo puede ser utilizado por el archivo fuente en el que se encuentra.
3. extern
extern se llama variable externa. Para que la variable sea utilizable no solo en el archivo fuente en el que está definida, sino también en otros archivos. Por lo tanto, cada archivo de módulo de programa debe ser informado de las variables completas, que se pueden explicar usando
extern.
Por ejemplo:
El archivo 1 es archivo1.c El archivo 2 es archivo2.c
int i, j /*Definir variables globales*/ extern int; i , j; /*Las instrucciones son copiar i, j del
archivo 1*/
char c; extern char c /*Copiar c a */
void func1(int k); func2() /*Función definida por el usuario*/
{
main() static float k /*Definir variables estáticas*/
{ i=j*5/100;
func1(20); /*Llamar función*/ k=i/1.5;
.
. *Función definida por el usuario*/
{
j=k*100
}
Para los dos archivos anteriores file1. cy file2.c, compilados utilizando el entorno de desarrollo integrado Turbo C2.0
Al conectarse, primero se debe crear un archivo .prj. Por ejemplo, file.prj, el contenido del archivo es el siguiente:
file1.c
file2.c
Luego escriba el nombre del archivo .prj en el menú principal Proyecto en el elemento Nombre del proyecto. Luego use F9
para compilar y conectarse, se generará un archivo ejecutable llamado fioe.exe.
Las variables externas son las mismas que las variables públicas definidas por COMMOM en el lenguaje FORTRAN.
4. registro
El registro se denomina variable de registro. Sólo se puede utilizar para variables enteras y de caracteres. El registro definidor significa que la variable especificada por Turbo C2.0 se almacena en el registro de la CPU en lugar de almacenarse en la memoria como una variable ordinaria. Esto puede mejorar la velocidad de operación. Sin embargo, Turbo C2.0 solo permite definir dos variables de registro al mismo tiempo.
Una vez que hay más de dos, el compilador tratará automáticamente las variables de registro que excedan el límite como variables que no son de registro<. /p>
para manejar. Por lo tanto, las variables de registro se utilizan a menudo en lugares donde aparece con frecuencia el mismo nombre de variable.
Además, las variables de registro solo son aplicables a variables locales y parámetros formales de funciones. Son variables de tipo automático.
Por lo tanto, no se pueden utilizar como variables globales. La definición de una variable de registro entero se puede escribir como:
registro int a;
Los tipos de variables y los tipos de almacenamiento de variables introducidos anteriormente se utilizarán en futuros estudios a través de rutinas
Las definiciones y usos del prefacio profundizarán gradualmente su comprensión.
4.4 Variables de matriz
La llamada matriz se refiere a un conjunto de variables con el mismo tipo de datos y el mismo nombre. Se accede a cada elemento específico de la matriz mediante un subíndice. La matriz consta de una dirección de almacenamiento continua, la dirección más baja corresponde al primer elemento de la matriz y la dirección más alta corresponde al último elemento de la matriz. Las matrices pueden ser unidimensionales o multidimensionales. Turbo C2.0 también utiliza variables de matriz como su lenguaje avanzado.
1. Matriz unidimensional
El formato de descripción de una matriz unidimensional es:
Escriba el nombre de la variable [longitud]; > El tipo es Se refiere al tipo de datos, es decir, el tipo de datos de cada elemento de la matriz, incluidos enteros, coma flotante, carácter, puntero, estructura y unión.
Por ejemplo:
int a[10];
unsigned long a[20]
char *s[5] ;
char *f[];
¿Cómo puede ser tan bueno un estudiante de informática? ¡Soy ingeniero de software, hermano!