计算机二级上机题库很有用 题目就是里面出的
1、程序填空题
【答案及难度指数】★
(1)"%ld",&a (2)a=-a (3)"%ld",a
【一起来审题】
该题中函数功能是取长整数的绝对值。此类题的解题思路是判断键盘输入的长整数的正负,然后对其进行操作。
【解题思路】
第一空:获得由键盘输入的长整数,根据C语言提供的标准输入函数scanf函数格式,第一空填""%ld",&a"。
第二空:"if(a<0)"语句是判断输入的长整数是否为负数,如果为负数,则对其进行取绝对值操作,也就是第二空填"a=-a"。
第三空:printf语句输出操作后的绝对值结果,根据C语言标准输出函数printf格式,所以第三空填""%ld",a"。
【主要考点】C语言基本语法。
2、程序改错题
【答案及难度指数】★★
(1)s=NULL; (2)if(*r==*p)
【一起来审题】
该题中函数功能是求得字符串中某子串最后一次出现的地址。从已给定源程序的main主函数开始入手,通过调用"p=fun(str,t);"语句求得p的地址,然后通过判断p,判断串str中是否存在子串t。
【解题思路】
(1)第一个标识下面:语句"s=NuLL;"中的NuLL未定义。NULL代表空值,但程序中写成了NuLL。所以,改成"s=NULL;"。
(2)程序的主体是二重循环,其中外循环使指针str逐个指向字符串的字符,直到遇到串结束符退出循环,内循环检查指针p与r所指字符串是否匹配。因为这里p、r是指针,如果使用判断表达式"if(r==p)",那么比较的是地址,而题目要求比较它们所指的字符。所以,改为:"if(*r==*p)"。
【主要考点】C语言标识符;变量使用。
3、程序设计题
【答案及难度指数】★★★
int k=0,i,j;
for(i=mm;i>1;i--)
{
for(j=2;j<i;j++)
if(i%j==0) //判断i是否是素数
break;
//若i能被j整除,则i为非素数
else
continue; //否则继续循环判断
if(j>=i) //若是素数,将其存入b
{
b[k]=i;
k++; //累加素数个数
}
}
return k++;
【一起来审题】
该程序功能是求一定范围内的素数。素数是只能被1和自身除尽的数。判断i是不是素数最简单的方法就是用2~(i-1)去除i,只要能除尽就不是素数。
【解题思路】
进入fun函数,根据前面的分析:
(1)首先,判断i是否是素数,即是否能被2~(i-1)整除。
(2)若是素数,就将i存入数组b,并对计数器k加1。
(3)最后返回素数的个数k。
其中,对于素数的判断并不只局限于上面提到的方法,也可以采用其他的方法进行判断。
【主要考点】数组操作;if条件语句;for循环语句。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库c上机模拟详细参考答案_whc0909(6)在线全文阅读。
相关推荐: