学习目标:
第二章:运算和数据类型
学习内容:
2-1 运算
代码清单2-1
代码清单2-2
//获取整数的最后一位数字//
2 #define _CRT_SECURE_NO_WARNINGS 1
3 #include <stdio.h>
4 int main()
5 {
6 int no;
7 printf("请输入一个整数:");
8 scanf("%d", &no);
9 printf("最后一位是%d", no % 10);
10 return 0;
11 }
代码清单2-3
//读取两个整数,显示它们的商和余数//
2 #define _CRT_SECURE_NO_WARNINGS 1
3 #include <stdio.h>
4 int main()
5 {
6 int a, b;
7 puts("请输入两个整数:");
8 printf("整数一:"); scanf("%d", &a);
9 printf("整数二:"); scanf("%d", &b);
10 printf("a除以b得%d余%d\n", a / b, a % b);
11 return 0;
12 }
练习2-1
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int x, y;
puts("请输入两个整数:");
printf("整数一:"); scanf("%d", &x);
printf("整数二:"); scanf("%d", &y);
printf("x的值是y的%d%%", (x*100 )/ y );
return 0;
}
练习2-2
#define _CRT_SECURE_NO_WARNINGS 1
2 #include <stdio.h>
3 int main()
4 {
5 int a, b;
6 puts("请输入两个整数:");
7 printf("整数a:"); scanf("%d", &a);
8 printf("整数b:"); scanf("%d", &b);
9 printf("它们的和是%d,积是%d\n", a + b, a * b);
10 return 0;
11 }
代码清单2-4
#define _CRT_SECURE_NO_WARNINGS 1
//对读取的整数值进行取反操作//
#include <stdio.h>
int main()
{
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("符号取反之后的值是%d", -num);
return 0;
}
2-2 数据类型
代码清单2-5
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 //读取两个整数并显示出它们的平均值//
6 int a, b;
7 puts("请输入两个整数:");
8 printf("整数a:"); scanf("%d", &a);
9 printf("整数b:"); scanf("%d", &b);
10 printf("它们的平均值是:%f", (a + b) / 2);
11 return 0;
代码清单2-6
#define _CRT_SECURE_NO_WARNINGS 1
2 //整数和浮点数//
3 #include <stdio.h>
4 int main()
5 {
6 int n;//整数//
7 double x;//浮点数//
8 n = 9.99;
9 x = 9.99;
10 printf("int型变量n的值:%d\n", n);
11 printf("n/2:%d\n", n / 2);
12 printf("double型变量x的值:%f\n", x);
13 printf("x/2.0:%f\n", x / 2.0);
14 return 0;
15 }
代码清单2-7
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
double vx, vy;
puts("请输入两个数:");
printf("实数vx:"); scanf("%lf", &vx);
printf("实数vy:"); scanf("%lf", &vy);
printf("vx+vy=%f\n", vx + vy);
printf("vx-vy=%f\n", vx - vy);
printf("vx*vy=%f\n", vx * vy);
printf("vx/vy=%f\n", vx / vy);
return 0;
}
代码清单2-8
#define _CRT_SECURE_NO_WARNINGS 1
2
3 #include<stdio.h>
4 int main()
5 {
6 int n1, n2, n3, n4;
7 double d1, d2, d3, d4;
8 n1 = 5 / 2;
9 n2 = 5.0 / 2.0;
10 n3 = 5.0 / 2;
11 n4 = 5 / 2.0;
12
13 d1 = 5 / 2;
14 d2 = 5.0 / 2.0;
15 d3 = 5.0 / 2;
16 d4 = 5 / 2.0;
17
18 printf("n1=%d\n", n1);
19 printf("n2=%d\n", n2);
20 printf("n3=%d\n", n3);
21 printf("n4=%d\n", n4);
22
23 printf("d1=%f\n", d1);
24 printf("d2=%f\n",d2);
25 printf("d3=%f\n", d3);
26 printf("d4=%f\n", d4);
27
28 return 0;
29 }
代码清单2-9
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 //读取两个整数并用浮点数显示出它们的平均值//
6 int a, b;
7 puts("请输入两个整数:");
8 printf("整数a:"); scanf("%d", &a);
9 printf("整数b:"); scanf("%d", &b);
10 printf("它们的平均值是:%f", (a + b) / 2.0);
11 return 0;
12 }
代码清单2-10
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 //读取两个整数并用浮点数显示出它们的平均值(类型转换)//
6 int a, b;
7 puts("请输入两个整数:");
8 printf("整数a:"); scanf("%d", &a);
9 printf("整数b:"); scanf("%d", &b);
10 printf("它们的平均值是:%f", (double)(a + b) / 2);
11 return 0;
12 }
练习2-5
此处我是将a通过类型转换运算符()转换成了double类型的值,从而形成了double/int,所得结果也会是double类型,另外也可以写成(double)(a*100)/b
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5
6 int a, b;
7 puts("请输入两个整数:");
8 printf("整数a:"); scanf("%d", &a);
9 printf("整数b:"); scanf("%d", &b);
10 printf("a是b的%f%%", ((double)a/b)*100);
11 return 0;
12 }
代码清单2-11
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
/*读取三个整数,并显示它们的合计值和平均值*/
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 = sum / 3.0;
printf("它们的合计值是%5d\n", sum);
printf("平均值是%5.1f\n", ave);
return 0;
}
代码清单2-12
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 printf("[%d]\n", 123);
6 printf("[%.4d]\n", 123);
7 printf("[%4d]\n", 123);
8 printf("[%04d]\n", 123);
9 printf("[%-4d]\n\n", 123);
10
11 printf("[%d]\n", 12345);
12 printf("[%.3d]\n", 12345);
13 printf("[%3d]\n", 12345);
14 printf("[%03d]\n", 12345);
15 printf("[%-3d]\n", 12345);
16
17 printf("[%f]\n", 123.13);
18 printf("[%.1f]\n", 123.13);
19 printf("[%6.1f]\n", 123.13);
20
21 printf("[%f]\n", 123.13);
22 printf("[%.1f]\n", 123.13);
23 printf("[%4.1f]\n", 123.13);
24
25 return 0;
26 }
练习2-6
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 int height; //身高//
6 double weight;//体重//
7 printf("请输入您的身高:");
8 scanf("%d", &height);
9 weight = (height - 100) * 0.9;
10 printf("您的标准体重是%.1f公斤", weight);
11 return 0;
12 }
第二章总结
#define _CRT_SECURE_NO_WARNINGS 1
2 #include<stdio.h>
3 int main()
4 {
5 int a, b;
6 double r;//半径//
7 printf("整数a和b的值:");
8 scanf("%d%d", &a ,& b);
9 printf("a+b=%d\n", a + b);
10 printf("a-b=%d\n", a - b);
11 printf("a*b=%d\n", a * b);
12 printf("a/b=%d\n", a / b);
13 printf("a%%b=%d\n", a % b);
14
15
16
17 printf("(a+b)/2=%d\n", (a + b) / 2);
18 printf("平均值=%f\n", (double)(a + b) / 2);
19
20 printf("半径:");
21 scanf("%lf", &r);
22 printf("半径为%.3f的圆的面积是%.3f", r, 3.14 * r * r);
23 return 0;
24 }