【C语言】通过质数打印代码初识C语言

本文介绍了C语言的基本概念,重点通过实例讲解如何用C语言找出100-200之间的素数,展示了C语言的执行过程,包括编译和链接,并强调了理解和运用逻辑思维在编程中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. C语⾔是什么?

  ⼈和⼈交流使⽤的是⾃然语⾔,如:汉语、英语、⽇语 

  那⼈和计算机是怎么交流的呢?使⽤计算机语⾔

  ⽬前已知已经有上千种计算机语⾔,⼈们是通过计算机语⾔写的程序,给计算机下达指令,让计    算机 ⼯作的。

  C语⾔就是众多计算机语⾔中的⼀种,当然C++/Java/Go/Python都是计算机语⾔。

2.C语言的执行过程

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。

C语⾔代码是放在 .c 为后缀的⽂件中的,要得到最终运⾏的可执⾏程序,中间要经过编译和链接2个 过程。

⼀个工程⼀般都会有多个源文件组成,如下图所示,演示了源程序经过编译器和链接器处理的过程。 

 注:

 1. 每个源文件(.c)单独经过编译器处理⽣成对应的目标文件(.obj为后缀的文件)  

2. 多个目标文件和库文件经过链接器处理生成对应的可执行程序(.exe文件)

3.通过质数打印代码初识C语言

 3.1题目

找出100~200之间的素数,并打印在屏幕上。

注:素数⼜称质数,只能被1和本⾝整除的数字。

 3.2题目解析

1. 要从100~200之间找出素数,⾸先得有100~200之间的数,这⾥可以使⽤循环解决。

2. 假设要判断i是否为素数,需要拿2~i-1之间的数字去试除i,需要产⽣2~i-1之间的数字,也可以使⽤ 循环解决。

3. 如果2~i-1之间有数字能整除i,则i不是素数,如果都不能整除,则i是素数。

 3.3代码实现

#include <stdio.h>
int main()
{
	int a = 0;
	for (a = 100; a <= 200;a++)//先打印100到200的数字
	{
		int b = 0;
		int flag= 1;//先设素数为1
		//每一次循环进来都会产生一个数字
		//判断i是否是素数
		//产生2~i-1之间的数字去试除i
			for (b = 2; b < a ; b++)
			{
				if (a % b == 0)
				{
					 flag= 0;
					break;
				}				
			}
	    if (flag == 1)
		printf("%d", a);
	}
	return 0;
}

 3.4代码进阶

1.偶数没有素数

 

int main()
{
	int i = 0;
	int count = 0;
	for (i = 101; i <= 200; i+=2)
	{
		int flag = 1;//假设i是素数
		//printf("%d ", i);
		//每一次循环进来都会产生一个数字
		//判断i是否是素数
		//产生2~i-1之间的数字去试除i
		int j = 0;
		for (j = 2; j <= i - 1; j++)
		{
			if (i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		//
		if (flag == 1)
		{
			count++;
			printf("%d ", i);
		}
	}
	printf("\ncount = %d\n", count);
	return 0;
}

 2.利用开平方

a*b=m,则a和b中至少有一个<=根号下m

判断是否为素数,则被除数可以是2~根号下m

#include <math.h>
int main()
{
	int i = 0;
	int count = 0;
	for (i = 101; i <= 200; i += 2)
	{
		int flag = 1;//假设i是素数
		//printf("%d ", i);
		//每一次循环进来都会产生一个数字
		//判断i是否是素数
		//产生2~i-1之间的数字去试除i
		int j = 0;
		for (j = 2; j <= sqrt(i); j++)
		{
			if (i % j == 0)
			{
				flag = 0;
				break;
			}
		}
		
		if (flag == 1)
		{
			count++;
			printf("%d ", i);
		}
	}
	printf("\ncount = %d\n", count);
	return 0;
}

 3.3代码结果

 4.总结

C语言是一门计算机语言,对我们来说就像是一种和计算机对话的工具,我们不仅仅需要掌握好这门工具,更需要有使用这种工具去创作的能力。

就像打印素数,我们需要会使用C语言去打代码,还需要知道:

1.素数的定义能求解素数

2.具有逻辑能力,能将逻辑关系捋清楚,然后一步一步实现,避免出错

3.以及各种更加简单求解素数的知识,节约计算机资源

最后

道阻且长,行则将至;行而不辍,未来可期。

诸君共勉

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值