学習目標:
「MingJieC言語」第3版
第2章
操作とデータタイプ
学習内容:
2-1操作2-2データタイプ勉強の時間:
2020年10月23日午後7時から9時
研究ノート:
2-1操作
演算子とオペランド
#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. +や*などの操作を実行できる記号は、演算子と呼ばれます。操作の対象となる変数または定数は、オペランドと呼ばれます。
2.2。
オペレーター |
---|
a * baとbの積 |
a / baとbの商 |
a%baをbで割って得られる残り |
a + baとbの合計 |
abaとbの違い |
3. printf関数を使用して%を入力します。
フォーマット文字列の%には、変換命令の機能があります。したがって、%を出力する場合は、%%と記述する必要があります。
演習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;
}
演習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データタイプ
データの種類
#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. 5や37のような整数型は、整数定数と呼ばれます。3.14のような小数を含む定数は、浮動小数点定数と呼ばれます。通常、整数定数はint型であり、浮動小数点定数はdouble型です。
2. double型の変数をprintf関数で出力する場合は%fが必要であり、scanf関数で値を割り当てる場合は文字列%lfを使用する必要があります。
演習2-3
/* 显示出读取的实数的值 */
#include <stdio.h>
int main(void)
{
double a;
printf("请输入一个实数:");scanf("%lf",&a);
printf("你输入的是%f",a);
return 0;
}
データの種類と操作
"int / int" = int
"double / double" = double
"double / in" = double
"int / double" = double
練習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;
}
型変換
(double)(a + b)型変換式:a + bの結果をdouble型に変換します。
演習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;
}
変換手順
#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…5桁以上の10進整数を表示します。
%5.1f…5桁以上の浮動小数点数を表示します。ただし、小数点以下1桁しか表示されません。
%0(0フラグ)9(最小フィールド幅)9(精度)f(変換指定子)
演習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;
}