荟萃馆

位置:首页 > IT认证 > 计算机等级

2016年下半年计算机C语言考试题库及答案

1.下列给定程序中,函数fun的功能是计算如下公式  直到 ,并且把计算结果作为函数值返回。

2016年下半年<a href=计算机C语言考试题库及答案" title="2016年下半年计算机C语言考试题库及答案">

例如,若形参e的值为1e-3,则函数返回值为0.551690。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。

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

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

#include

double fun(double e)

{ int i, k; double s, t, x;

s=0; k=1; i=2;

/**********found**********/

x=__1__/4;

/**********found**********/

while(x __2__ e)

{ s=s+k*x;

k=k* (-1);

t=2*i;

/**********found**********/

x=__3__/(t*t);

i++;

}

return s;

}

main()

{ double e=1e-3;

printf("nThe result is: %fn",fun(e));

}

参考答案

(1)3.0或(double)3  (2)>  (3) (t+1)

2. 下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。

例如,当形参n的值为10时,函数返回值为9.612558。

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

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

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

#include

double fun(int n)

{ int i; double s, t;

/**********found**********/

s=__1__;

/**********found**********/

for(i=1; i<=__2__; i++)

{ t=2.0*i;

/**********found**********/

s=s+(2.0*i-1)*(2.0*i+1)/__3__;

}

return s;

}

main()

{ int n=-1;

while(n<0)

{ printf("Please input(n>0): "); scanf("%d",&n); }

printf("nThe result is: %fn",fun(n));

}

【参考答案】

(1) 0  (2) n  (3) (t*t)

3.给定程序中,函数fun的功能是:统计形参s所指的字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,若形参s所指的字符串为abcdef35adgh3kjsdf7,则输出结果为4。

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

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

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

#include

void fun(char *s, int *t)

{ int i, n;

n=0;

/**********found**********/

for(i=0; ___1___ !=0; i++)

/**********found**********/

if(s[i]>='0'&&s[i]<= ___2___ ) n++;

/**********found**********/

___3___ ;

}

main()

{ char s[80]="abcdef35adgh3kjsdf7";

int t;

printf("nThe original string is : %sn",s);

fun(s,&t);

printf("nThe result is : %dn",t);

}

【参考答案】

(1) s[i]  (2) '9'  (3)*t=n

4.下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

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

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

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

#include

#define N 9

int fun(int a[], int n)

{ int i,j;

j = 0;

for (i=0; i

/**********found**********/

if (a[i]%2==___1___)

{

/**********found**********/

a[j] = a[i]; ___2___;

}

/**********found**********/

return ___3___;

}

main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i, n;

printf("nThe original data :n");

for (i=0; i

printf("n");

n = fun(b, N);

printf("nThe number of odd : %d n", n);

printf("nThe odd number :n");

for (i=0; i

printf("n");

}

【参考答案】

(1)1  (2) j++  (3)j

5.下列给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。

例如,输入一个整数27638496,函数返回值为64862。

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

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

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

#include

unsigned long fun(unsigned long n)

{ unsigned long x=0; int t;

while(n)

{ t=n%10;

/**********found**********/

if(t%2==____1____)

/**********found**********/

x=____2____+t;

/**********found**********/

n=____3____;

}

return x;

}

main()

{ unsigned long n=-1;

while(n>99999999||n<0)

{ printf("Please input(0

printf("nThe result is: %ldn",fun(n));

}

【参考答案】

(1)0  (2) 10*x (3)n/10

6.下列给定程序中,函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3],以此类推。

例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。

规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

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

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

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

# include

#define N 9

void fun(int a[], int n)

{ int i,j, max, min, px, pn, t;

for (i=0; i

{

/**********found**********/

max = min = ___1___;

px = pn = i;

for (j=i+1; j

/**********found**********/

if (max<___2___)

{ max = a[j]; px = j; }

/**********found**********/

if (min>___3___)

{ min = a[j]; pn = j; }

}

if (pn != i)

{ t = a[i]; a[i] = min; a[pn] = t;

if (px == i) px =pn;

}

if (px != i+1)

{ t = a[i+1]; a[i+1] = max; a[px] = t; }

}

}

main()

{ int b[N]={9,1,4,2,3,6,5,8,7}, i;

printf("nThe original data :n");

for (i=0; i

printf("n");

fun(b, N);

printf("nThe data after moving :n");

for (i=0; i

printf("n");

}

【参考答案】

(1) a[i]  (2) a[j]  (3) a[j]

7.下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

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

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

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

#include

/**********found**********/

___1___ fun(char ch)

{

/**********found**********/

if (ch>='0' && ___2___)

/**********found**********/

return '9'- (ch-___3___);

return ch ;

}

main()

{ char c1, c2;

printf("nThe result :n");

c1='2'; c2 = fun(c1);

printf("c1=%c c2=%cn", c1, c2);

c1='8'; c2 = fun(c1);

printf("c1=%c c2=%cn", c1, c2);

c1='a'; c2 = fun(c1);

printf("c1=%c c2=%cn", c1, c2);

}

【参考答案】

(1) char (2) ch<='9' (3)'0'

8.下列给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指的变量中。ss所指字符串数组中共有M个字符串,且串长

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

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

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

#include

#include

#define M 5

#define N 20

int fun(char (*ss)[N], int *n)

{ int i, k=0, len= N;

/**********found**********/

for(i=0; i<___1___; i++)

{ len=strlen(ss[i]);

if(i==0) *n=len;

/**********found**********/

if(len ___2___ *n)

{ *n=len;

k=i;

}

}

/**********found**********/

return(___3___);

}

main()

{ char ss[M][N]={"shanghai","guangzhou","beijing","tianjing","chongqing"};

int n,k,i;

printf("nThe original strings are :n");

for(i=0;i

k=fun(ss,&n);

printf("nThe length of shortest string is : %dn",n);

printf("nThe shortest string is : %sn",ss[k]);

}

【参考答案】

(1) M  (2) <  (3) k


更多计算机二级相关试题推荐:

1.2016年9月计算机二级C语言试题题库

2.计算机二级C语言笔试历年真题及答案

3.2016下半年计算机二级C语言考试试题及答案

4.计算机二级C语言新增无纸化真题试卷

5.2016年9月计算机二级C语言选择题及答案

6.2016下半年计算机二级C语言预测试题及答案

7.计算机二级C语言试题及答案2016

8.计算机二级C语言考试上机冲刺试题及答案

9.计算机二级c语言题库2016

10.9月计算机二级c语言试题及答案