前言
以下代码实例为明解C语言入门版所述代码及自我注释解析。
提示:以下是本篇文章正文内容,下面案例可供参考
2-1 运算
一、运算符和操作数
//读取两个整数的值,并显示出它们的和,差,积,商和余数
#include <stdio.h>
int main()
{
int vx = 0;
int vy = 0;
puts("请输入两个整数。");
printf("整数vx:");
scanf("%d",&vx);
printf("整数vy:");
scanf("%d",&vy);
printf("vx + vy - %d\n",vx + xy);
printf("vx - vy - %d\n",vx - xy);
printf("vx * vy - %d\n",vx * xy);
printf("vx / vy - %d\n",vx / xy);
printf("vx %% vy - %d\n",vx % xy);
return 0;
}
//显示读取处的整数的最后一位数字
#include <stdio.h>
int main()
{
int no = 0;
while(scanf("%d",&no) == 1)//用于测试多个例子是否成立
{
printf("请输入一个整数:");
scanf("%d",&no);
printf("最后一位是%d。\n",no % 10);
}
return 0;
}
二、除法运算的结果
//读取两个整数并显示它们的商和余数
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数。");
printf("整数a:");
scanf("%d",&a);
printf("整数b:");
scanf("%d",&b);
printf("a除以b得 %d 余 %d。\n",a / b, a % b);
return 0;
}
以下两份代码示例为《明解C语言》第二章练习题2-1/2-2.
#include <stdio.h>
int main()
{
int x = 0;
int y = 0;
puts("请输入两个整数。");
printf("整数x:");
scanf("%d", &x);
printf("整数y:");
scanf("%d", &y);
printf("x的值是y的%.0lf%%。", ((double)x / y) *100);
return 0;
}
//读取并输出它们的和与积
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数。");
printf("整数a:");
scanf("%d", &a);
printf("整数b:");
scanf("%d", &b);
printf("它们的和是%d,积是%d。\n", a + b , a * b);
return 0;
}
三、单目运算符
//对读取到的整数进行符号取反并输出
#include <stdio.h>
int main()
{
int num = 0;
printf("请输入一个整数:");
scanf("%d", &num);
printf("符号取反之后的值是%d。\n",-num);
return 0;
}
//读取两个整数并求出它们的平均值
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数:");
printf("整数1:");
scanf("%d", &a);
printf("整数2:");
scanf("%d", &b);
printf("它们的平均值是%d。\n",(a + b) / 2.0);
//为了防止出现平均值为小数时精度丢失。整数/整数得到的是商,整数 / 浮点数
//(浮点数 / 整数)(浮点数 / 浮点数)执行的是浮点数除法。
return 0;
}
2-2 数据类型和运算
四、数据类型
//整数和浮点数
#include <stdio.h>
int main()
{
int n = 9.9;
//double类型的变量赋值给int类型会报错,若要忽视报错可在9.9前加上(int)强制类型转换。
//得到整数9,忽视小数点后面部分。
double x = 9.9;
//后面不加f默认是double类型的浮点数,加了f则是float类型的浮点数
printf("int 型变量n的值:",n);
printf(" n / 2 :",n / 2);
printf("double 型变量x的值:",x);
scanf(" x / 2.0 :",x / 2.0);
return 0;
}
五、double类型的计算
#include <stdio.h>
int main()
{
double x = 0.0;
double y = 0.0;
puts("请输入两个数。");
printf("实数vx:");
scanf("%lf", &vx);
printf("实数vy:");
scanf("%lf", &vy);
printf("vx + vy = %lf\n",vx + vy);
printf("vx - vy = %lf\n",vx - vy);
printf("vx * vy = %lf\n",vx * vy);
printf("vx / vy = %lf\n",vx / vy);
return 0;
}
以下代码示例为《明解C语言》第二章练习题2-3.
//编写程序显示实数值
#include <stdio.h>
int main()
{
double num = 0.0;
printf("请输入一个实数:");
scanf("%lf",&num);
printf("你输入的是%lf",num);
return 0;
}
六、double类型的计算
//读取两个整数并用浮点数表示出平均值
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数。");
printf("%d",a);
scanf("%d",&a);
printf("%d",b);
scanf("%d",&b);
printf("他们的平均值是%lf。\n",(a + b) / 2.0);
return 0;
}
以下代码示例为《明解C语言》第二章练习题2-4.
//读取两个整数并用浮点数表示出平均值
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数。");
printf("%d",a);
scanf("%d",&a);
printf("%d",b);
scanf("%d",&b);
printf("他们的平均值是%lf。\n",(double)(a + b) / 2.0);
return 0;
}
以下代码示例为《明解C语言》第二章练习题2-5.
//读取两个整数显示出实数百分比
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
puts("请输入两个整数。");
printf("整数a:");
scanf("%d",&a);
printf("整数b:");
scanf("%d",&b);
printf("a是b的%lf%%。\n",(double)a / b * 100);
return 0;
}
//读取三个整数显示合计值与平均值
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
puts("请输入三个整数。");
printf("整数a:");
scanf("%d",&a);
printf("整数b:");
scanf("%d",&b);
printf("整数c:");
scanf("%d",&c);
int sum = a + b + c;
printf("它们的合计值是 %d。\n",sum);
double avg = sum / 3.0;
printf("它们的平均值是 %lf。\n", avg);
return 0;
}
以下代码示例为《明解C语言》第二章练习题2-6.
//读取身高计算出标准体重(保留一位小数)
#include <stdio.h>
int main()
{
int height = 0;
double weight = 0.0;
printf("请输入您的身高:");
scanf("%d",&height);
printf("您的标准体重是%.1lf公斤。\n",(height -100) * 0.9);
return 0;
}
//总结:求圆的面积
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
double r = 0.0;
printf("整数 a 和 b 的值:");
scanf("%d %d",&a,&b);
printf("a + b = %d。\n",a + b);
printf("a - b = %d。\n",a - b);
printf("a * b = %d。\n",a * b);
printf("a / b = %d。\n",a / b);
printf("a %% b = %d。\n",a % b);
printf("(a + b) / 2 = %d\n",(a + b) / 2);
printf("平均值 = %lf\n\n",(a + b) / 2.0);
printf("半径:");
scanf("%lf",&r);
printf("半径为%.3lf的圆的面积是%.3lf。\n",r,3.14 * r * r);
return 0;
}
总结
数据类型只需关注以上所提及的注释部分即可,正确的使用会在不同情况下让程序更快达成想要的结果。