alvo de aprendizagem:
"Linguagem Ming Jie C" Terceira edição,
Capítulo 2
Operações e tipos de dados
Conteúdo de aprendizagem:
2-1 Operação 2-2 Tipo de dadostempo de estudo:
19h às 21h, 23 de outubro de 2020
Notas de estudo:
2-1 Operação
Operadores e operandos
#include<stdio.h>
int main(void)
{
int vx,vy;
puts("请输入两个整数。");
printf("整数vx:");scanf("%d",&vx);
printf("整数vy:");scanf("%d",&vy);
printf("vx+vy=%d\n", vx+vy);
printf("vx-vy=%d\n", vx-vy);
printf("vx*vy=%d\n", vx*vy);
printf("vx/vy=%d\n", vx/vy);
printf("vx%%vy=%d\n", vx%vy);
return 0;
}
1. Os símbolos que podem realizar operações como + e * são chamados de operadores . A variável ou constante que é o objeto da operação é chamada de operando .
2
Operador |
---|
produto de a * ba e b |
quociente de a / ba e b |
o restante obtido dividindo a% ba por b |
a soma de a + ba e b |
ab A diferença entre a e b |
3. Use a função printf para inserir%.
O% na string de formato tem a função de instruções de conversão. Portanto, quando você deseja produzir%, deve escrever %%.
Exercício 2-1
/* 显示前者是后者的百分之几 */
#include <stdio.h>
int main(void)
{
int a,b;
puts("请输入两个整数。");
printf("整数x:");scanf("%d",&a);
printf("整数y:");scanf("%d",&b);
printf("x的值是y的%.0f%%\n.",((double)a/b)*100);
return 0;
}
Exercício 2-2
/* 读取两个整数,然后输出它们的和以及积。 */
#include <stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数a:");scanf("%d",&a);
printf("整数b:");scanf("%d",&b);
printf("它们的和是%d, 积是%d",a+b, a*b);
return 0;
}
2-2 Tipo de dados
tipo de dados
#include<stdio.h>
int main(void)
{
int n;
double x;
n=9.99;
x=9.99;
printf("int 型变量n的值:%d\n",n);
printf(" n/2:%d\n",n/2);
printf("double型变量x的值:%f\n",x);
printf(" x/2.0:%f\n",x/2.0);
return 0;
}
1. Tipos inteiros como 5 e 37 são chamados de constantes inteiras. Constantes que contêm decimais como 3.14 são chamadas constantes de ponto flutuante. Normalmente as constantes inteiras são do tipo int e as constantes de ponto flutuante são do tipo double.
2. Quando a variável do tipo double é gerada por meio da função printf,% f é necessário, e quando o valor é atribuído por meio da função scanf, a string% lf é necessária.
Exercício 2-3
/* 显示出读取的实数的值 */
#include <stdio.h>
int main(void)
{
double a;
printf("请输入一个实数:");scanf("%lf",&a);
printf("你输入的是%f",a);
return 0;
}
Tipos de dados e operações
"int / int" = int
"double / double" = double
"double / in" = double
"int / double" = double
Prática 2-4
#include<stdio.h>
int main(void)
{
int n1,n2,n3,n4;
double d1,d2,d3,d4;
n1 = 5/2;
n2=5.0/2.0;
n3=5.0/2;
n4=5/2.0;
d1=5/2;
d2=5.0/2.0;
d3=5.0/2;
d4=5/2.0;
printf("n1=%d\n",n1);
printf("n2=%d\n",n2);
printf("n3=%d\n",n3);
printf("n4=%d\n\n",n4);
printf("d1=%f\n",d1);
printf("d2=%f\n",d2);
printf("d3=%f\n",d3);
printf("d4=%f\n",d4);
return 0;
}
Conversão de tipo
(duplo) (a + b) Expressão de conversão de tipo: converta o resultado de a + b em tipo duplo
Exercício 2-5
/* 读取两个整数的值,计算出前者是后者的百分之几,并用实数输出结果。 */
#include <stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数a:");scanf("%d",&a);
printf("整数b:");scanf("%d",&b);
printf("a是b的%f%%\n",((double)a/b*100));
return 0;
}
Instruções de conversão
#include<stdio.h>
int main(void)
{
int a,b,c;
int sum;
double ave;
puts("请输入三个整数");
printf("整数a");scanf("%d",&a);
printf("整数b");scanf("%d",&b);
printf("整数c");scanf("%d",&c);
sum=a+b+c;
ave=(double)sum/3;
printf("它们的合计值是%5d。\n",sum); //输出99999
printf("它们的平均值是%5.1f。\n,ave); //输出999.9
return 0;
}
% 5d… Exibe um número inteiro decimal com pelo menos 5 dígitos.
% 5.1f… Exibe um número de ponto flutuante com pelo menos 5 dígitos. No entanto, apenas um dígito é exibido após o ponto decimal.
% 0 (0 sinalizador) 9 (largura mínima do campo). 9 (precisão) f (especificador de conversão)
exercício 2-6
/* 读取表示身高的整数,显示出标准体重的实数值。标准体重根据公式
(身高-100)*0.9进行计算,所得结果保留一位小数。 */
#include <stdio.h>
int main(void)
{
int a;
printf("请输入您的身高:");scanf("%d",&a);
printf("您的标准体重是%.1f公斤",(a - 100) * 0.9);
return 0;
}