2017计算机等级考试C语言上机题库86-90套解析

版权申诉
0 下载量 170 浏览量 更新于2024-07-12 收藏 42KB PDF 举报
"2017年全国计算机等级考试C语言上机考试题库-86-90套共5套新题.pdf" 全国计算机等级考试是针对计算机技能的一项标准化测试,其中C语言是常见的考试科目之一。这道题目是2017年考试中的一个程序填空题,目的是让学生理解并掌握如何编写一个函数来统计小于等于给定整数n的素数个数。C语言是编程的基础,理解其语法和逻辑对于进行高级编程至关重要。 题目提供的源代码包含了一个名为`fun`的函数,这个函数的主要任务是计算从3到n之间所有的素数数量。素数是大于1且除了1和它本身以外没有其他正因数的自然数。在这个函数中,主循环由外层的`for(i=3; i<=n; i++)`控制,对每个i进行素数判断。 在内部,有一个嵌套的`for(j=___1___; j<i; j++)`循环,用于检查i是否能被j整除。在填空1的位置,j应当从2开始,因为2是最小的素数,也是判断其他数是否为素数的起始点。所以填空1的答案是`j=2`。 在内部循环中,有一个`if(___2___%j==0)`条件,这里检查的是i是否可以被j整除。如果可以,说明i不是素数,因此应立即跳出内循环,这是通过`break`实现的。所以填空2的答案是`i`,即`if(i%j==0)`。 在内循环结束后,有一个`if(___3___>=i)`的条件,这是用来确认没有在前面的循环中找到i的因数(即i是素数)。若满足这个条件,意味着j已经尝试到等于或大于i,此时会将素数计数加一,并打印素数i。因此,填空3的答案是`j`,即`if(j>=i)`。 在`main`函数中,调用了`fun(n)`并将返回的结果存储在变量`r`中,最后输出了素数的总数。 解题的关键在于理解素数的概念以及如何用C语言的循环和条件语句来实现素数的检测。考生需要熟悉C语言的基本语法,同时具备基本的数学逻辑,才能正确解答这类问题。通过这样的练习,考生不仅可以提高编程能力,还能提升问题解决和逻辑推理的能力。