Experimento 2 del curso de diseño de algoritmos y lenguaje C: tipos de datos, operadores y entrada y salida simples
- 1. Propósito del experimento
- 2. Contenido experimental
-
- 2.1 Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto:
- 2.2 Ingrese al programa del Capítulo 3, Pregunta 5
- 2.3 Ingrese al siguiente programa:
- 2.4 Pregunta de diseño del programa: si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el aumento porcentual del PNB de mi país dentro de 10 años. Programación.
- 3. Pasos experimentales
- 3.1 Tipos de datos, operadores y entrada y salida simple Experimento Tema 1: Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto:
- 3.2 Tipos de datos, operadores y entrada y salida simple Experimento Tema 2: Entrada al programa del Capítulo 3, Pregunta 5
- 3.3 Tipos de datos, operadores y entrada y salida simple Experimento tema 3: Ingrese el siguiente programa:
- 3.4 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 4: Pregunta de diseño del programa: Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el porcentaje de aumento del PNB de mi país dentro de 10 años. Programación.
- 3.4.1 Escribir programas
-
- 3.4.1.1, el porcentaje de cálculo del método de bucle for es el siguiente
- 3.4.1.2 El método para llamar a la función matemática para calcular el porcentaje es el siguiente
- 3.4.1.3, el método de bucle for y el método de llamar a la función matemática para calcular el porcentaje para formar un programa integral es el siguiente
- 3.4.2 Cambiar la tasa de interés anual al método de entrada
- 3.4.3 Agregar declaración de la función printf en el programa
- 4. Resumen experimental
- 5. El procedimiento completo del experimento.
-
- 5.1 Tipos de datos, operadores y entrada y salida simple Experimento Tema 1: Ingrese y ejecute el programa completo del programa dado en el Capítulo 3, Pregunta 4 del libro de texto
- 5.2 Tipos de datos, operadores y entrada y salida simple Experimento Tema 2: Ingrese el programa completo del programa en el Capítulo 3, Pregunta 5
- 5.3 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 3: Ingrese el programa completo del siguiente programa
- 5.4 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 4: Pregunta de diseño del programa: Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el porcentaje de aumento del PNB de mi país dentro de 10 años. Programa completo para escribir programas.
1. Propósito del experimento
- (1) Dominar los tipos de datos del lenguaje C y comprender la relación interna entre los datos de caracteres y los datos enteros.
- (2) Dominar los métodos de entrada correctos para varios datos numéricos.
- (3) Aprenda a usar los operadores aritméticos relevantes de C, así como las expresiones que contienen estos operadores, especialmente el uso de operadores de autoincremento ( + + ) y autodecremento (- -).
- (4) Aprenda a escribir y ejecutar aplicaciones simples.
- (5) Familiarizarse más con el proceso de edición, compilación, enlace y ejecución de programas C.
2. Contenido experimental
2.1 Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto:
(1) Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto de la siguiente manera:
#include <stdio.h>
int main()
{
char cl, c2;
cl = 97;
c2 = 98;
printf("%c %c\n"cl, c2);
printf("%d %d\n", cl, c2);
return 0;
}
-
① Ejecute el programa anterior y analice por qué se emite la información.
-
②Si cambia las líneas 4 y 5 del programa a
cl = 197;
c2 = 198;
¿Qué información se generará cuando se ejecute? ¿Por qué?
- ③ Si la tercera línea del programa se cambia a
int cl,c2;
¿Qué información se generará cuando se ejecute? ¿Por qué?
2.2 Ingrese al programa del Capítulo 3, Pregunta 5
(2) Ingrese el programa en el Capítulo 3, Pregunta 5. Es decir:
use la siguiente función scanf para ingresar datos para hacer a = 3, b = 7, x = 8.5, y = 71.82, cl = 'A' , c2 = 'a'
. Preguntar cómo escribir en el teclado?
#include <stdio.h>
int main()
{
int a, b;
float x, y;
char c1, c2;
scanf("a=%d b=%d", &a, &b);
scanf("%f %e", &x, &y);
scanf("%c%c", &c1, &c2);
return 0;
}
Al ejecutar, ingrese datos de las siguientes maneras, observe los resultados de salida y analice las razones.
A través de esta pregunta, resuma las reglas de los datos de entrada y los lugares que son propensos a errores.
2.3 Ingrese al siguiente programa:
Ingresa al siguiente programa:
#include <stdio.h>
int main()
{
int i, j, m, n;
i = 8;
j = 10;
m = ++i; n = j ++;
printf("%d, %d, %d, %d\n", i, j, m, n);
return 0;
}
① Compile y ejecute el programa, preste atención a los valores de las variables i, j, m, n.
② Cambie las líneas 6 y 7 a
m = i++;
n = ++j;
Luego compile y ejecute, y analice los resultados.
③ Programa cambiado a
#include <stdio.h>
int main()
{
int i, j;
i = 8;
j = 10;
printf("%d,%d\n", i++, j ++);
}
Luego compile y ejecute, y analice los resultados.
④ Sobre la base de ③, cambie la instrucción printf a
printf("%d, %d\n", ++i, ++j);
Compilar y ejecutar de nuevo.
⑤ Cambie la instrucción printf a
printf("%d, %d, %d, %d\n", i, j, i++, j++);
Luego compile y ejecute, y analice los resultados.
⑥ El programa se cambia a:
#include <stdio.h>
int main()
{
int i, j, m = 0, n = 0;
i = 8;
j = 10;
m += i ++; n -= --j;
printf("i= %d,j= %d,m= %d,n= %d\n", i, j, m, n);
return 0;
}
Luego compile y ejecute, y analice los resultados.
2.4 Pregunta de diseño del programa: si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el aumento porcentual del PNB de mi país dentro de 10 años. Programación.
(4) Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el aumento porcentual del PNB de mi país dentro de 10 años. Escribe un programa (Capítulo 3, Pregunta 1)
La fórmula de cálculo es:
r es la tasa de crecimiento anual, n es el número de años y p es el múltiplo comparado con el presente.
- ① Ingrese el programa compilado por usted mismo, compile y ejecute, y analice los resultados de la ejecución.
- ② La tasa de crecimiento anual no se especifica en el programa; en su lugar, use la función scanf para ingresar e ingrese 7%, 8% y 10% respectivamente. Resultados de la observación.
- ③ Agregue la declaración de la función printf en el programa para indicar qué datos ingresar y explicar qué datos generar.
3. Pasos experimentales
3.1 Tipos de datos, operadores y entrada y salida simple Experimento Tema 1: Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto:
(1) Ingrese y ejecute el programa dado en el Capítulo 3, Pregunta 4 del libro de texto de la siguiente manera:
#include <stdio.h>
int main()
{
char cl, c2;
cl = 97;
c2 = 98;
printf("%c %c\n"cl, c2);
printf("%d %d\n", cl, c2);
return 0;
}
- ① Ejecute el programa anterior y analice por qué se emite la información.
Ejecute el programa anterior, la salida de esta información es la siguiente
error C2146: 语法错误: 缺少“)”(在标识符“cl”的前面)
warning C4473: “printf”: 没有为格式字符串传递足够的参数
message : 占位符和其参数预计 2 可变参数,但提供的却是 0 参数
message : 缺失的可变参数 1 为格式字符串“%c”所需
error C2059: 语法错误:“)”
2>已完成生成项目“2-数据类型、运算符和简单的输入输出.vcxproj”的操作 - 失败。
========== 全部重新生成: 成功 1 个,失败 1 个,跳过 0 个 ==========
El motivo del error es que
printf("%c %c\n"cl, c2);
falta una coma delante de c1.
ha sido cambiado para verse así
printf("%c %c\n", cl, c2);
La operación de compilación puede pasar, como se muestra a continuación
- ②Si cambia las líneas 4 y 5 del programa a
cl = 197;
c2 = 198;
¿Qué información se generará cuando se ejecute? ¿Por qué?
Si cambia las líneas 4 y 5 del programa a
cl = 197;
c2 = 198;
los resultados de ejecución son los siguientes
Puedes ver que la salida es
??
-59 -58
- ③ Si la tercera línea del programa se cambia a
int cl,c2;
¿Qué información se generará cuando se ejecute? ¿Por qué?
Si la tercera línea del programa se cambia a
int cl, c2,
el resultado de salida es el siguiente
Cambie la línea 3 a
int cl, c2;
el resultado de salida es
ab
97 98
3.2 Tipos de datos, operadores y entrada y salida simple Experimento Tema 2: Entrada al programa del Capítulo 3, Pregunta 5
(2) Ingrese el programa en el Capítulo 3, Pregunta 5. Es decir:
use la siguiente función scanf para ingresar datos para hacer a = 3, b = 7, x = 8.5, y = 71.82, cl = 'A' , c2 = 'a'
. Preguntar cómo escribir en el teclado?
#include <stdio.h>
int main()
{
int a, b;
float x, y;
char c1, c2;
scanf("a=%d b=%d", &a, &b);
scanf("%f %e", &x, &y);
scanf("%c%c", &c1, &c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n", a, b, x, y, c1, c2);
return 0;
}
Al ejecutar, ingrese datos de las siguientes maneras, observe los resultados de salida y analice las razones.
Como ingresar datos
- a=3,b=7,x=8.5,y=71.82,A,a gira
Los resultados de entrada y salida son los siguientes
a=3,b=7,x=8.5,y=71.82,A,a
a=3,b=-858993460,x=-107374176.000000,y=-107374176.000000,c1=,,c2=b
- a=3 b=7 x=8.5 y=71.82 A
Los resultados de entrada y salida son los siguientes
a=3 b=7 x=8.5 y=71.82 A a
a=3,b=-858993460,x=-107374176.000000,y=-107374176.000000,c1=b,c2==
- a=3 b=7 8.5 71.82 A
Los resultados de entrada y salida son los siguientes
a=3 b=7 8.5 71.82 A a
a=3,b=7,x=8.500000,y=71.820000,c1= ,c2=A
- a=3 b=7 8.5 71.82AaEntrar
Los resultados de entrada y salida son los siguientes
a=3 b=7 8.5 71.82Aa
a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a
- 3 7 8.5 71.82AaEntrar
Los resultados de entrada y salida son los siguientes
3 7 8.5 71.82Aa
a=-858993460,b=-858993460,x=3.000000,y=7.000000,c1= ,c2=8
- a=3 b=7 entrar
8.5 71.82 entrar
A entrar
a entrar
Los resultados de entrada y salida son los siguientes
a=3 b=7
8.5 71.82
A
a=3,b=7,x=8.500000,y=71.820000,c1=
,c2=A
- a=3 b=7 Entrar
8.5 71.82 Entrar
Aa Entrar
Los resultados de entrada y salida son los siguientes
a=3 b=7
8.5 71.82
Aa
a=3,b=7,x=8.500000,y=71.820000,c1=
,c2=A
8. a=3 b=7 Entrar
8.5 71.82Aa Entrar
Los resultados de entrada y salida son los siguientes
a=3 b=7
8.5 71.82Aa
a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a
A través de esta pregunta, resuma las reglas de los datos de entrada y los lugares que son propensos a errores.
scanf("a=%d b=%d", &a, &b);
Al ingresar, debea=%d b=%d
ser consistente con:a=3 b=7
scanf("%f %e", &x, &y);
Al ingresar, debe%f %e
ser consistente con:8.5 71.82
3.3 Tipos de datos, operadores y entrada y salida simple Experimento tema 3: Ingrese el siguiente programa:
Ingresa al siguiente programa:
#include <stdio.h>
int main()
{
int i, j, m, n;
i = 8;
j = 10;
m = ++i; n = j ++;
printf("%d, %d, %d, %d\n", i, j, m, n);
return 0;
}
① Compile y ejecute el programa, preste atención a los valores de las variables i, j, m, n.
Ejecute el programa anterior, el resultado es el siguiente
++i es agregar uno a la variable en sí primero y luego asignarlo a la variable m.
j ++ significa que la variable se asigna primero a la variable n, y luego se agrega una a sí misma.
Entonces m=9, n=10
② Cambie las líneas 6 y 7 a
m = i++;
n = ++j;
Luego compile y ejecute el programa anterior, el resultado es el siguiente
i ++ es asignar la variable a la variable m primero y luego agregar una a sí misma.
++j es agregar uno a la variable en sí primero y luego asignarlo a la variable m.
Entonces m=8, n=11
- El análisis de 3-6 es similar al análisis de 1-2.
③ Programa cambiado a
#include <stdio.h>
int main()
{
int i, j;
i = 8;
j = 10;
printf("%d,%d\n", i++, j ++);
}
Luego compile y ejecute el programa anterior, el resultado es el siguiente
④ Sobre la base de ③, printf
cambie la declaración a
printf("%d, %d\n", ++i, ++j);
Luego compile y ejecute el programa anterior, el resultado es el siguiente
⑤ Cambie la instrucción printf a
printf("%d, %d, %d, %d\n", i, j, i++, j++);
Luego compile y ejecute el programa anterior, el resultado es el siguiente
⑥ El programa se cambia a:
#include <stdio.h>
int main()
{
int i, j, m = 0, n = 0;
i = 8;
j = 10;
m += i ++; n -= --j;
printf("i= %d,j= %d,m= %d,n= %d\n", i, j, m, n);
return 0;
}
Luego compile y ejecute el programa anterior, el resultado es el siguiente
3.4 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 4: Pregunta de diseño del programa: Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el porcentaje de aumento del PNB de mi país dentro de 10 años. Programación.
(4) Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el aumento porcentual del PNB de mi país dentro de 10 años. Escribe un programa (Capítulo 3, Pregunta 1)
La fórmula de cálculo es:
r es la tasa de crecimiento anual, n es el número de años y p es el múltiplo comparado con el presente.
- ① Ingrese el programa compilado por usted mismo, compile y ejecute, y analice los resultados de la ejecución.
3.4.1 Escribir programas
Escriba el programa de la siguiente manera
3.4.1.1, el porcentaje de cálculo del método de bucle for es el siguiente
//for 循环方式计算
for (int i = 0; i < n; i++)
{
p = p * (1 + r);
}
printf("%.3lf\n", p);
3.4.1.2 El método para llamar a la función matemática para calcular el porcentaje es el siguiente
// 调用math函数方式
p = 1.0;
r = 0.09;
n = 10;
p = pow(1 + r, n);
printf("%.3lf\n", p);
3.4.1.3, el método de bucle for y el método de llamar a la función matemática para calcular el porcentaje para formar un programa integral es el siguiente
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
system("color 3E");
double p, r;
int n;
p = 1.0;
r = 0.09;
n = 10;
// for 循环方式
for (int i = 0; i < n; i++)
{
p = p * (1 + r);
}
printf("%.3lf\n", p);
// 调用math函数方式
p = 1.0;
r = 0.09;
n = 10;
p = pow(1 + r, n);
printf("%.3lf\n", p);
system("pause");
return 0;
}
El resultado de la compilación del programa es el siguiente
- ② La tasa de crecimiento anual no se especifica en el programa; en su lugar, use la función scanf para ingresar e ingrese 7%, 8% y 10% respectivamente. Resultados de la observación.
3.4.2 Cambiar la tasa de interés anual al método de entrada
El procedimiento es el siguiente
p = 1.0;
//r = 0.09;
n = 10;
scanf("%lf", &r);
// for 循环方式
for (int i = 0; i < n; i++)
{
p = p * (1 + r);
}
printf("%.3lf\n\n", p);
// 调用math函数方式
p = 1.0;
//r = 0.09;
n = 10;
scanf("%lf", &r);
p = pow(1 + r, n);
printf("%.3lf\n", p);
Ingrese
7%,8%,10%
los resultados de ejecución respectivamente de la siguiente manera
- 7%
2. 8%
- 10%
3.4.3 Agregar declaración de la función printf en el programa
③ Agregue la declaración de la función printf en el programa para indicar qué datos ingresar y explicar qué datos generar.
Agrega printf
la siguiente declaración
printf("输入年利率: ");
printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);
El resultado de ejecutar el programa es el siguiente
4. Resumen experimental
Esta vez, aprobé el experimento 2 del curso de lenguaje C y diseño de algoritmos: tipos de datos, operadores y entrada y salida simple. Domina los siguientes puntos.
- (1) Dominar los tipos de datos del lenguaje C y comprender la relación interna entre los datos de caracteres y los datos enteros.
- (2) Dominar los métodos de entrada correctos para varios datos numéricos.
- (3) Aprenda a usar los operadores aritméticos relevantes de C, así como las expresiones que contienen estos operadores, especialmente el uso de operadores de autoincremento ( + + ) y autodecremento (- -).
- (4) Aprenda a escribir y ejecutar aplicaciones simples.
- (5) Familiarizarse más con el proceso de edición, compilación, enlace y ejecución de programas C.
5. El procedimiento completo del experimento.
5.1 Tipos de datos, operadores y entrada y salida simple Experimento Tema 1: Ingrese y ejecute el programa completo del programa dado en el Capítulo 3, Pregunta 4 del libro de texto
El programa completo es el siguiente
#include <stdio.h>
int main()
{
/*char cl, c2;*/
int cl, c2;
cl = 97;
c2 = 98;
printf("%c %c\n", cl, c2);
printf("%d %d\n", cl, c2);
return 0;
}
5.2 Tipos de datos, operadores y entrada y salida simple Experimento Tema 2: Ingrese el programa completo del programa en el Capítulo 3, Pregunta 5
El programa completo es el siguiente
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int a, b;
float x, y;
char c1, c2;
scanf("a=%d b=%d", &a, &b);
scanf("%f %e", &x, &y);
scanf("%c%c", &c1, &c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n", a, b, x, y, c1, c2);
return 0;
}
5.3 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 3: Ingrese el programa completo del siguiente programa
El programa completo es el siguiente
#include <stdio.h>
int main()
{
//int i, j, m, n;
//i = 8;
//j = 10;
///*m = ++i; n = j++;*/
//m = i++;
//n = ++j;
//printf("%d, %d, %d, %d\n", i, j, m, n);
/*int i, j;
i = 8;
j = 10;*/
/*printf("%d,%d\n", i++, j++);*/
/*printf("%d, %d\n", ++i, ++j);*/
/*printf("%d, %d, %d, %d\n", i, j, i++, j++);*/
int i, j, m = 0, n = 0;
i = 8;
j = 10;
m += i++; n -= --j;
printf("i= %d,j= %d,m= %d,n= %d\n", i, j, m, n);
return 0;
}
5.4 Tipos de datos, operadores y experimentos simples de entrada y salida Tema 4: Pregunta de diseño del programa: Si la tasa de crecimiento anual del PNB de mi país es del 9%, calcule el porcentaje de aumento del PNB de mi país dentro de 10 años. Programa completo para escribir programas.
El programa completo es el siguiente
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
system("color 3E");
double p, r;
int n;
p = 1.0;
//r = 0.09;
n = 10;
printf("输入年利率: ");
scanf("%lf", &r);
// for 循环方式
for (int i = 0; i < n; i++)
{
p = p * (1 + r);
}
printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);
// 调用math函数方式
p = 1.0;
//r = 0.09;
n = 10;
printf("输入年利率: ");
scanf("%lf", &r);
p = pow(1 + r, n);
printf("\n国民生产总值与现在相比增长%.3lf百分比\n\n", p);
system("pause");
return 0;
}