您当前位置: 唯学网 » 计算机等级考试培训 » 二级专题

计算机等级二级C语言上机考试模拟试题

来源:唯学网•教育培训(www.vixue.com)  【唯学网 • 中国教育电子商务平台】 加入收藏

在即将到来的2014年全国计算机等级考试之时,小编为广大计算机等级考试的考生汇总整理了2014年计算机等级二级C语言上机考试模拟试题,供大家参考练习。小编祝愿参加2014年全国计算机考试的考生都能顺利通过此次二级C语言考试。

给定程序中,函数fun的功能是:有N×N矩阵,将矩阵的外围元素顺时针旋转。 操作顺序是:首先将第一行元素的值存入临时数组r,然后使第一列成为第一行, 最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。

例如,若N=3,有下列矩阵:

1 2 3

4 5 6

7 8 9

计算结果为

7 4 1

8 5 2

9 6 3

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1.C中。

不得增行或删行,也不得更改程序的结构!

给定源程序:

#include

#define N 4

void fun(int (*t)[N])

{ int j ,r[N];

for(j=0; j  for(j=0; j  /

t[0][N-j-1]=t[j][___1___ ];

for(j=0; j  t[j][0]=t[N-1][j];

/

for(j=N-1; j>=0;___2___ )

t[N-1][N-1-j]=t[j][N-1];

for(j=N-1; j>=0; j--)

/

t[j][N-1]=r[___3___];

}

main()

{ int t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10}, i, j;

printf("\nThe original array:\n");

for(i=0; i  { for(j=0; j  printf("\n");

}

fun(t);

printf("\nThe result is:\n");

for(i=0; i  { for(j=0; j  printf("\n");

}

}

解题思路:

第一处:把第1列上的数存放到第1行上,所以应填:0。

第二处:for循环的增量值,由于循环是从大到小递减,所以应填:j--。

第三处:把临时数组中的元素成为最后一列,所以应填:j。

***************************************************

给定程序MODI1.C中函数 fun 的功能是:计算 S = f(-n) + f(-n+1) +…+ f(0) + f(1) + f(2) +…+ f(n) 的值。例如,当n为5时,函数值应为:10.407143。f(x)函数定义如下:

┌(x+1)/(x-2) x>0 且 x≠2

f(x) = ┤0 x=0 或 x=2

└(x-1)/(x-2) x<0

请改正程序中的错误,使程序能输出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

给定源程序:

#include

#include

f( double x)

{

if (x == 0.0 || x == 2.0)

return 0.0;

else if (x < 0.0)

return (x -1)/(x-2);

else

return (x +1)/(x-2);

}

double fun( int n )

{ int i; double s=0.0, y;

for (i= -n; i<=n; i++)

{y=f(1.0*i); s += y;}

return s

}

main ( )

{

printf("%f\n", fun(5) );

}

解题思路:

第一处:由于返回值是实数型值,所以在函数名前加上double。

第二处:语句后缺少分号。

***************************************************

编写函数fun,它的功能是计算:s作为函数值返回。在C语言中可调用log ( n )函数求ln (n)。log函数的引用说明是:

double log(double x)。

例如,若m的值为: 20,fun函数值为: 6.506583。

注意: 部分源程序在文件PROG1.C中。

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

给定源程序:

#include

#include

double fun( int m )

{

}

main()

{

printf("%f\n", fun(20));

NONO();

}

解题思路:

本题是根据给定的公式计算结果。使用for循环语句依次求出每一项的值,分别进行累加并

把结果存入变量s中,循环结束后再对s求平方根,结果仍存入s中,最后返回s。

参考答案:

double fun( int m )

{

double s = 0.0 ;

int i ;

for(i = 1 ; i <= m ; i++) s += log(1.0 * i) ;

s = sqrt(s) ;

return s ;

}

更多计算机考试试题,计算机考试准考证和成绩查询等相关考试信息请关注唯学网计算机等级考试培训栏目,小编在此预祝每一位参加计算机考试的考生都能够顺利通过。

0% (0)
0% (10)
已有条评论