《明解c语言入门篇》第二章代码清单以及习题答案

学习目标:

 第二章:运算和数据类型


学习内容:

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	}

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值