未来教育版计算机二级c语言上机题库(含答案)

未来教育版计算机二级c语言上机题库(含答案)

1、下列给定程序中,函数fun的

功能是:计算如下公式:

s=3/2^2-5/4^2+7/6^2-....(-1)^n-

1(2*n+1)/(2*n)^2直到

|(2*n+1)/(2*n)^2<=10^-3,并且

把计算结果作为函数值返回。

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

(3) (t+1)(1)double fun(int n)

(2)s=s+(double)a/b;

2、计算如下公式:

s=(1*3)/2^2+(3*5)/4^2+(5*7)/6

^2+……+[(2*n-1)*(2*n+1)]/(2

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

(1)for(i=0;str[i];i++)

(2)if(substr[k+1]=='\0')

3、统计形参s所指的字符串数字

字符出现的次数,并存放在形

参t所指的变量中,最后在主

函数中输出。(1) s[i](2)

'9' (3)*t=n (1)t = *x ; *x

= y ;(2)return(t) ;或return

t;

4、把形参a所指数组中的奇数按

原顺序依次存放在a[0]、a[1]、

a[2]。。。。。中,吧偶数从数组中

删除,奇数个数通过函数值返

回。(1)1(2) j++ (3)j

(1)t=a;a=b;b=t;(2)return(b);

或return b;

5、将形参n中,各位上位偶数的

书取出,并按原来从高位到低

位相反的顺序组成一个新数,

作为函数值返回。(1)0(2)

10*x (3)n/10 (1)*t=0;

(2)if(d%2!=0)或if(d%2==1) 6、把形参a所指数组中的最小值放在元素a[0]中,接着把a所

指数组中的最大值放在a[1]元

素中,再把a所指数组元素中

的次小值放在a[2]中,把所指

数组中的次大值放在a[3],以

此类推。(1) a[i](2) a[j]

(3) a[j] (1)去掉分号(2)case

1:case 2:return 1;

7、函数的功能是进行数字字符转

换。若形参ch中时数字字符‘0’

--‘9’,则‘0’将转换成‘9’,

‘1’转换成‘8’,‘2’转换成

‘7’,。。。。。,‘9’转换成‘0’,

若是其他字符则保持不变,并

将转换后的结果作为函数值返

回。(1)char(2) ch<='9'

(3)'0' (1)b[k]=*p;(2)b[k]='

';k++;

8、求ss所指字符串数组中长度最

短的字符串所在的行下标,作

为函数值返回,并把其串长放

在形参n所指的变量中。所指

字符串数组中共有个M字符

串,且串长小于N 1) M(2)

<(3) k

1)if(( tt[i]>='a')&&( tt[i] <=

'z')) (2)tt[i]-=32;

9、将s所指字符串中的所有数字

字符移到所有非数字字符之

后,并保持数字字符串和非数

字字符串原来的次序。1)j++或

j+=1或++j或j=j+1

(2)s[i]=t1[i](3) j 1)for (j =

i + 1; j < 6; j++) (2)*(pstr +i)

= *(pstr + j) ;

10、把形参的值放入一个新

结点并插入链表中,使插入后

各结点数据域中的数据仍保持

递增有序。1)x(2)p(3)s

1)long k=1;(2)num /=10;

11、将形参a所指数组中的前半部分元素中的值与后半部分元素中的值

对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

1)1(2) i(3) a[p+i]或*(a+p+i)

1)float k; (2)if(*a< *c)

12、从形参ss所指字符串数组中,

删除所有串长超过K的字符串,函

数返回剩余字符串的个数,ss所指字符串数组中共有N个字符串,且串长小于M. 1) N(2) k(3) ss[i]

1) int k=0;(2)while (*p||*q)

13、从形参s所指字符串数组中下标

为奇数的字符右移到下一个奇数的

位置,最右边被移除字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动。1) 1(2) s[k]或*(s+k) (3) c 1)long s=0, t=0;(2)t=t/10; 14、从形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置,若未找到则返回-1. ss所指字符串数组中共有N个内容不同的字符串,且串长小于M 1)N(2)i

(3) -1 1)a2=k/10; (2)return i; 15、下列程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。1)next(2)

t->data(3) t 1)void fun(char *a) (2)printf("%c" ,*a) ;

16、逆置数组元素中的值,列:若a 所指数组中的数据位1,

2,3,4,5,6,7,8,9,则逆置后依次为:9,8,7,6,5,4,3,2,1,。形参n给出数组中数据的个数。1) n/2(2) i(3)

a[n-i-1]或a[n-1-i] 1)n= *p-'0'; (2)n=n*8+*p-'0';

17.调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时返回1,失败是返回0.在复制过程中,把复制的内容输出到屏幕

上。(1) "r"(2) fs(3) ft

(1)if(d%2==0) (2)s/=10;

18.有N*N矩阵,根据给定的m

(m<=N)值,将每行元素中的值均

向右移动m个位置,左位置为

0.(1)i++ (2)m(3)m

(1)while((high>=2) && (n<10))

(2)yes=0; break;

19.程序通过定义结构体变量存储学

生的学号、姓名和三门课的成绩。Fun

的功能:将形参a所指的结构体变量

中的数据赋给函数中的结构体变量

b,并修改b中的学号姓名,输出修

改后的数据。(1) a(2) https://www.360docs.net/doc/0919458095.html,/doc/3b517dc289eb172ded63b784.html

(3) score[i] (1)s[j++]=s[i];或

{s[j]=s[i];j++;}(2)s[j]='\0';

20.从键盘输入若干行字符串(每行不

超过80个字符),写入文件myile.4txt

中, 用-1作字符串输入结束的标志,

然后将文件的内容显示在屏幕上。(1)

*fw(2) str(3) str (1)void

fun(long s,long *t) (2)sl=sl*10;

21.有N*N个矩阵,将矩阵的外围元

素做顺时针旋转。操作顺序是:首先

将第一行元素的值存入临时数组r,

然后使第一列成为第一行,最后一行

成为第一列,最后一列成为最后一

行,再使临时数组中的元素成为最后

一列。(1)0(2)j--(3)j

(1)double f(double x) (2)return s ;

22.在形参ss所指字符串数组中,查

找含有形参substr所指子串的所有

字符串,并输出,若没有找到相应的

输出信息。Ss所指字符串数组中共有

N个字符,且串长小于M。(1) N

(2) substr(3) 0 (1)fun(int x,int y,

int z)或int fun(int x,int y,int z)

(2)return j;

23.计算一个带头结点的单向链表中

各节点的数据域中数值之和,结果作

为函数值返回。(1)data(2) next

(3) head (1)while( *r)

(2)*a=*r;a++;r++;

24.程序通过定义结构体变量存储学

生的学号、姓名和三门课的成绩。Fun

的功能将形参a所指的结构体变量

s中的数据进行修改,并把a的地址

作为函数值返回主函数。(1) struct

student *(2) a->score[i](3)

a (1)char *fun(char (*sq)[M])

(2)return sp;

25.将N*N矩阵主对角线元素的值与

反向对角线对应位置上元素的值进

行交换。(1) t[][N](2) i=0;i (3) s (1)int fun(int a[],int m)或

fun(int a[],int m) (2)else

if(m>a[mid])

26.下列给定的程序中,找出

100~999(含100和999)所有整数中

各位上数字之和为x(x为正整数)

的整数,并输出;符合条件的整数个

数作为函数值返回。(1) 999(2)

t/10(3) x (1)void fun(long s,long

*t) (2)while(s>0)

27.程序通过定义学生结构体变量,储

- 1 -

存学生的学号,姓名和三门课的的成绩。函数fun的功能是:

对形参b所指结构体变量中的数据进行修改,并在主函数中输出修改后的数据。(1) ->sno(2) ->name (3) &t (1)double fun(double a,double x0)

(2)if(fabs(x1-x0)>=0.00001)

28.下列给定程序中已建立了一个带头结点的单向链表,链表中的各结点按数据域递增有序连接。

Fun的功能是:删除链表中数据域值相同的结点使之只保留一个。

(1) q (2) next(3) next (1)p=j ;(2)p=i; 29.函数fun的功能是:有N*N 矩阵,以主对角线为对称线,对称元素想加并将结果放在左下三角元素中,又上三角元素置为0. (1) [N] (2) t[i][j](3) t[j][i] (1)#define FU(m,n) (m)/(n)

(2)return (value);

30.定义学生结构体变量,储存学生的学号,姓名和三门课的的成绩。Fun 的功能是:从文件中找出

指定学号的学生数据,对该学生的分数进行修改,使每门课的分数加3分,其他学生数据不变,找

不到不做任何操作。(1)fp(2) == (3) fp

(1)n=strlen( aa ) ;(2)ch=aa[i];

31 fun的功能是:计算下式前n项的和,并作为函数值返回s=(1*3)/(2*2)—(3*5)/(4*4)+

(5*7)/(6*6)-......(-1)n-1*(2*n-1)*(2*n+1 )/(2*n)2 (1) 1(2) 2*i(3) (-1) (1)k++; (2)if(m==k)

32fun的功能:

s=1/(22)+3/(44)+5/(66)+.......+

2*n-1)/(2*n)2直到绝对值(2*n+1)/(2*n)2小于等于10-3.

(1) 0(2) i++或++i或i+=1或i=i+1 (3)2.0*i (1)void fun ( char *s , char *t )(2)t[2*d]='\0';或t[d+i]='\0';或t[2*d]=0;或t[d+i]=0;

33.在形参s所指字符串中的每个数

字字符之后插入一个*号。(1) &&(2) 0或'\0' (3) s[j]或*(s+j)

(1)for(i=2;i<=m;i++)

(2)y+=1.0/(i*i);或

y+=(double)1.0/(i*i)

34.fun的功能是将不带头结点的单

向链表逆置,若原链表为2、4、6、8、

10,逆置后为10、8、

6、4、2. (1)NODE(2)next (3)

r(1)if(i%2||s[i]%2==0) 或

if(i%2 !=0 || s[i]%2==0)

(2)t[j]='\0'; 或 t[j]=0;

35.程序通过定义学生结构体变量,储

存学生的学号,姓名和三门课的的

成绩。函数fun的功

能是:对形参a中的数据进行修改,

并在主函数中输出修改后的数据。

(1) struct student (2)

https://www.360docs.net/doc/0919458095.html,/doc/3b517dc289eb172ded63b784.ht ml (3) a.score[i]

(1)if(p==n) return -1;(2)a[i]=a[i+1];

36 fun的功能是将不带头结点的单

向链表逆置若原链表为2、4、6、8、

10,逆置后为10、

8、6、4、2. (1)next(2)NULL

(3)r(1)r=t;(2)r=t;或

r=&t[0];

37fun功能:将形参s所指字符串中下标为奇数的字符取出并按ASII码大小递增排列并放入

形参p所指字符数组中。(1)t=i(2) i(3) '\0'或0

(1)while(fabs(t)>=num)(2)t=s/n; 38将不带头结点的单向链表结点数据域中数据从小到大排列,原为10、4、2、6、8,排序后为2、4、6、8、10 (1)p->next (2)q(3)p->next(1)while(*s)或while(*s!='\0')(2)s++;

39 fun功能将形参给定的字符串、整数、浮点数写到文本文件中在用字符方式读取显示在屏幕上。(1)FILE* (2)fp(3)ch (1)s[j++]=s[i]; (2)s[j]= '\0';

40在形参s所指的字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不

到相同的字符则不做任何处理。(1) '\0'(2) 0(3) c (1)double

sum=0.0;(2)sum/=c;

41将形参s所指字符串中的所有字符顺序前移其他字符后移,将新字符串的首地址返回。(1) s[i](2) k(3)

'\0'或0 (1)while (*w)(2)if ( *r

==*p )

42 fun功能将形参给定的字符串、整数、浮点数写到文本文件中再用字符串方式从此文本文件中逐个读入(1)FILE*(2)fclose(fp)(3)fp (1)t=calloc(m,sizeof(STU));(2)t [k]=b[j];

43.计算N*N矩阵的主对角线元素之和反向对角线元素之和,并作为函数值返回。(1) sum=0(2) t[i][i]

(3) 1 (1)double r ;(2)while

(fabs(n-m) >0.001)

44.找出100到x(x<=999)之间个位上数字之和为15的所有整数,(1) 0 (2) x(3) t++ (1)int i, sl;

(2)t[i]=s[sl-i-1];

45.在形参ss所指字符串数组中,将所有串长超过k的字符串中后面的字符删除只保留前面的k个字符,ss字符串数组中共有N个字符串,串长小于M。(1) [M](2) N(3)'\0'

(1)t=1.0; (2)return(s*2);

46.将自然数1——10及其平方根写到名为Myfile3.txt的文本文件中,然后再顺序读出显示在屏幕上。(1) fp (2) fclose(fp)(3) fname

(1)for(i=j+1;i

47将形参n所指变量中,各位上为偶数的数去掉,剩余的数按原来从高到低位的顺序组成一个新数,并通过形参指针n传回。(1) 10(2) 0(3)

x (1)if( n==0) (2)result *=n--;或{result *=n; n--;}

48.将N*N矩阵中元素的值按列向右移动一个位置,右边被移出矩阵的元素绕回左边第一列。(1) N(2) N-1 (3) 0 (1)s=s

+(double)(n+1)/n;(2)return t; 49.把形参a所指数组中的最大值放在a[0]中,接着求出a所指数组中的最小值放在a[1]中,再把a所指数组元素中的次大值放在a[2]中,依此类推。(1) a[](2) 2(3) i+1

(1)sum=0.0;(2)if((i+1)%5==0) 50.在带头结点的单向链表中,查找数据域中值为ch的结点。找到后返回

该结点的顺序号,

若不存在,返回值为0.(1) NULL (2) n(3) head,ch

(1)for(i=0,t=0;p[i];i++)(2)c[t]= '\0';

51.将形参n中,各位上为偶数的值取出,并按原来从高位到低位的顺序组成一个新数,作为函数值返回。(1) 1 (2) s>0(3) i*10 (1)int fun(int

n,int

xx[][M])(2)printf("%d",xx[i][j]); 52.把形参a所指数组中的偶数按原

顺序依次放到a[0],a[1],a[2].......中,把奇数从数组中删除,偶数

的个数通过函数值返回。(1) a[i]%2 (2) a[j](3) j (1)int fun (int

n)(2)if (n==1)

53.统计单向链表中结点的个数,并存

放在形参n所指的存储单元中。(1) *n

(2) next(3) head

(1)a=NULL;(2)if(*r==*p)

54.调用fun函数建立班级通讯录。通

讯录中记录每位学生的编号、姓名和

电话号码。(1) STYPE(2) FILE

(3) fp (1)for ( i=0; i

(2)t[2*s1]='\0'

55.程序通过定义学生结构体变量,储

存学生的学号姓名和三门课的的成

绩fun将存放学数据的结构体数组,

按姓名的字典序排序。(1) struct

student(2) n-1(3)

a[i].name,a[j].name

(1)q=p+i;(2)while(q>p)

56.人员记录由编号和出生年、月、日

组成,N名人员的数据已在主函数中

存入结构体数组std中,

且编号唯一。Fun的功能找出制定人

员的数据,作为函数返回值,若不存

在编号为空串。(1) STU(2)

std[i].num(3) std[i]

(1)if(*r==*p)

- 2 -

{r++;p++; }(2)if(*r=='\0')

57.人员记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中,

找出指定出生年份的人员,将其放在形参k所指的数组中同时返

回符合

条件的人数。(1)std[i].year

(2)std[i](3)n (1)IsPrime(int n)(2)if(!(n%i))

58.利用结构体变量存储了一名学生的学号、姓名和3门课的的成绩。Fun功能是将各科成绩都乘以一

个系数a.(1)STU(2)score[i]

(3)&std if(k>1)

59将形参指针所指结构体数组中的三个元素按num成员进行升序排列。将形参std所指结构体数组中年龄最大者的数据作为函数返回值,并输出。(1)std[0](2)std[i].age

(3)https://www.360docs.net/doc/0919458095.html,/doc/3b517dc289eb172ded63b784 .html (1)void fun(int *a,int *b) (2)t=*b; *b=*a; *a=t;

60.程序通过定义并赋初值的方式,利用结构体变量储存学生的信息。Fun 的功能是输出这位学生的信

息。(1)tt(2)tt.score[i](3)std (1)void fun(int *a, int n)(2)m=i;

61.对形参ss所指字符串数组中的M 个字符串按长度由短到长进行排列,ss所指字符串数组中共有M

个字符串,且串长小于N. (1)i+1 (2)k=j(3)t (1)void fun(char *str, char ch )(2)if ( *str != ch )(3)str[1] = 0;

62.求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字

符串等长,字符串数组中共有M个字符串且串长小于N.(1)k(2)len

(3)ss[i][j] (1)result*=n--;

(2)return result;

63.求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的

字符串等长,字符串数组中共有M个字符串且串长小于N.(1)ss[i](2)n+j (3)1 (1)if(*p=='') (2)*(p-1)=toupper(*(p-1));

64.求ss所指字符串数组中长度最长

的字符串所在的行下标作为函数返

回值,并把其串长放在形参n

所指的变量中。字符串数组中共有M

个字符串且串长小于N.(1)[N]

(2)len(3)*n=len (1)t+=1.0/i;

(2)return t;

65.函数fun的功能是进行字母转换。

若形参ch中是小写英文字母,则转

换成对应的大写英文字母;

若ch中是大写英文字母,则转换成

对应的小谢字母;若是其他字符则保

持不变,并将转换后的结

果作为函数值返回。(1)&&(2)'A'

(3)ch (1)void fun(int *a)

(2)a[j]=a[j-1];

66.函数fun的功能是;计算f

(x)=1+x-x2/2!+x3/3!-x4/4!+...+(-1)n-2 x n-1/(n-1)!+(-1)

n-1x n/n!的前n项之和。若

x=2.5,n=15时,函数值为

1.917914.(1)1.0(2)-1(3)t

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

(2)if(k>=0&&k<=6)

67.函数fun的功能是:计算

f(x)=1+x-x2/2!+x3/3!-x4/4!+...+(-1)n-2x n -1/(n-1)!+(-1)n-1x n/n!直到

|x n/n!|<10-6x=2.5,函数值为

1.917915. (1)x(2)n(3)fabs(t)

(1)for(i=1;i<=y;i++)(2)t=t%1000;

69函数fun的功能是:计算

f(x)=1+x+x2/2!+...+x n/n!的前n项。若x=2.5,函数值为12.182340.(1)1.0 (2)1(3)i (1)k=i; (2)b=k%10;

70函数fun的功能是:计算

f(x)=1+x+x2/2!+...+|x n/n!|直到|x n/n!|<10-6。若x=2.5,函数值为12.182494.

(1)x(2)n(3)t

(1)d=1;(2)s=0;(3)d=d/10;

71套函数fun的功能是:统计所有小

于等于n(n>2)的素数的个数,素数的

个数作为函数值返回。

填空(1)j=2(2)i(3)j 改错(1)int

i,j=0,k,sum; (2)if(sum%4==2)

72套函数fun的功能是:统计长整数

n的各位上出现数字1、2、3的次数,

并用外部(全局)变量c1、c2、c3

返回主函数。例如,当n=123114350 时,结果应该为:c1=3 c2=1 c3=2.

填空(1) n%10 (2) break(3) break

改错(1)if(t==0) (2)*zero=count;

73套用筛选法可得到2~n(n<10000)的所有素数,方法是:首先从素数2

开始,将所有2的倍数的数从数表中

删去(把数表中相应位置的值置成

0);接着从数表中找下一个非0数,

并从数表中删去该数的所有倍数;依

此类推,直到所找的下一个数等于n

为止,这样会得到一个序列:2、3、

5、7、11、13、17、19、23···

填空(1)a[i](2)a[i](3)0 改错

(1)y=1; (2)d=a-i;

74套甲、乙、丙、丁4人同时开始放鞭炮,甲每隔t1 s放一次,乙每隔t2 s放一次,丙每隔t3s放一次,丁每

隔t4s放一次,每人各放n次。函数fun的功能是根据形参炸响,只算一

次响声,第一次响声是在第0s

填空(1)i(2)t++(3)count

改错(1)return 3;(2)return 1;

75套函数fun的功能是:从三个形参a、b、c中找出中间的数,并作为函数值返回。例如,当a=3,b=5c=4时,中间的数为4.

填空(1) a(2) a(3) b

改错(1)c=c+32;(2)c=c+5;

76套程序通过定义学生结构体变量,存储了学生的学号、姓名和三门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一

个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据不变。填空(1)filename(2)fp (3)fp改错

(1)p=(NODE*)malloc(sizeof(NODE));

(2)return h;

77套给定程序中,函数fun 的功能是:计算形参x所指数组中n个数的平均值(规定所有数均为正数),作为函数值返回,并将大于平均值的数

放在形参y所指的数组中,在主函数中输出。

填空(1)0.0(2)x[i]/N(3)j++

改错(1)double fun(int m)

(2)for(i=100;i<=m;i+=100)

78套给定程序中,函数fun的功能是:计算x所指数组中n个数的平均值(规定所有数均为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。

填空(1)*av(2)i(3)x[j]

改错(1)float fun(int n)

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

79套给定程序中,函数fun的功能是:计算形参x所指数组中n个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值移动后的数据

填空(1)s/N(2)j++(3)-1

改错void upfst( char *p)

80套给定程序中,函数fun的功能是:计算形参x所指数组中n个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作

为函数值返回,在主函数中输出平均

值移动后的数据。填空

(1)x[i]/N(2)j++或++j(3)i++

或++i改错(1)void fun(char *s, int

num[5])(2)num[k]=0;(3)switch(*s)

81套给定程序中,函数fun的功能

是:将a和b所指的两个字符串分别

转换成面值相同的整数,并进行相加

作为函数值返回,规定字符串中只含

有9个以下数字字符。

填空(1)'0'(2)s++或++s

(3)ctod(a)+ctod(b)改错(1)void fun

( char *s, int *a, int *b )

(2)*a=*a+1; (3)*b=*b+1;

82套给定程序中,函数fun的功能

是:调用随机函数产生20个互不相

- 3 -

同的整数放在形参a所指数组中(此数组在主函数中已置0)

填空(1)N或20(2)break(3)n

改错

(1)sum=0;

(2)scanf("%d",&a[i][j]);

83套给定程序中,函数fun的功能是:找出n*n矩阵中每列元素的最大值,并按顺序依次放于形参b所指的一位数组中

填空(1)a[0][i](2)<(3)x,y

改错(1)void fun(int *x, int *y)

(2)t=*x; *x=*y; *y=t;

84套给定程序中,函数fun的功能是:建立一个n*n的矩阵,矩阵元素的构成规律是:最外层元素的值全部为1,从外向内第二层元素的值全部为2,第三层元素的值全部为3···依此类推。

填空(1)[N](2)i(3)i+1

改错(1)void fun(int m, int k)

(2)aa[i]=m%k;

(3)printf("%d", aa[i-1]);

85套给定程序中,函数fun的功能是:判定形参a所指的n*n (规定N 为奇数)的矩阵是否为“幻方”,若是,函数返回之为1,不是,返回值为0.

填空(1)0(2)||(3)1

改错(1)t-=1.0/i; (2)return t;

86套给定程序中,函数fun的功能是:用函数指针指向要调用的函数,并进行调用。规定在【2】处使f指向函数f1,在【3】处使f指向函数f2.当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1+x2* x2=40.000000填空(1)double(2)f1 (3)f2

改错(1)while (p!=NULL)

(2)p=p->next;

87套若给定程序中,函数fun的功能是:将带头结点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据与从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为2、4、6、8、10.

填空(1)h->next(2)p->next(3)>

改错(1)p=h->next; (2)p=p->next;

88套若给定程序中,函数fun的功能

是:将形参S所指字符串中的所有数

字字符顺序前移,其他字符顺序后

移,处理后新字符串的首地址作为含

数值返回。

填空(1)j(2)k(3)p或(p)

改错(1)while ( i < j ) (2)if ( *a )

89套若给定程序中,函数fun的功能

是:将a所指4*3矩阵中第K行的

元素与第0行的元素交换。

填空(1)k(2)N(3)a[k][i]

改错(1)for(i=strlen(t)-1; i; i--) 或

for(i=strlen(t)-1; i>0; i--)

(2)if (t[j] > t[j+1])

90套给定程序中,函数Fun的功能是:将a所指3*5矩阵中第K列的

元素左移到第0列,第K列以后的

每列元素行依次左移,原来左边的各列依次绕到右边。

填空(1)k(2)N-1(3)temp

改错(1)void fun(int a[][M], int m) (2)a[j][k] = (k+1)*(j+1);

91套给定程序中,函数Fun的功能是:在3*4的矩阵中找出在行上最大、在列上最小的的那个元素,若没有符合的元素则输出相应的信息

填空(1)j(2)0(3)i++

改错(1)for(i = 2 ; i<= m ; i++) (2)y -= 1.0/(i * i);

92套给定程序中,函数Fun的功能是:把形参S所指字符串中最右边的N个字符复制到形参t所指的数组中,形成一个新串。若S所指字符串的长度小于n,则将整个字符串复到形参t所指字符数组中。

填空(1)t,s(2)s[i](3)0或'\0'

改错(1)if(i%k==0) (2)if(k==i)

93套给定程序中,函数Fun的功能

未来教育版计算机二级c语言上机题库(含答案)

未来教育版计算机二级c语言上机题库(含答案) 1、下列给定程序中,函数fun的 功能是:计算如下公式: s=3/2^2-5/4^2+7/6^2-....(-1)^n- 1(2*n+1)/(2*n)^2直到 |(2*n+1)/(2*n)^2<=10^-3,并且 把计算结果作为函数值返回。 (1)3.0或(double)3(2)> (3) (t+1)(1)double fun(int n) (2)s=s+(double)a/b; 2、计算如下公式: s=(1*3)/2^2+(3*5)/4^2+(5*7)/6 ^2+……+[(2*n-1)*(2*n+1)]/(2 *n)^2 (1) 0(2) n(3) (t*t) (1)for(i=0;str[i];i++) (2)if(substr[k+1]=='\0') 3、统计形参s所指的字符串数字 字符出现的次数,并存放在形 参t所指的变量中,最后在主 函数中输出。(1) s[i](2) '9' (3)*t=n (1)t = *x ; *x = y ;(2)return(t) ;或return t; 4、把形参a所指数组中的奇数按 原顺序依次存放在a[0]、a[1]、 a[2]。。。。。中,吧偶数从数组中 删除,奇数个数通过函数值返 回。(1)1(2) j++ (3)j (1)t=a;a=b;b=t;(2)return(b);

或return b; 5、将形参n中,各位上位偶数的 书取出,并按原来从高位到低 位相反的顺序组成一个新数, 作为函数值返回。(1)0(2) 10*x (3)n/10 (1)*t=0; (2)if(d%2!=0)或if(d%2==1) 6、把形参a所指数组中的最小值放在元素a[0]中,接着把a所 指数组中的最大值放在a[1]元 素中,再把a所指数组元素中 的次小值放在a[2]中,把所指 数组中的次大值放在a[3],以 此类推。(1) a[i](2) a[j] (3) a[j] (1)去掉分号(2)case 1:case 2:return 1; 7、函数的功能是进行数字字符转 换。若形参ch中时数字字符‘0’ --‘9’,则‘0’将转换成‘9’, ‘1’转换成‘8’,‘2’转换成 ‘7’,。。。。。,‘9’转换成‘0’, 若是其他字符则保持不变,并 将转换后的结果作为函数值返 回。(1)char(2) ch<='9' (3)'0' (1)b[k]=*p;(2)b[k]=' ';k++; 8、求ss所指字符串数组中长度最 短的字符串所在的行下标,作 为函数值返回,并把其串长放 在形参n所指的变量中。所指 字符串数组中共有个M字符

计算机二级C语言上机题库及答案(100套)

计算机二级c 语言上机题库及答案 内部资料,切勿外传! .第1 套 填空题 请补充FUN 函数,FUN 函数的功能是求10 的阶乘。注意:部分源程序给出如下。 请勿改动主函数main 和其他函数中的任何内容, 仅在fun 函数的横线上填入所编写的若干表达式或语句。试题程序: #include long fun(int n) { if ( 1 ) return (n*fun( 2 )); return 3 ; } main() { printf("10!=%ld\n", fun(10)); } 第1 处填空:n>1 或1

下列给定程序的功能是:读入一个整数K(2〈=K〈=10000), 打印它的所有因子(即所有为素数的因子)。例如,若输入整数2310,则应输出:2、3、5、7、11。 请改正程序中的错误,使程序能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不得更改程序 的结构! 试题程序: #include #include /********found********/ IsPrime(int n); { int i, m; m = 1; /********found********/ for (i=2; i

printf("\nplease enter an integer number between 2 and 10000:"); scanf("%d", &k); printf("\n\nThe prime factor(s) of %d is(are):", k); for (j=2; j #include #include

计算机二级《C语言》上机操作试题及答案

计算机二级《C语言》上机操作试题及答案 计算机二级《C语言》上机操作试题及答案 计算机二级考试是全国计算机等级考试,四个等级中的一个等级,由教育部考试中心主办,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。下面是店铺收集整理的计算机二级《C语言》上机操作试题及答案,仅供参考,希望能够帮助到大家。 (1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、c、 D、E依次入栈,然后再依次出栈,则元素出棱的顺序是( )。 A.12345ABCDE B.EDCBA54321 C.ABCDEl2345 D.54321EDCBA (2)下列叙述中正确的是( )。 A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D.循环队列中元素的个数是由队头指针和队尾指针共同决定的 (3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。 A.0(n) B.D(n2) C.O(1092n) D.0(nl092n) (4)下列叙述中正确的是( )。 A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间

不一定是连续的 B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 C.顺序存储结构能存储有序表,链式存储结构不能存储有序表 D.链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是( )。 A.控制流 B.事件驱动 C.模块调用 D.数据流 (6)在软件开发中,需求分析阶段可以使用的工具是( )。 A.N—s图 B.DFD图 C.PAD图 D.程序流程图 (7)在面向对象方法中,不属于“对象”基本特点的是( )。 A.一致性 B.分类性 C.多态性 D.标识唯一性 (8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。 A.一对一 B.一对多 C.多对一 D.多对多 (9)在数据管理技术发展的三个阶段中,数据共享最好的是( )。 A.人工管理阶段 B.文件系统阶段 C.数据库系统阶段

计算机C语言二级机考题库及答案150题

1、给定程序中,函数fun的功能是:在任意给定的9个正整数中找出按升序排列时处于中间的数,将原数据序列中比该中间数小的数用该中间数替换,位置不变,在主函数中输出处理后的数据序列,并将中间数作为函数值返回。 例如,有9个正整数:1 5 7 23 87 5 8 21 45 按升序排列时的中间数为:8 处理后主函数中输出的数列为:8 8 8 23 87 8 8 21 45 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 9 int fun(int x[]) { int i,j,k,t,mid,b[N]; for(i=0;i for(i=0;i<=N/2;i++) { k=i; for(j=i+1;jb[j]) k=j; if(k != i ) { /**********found**********/ t=b[i]; b[i]=___1___; b[k]=t; } } /**********found**********/ mid=b[___2___]; for(i=0; i/**********found**********/ if(x[i] ___3___ mid) x[i]=mid;

return mid; } main() { int i, x[N]={1,5,7,23,87,5,8,21,45}; for(i=0; i printf("\nThe mid data is: %d\n",fun(x)); for(i=0; i printf("\n"); }1、(1)b[k](2)N/2(3)< 2、给定程序中,函数fun的功能是建立一个N×N的矩阵。矩阵元素的构成规律是:最外层元素的值全部为1;从外向内第2层元素的值全部为2;第3层元素的值全部为3,…依次类推。例如,若N=5,生成的矩阵为: 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include #define N 7 /**********found**********/ void fun(int (*a) __1__) { int i,j,k,m; if(N%2==0) m=N/2 ; else m=N/2+1; for(i=0; i/**********found**********/ for(j= __2__ ; j a[i][j]=a[N-i-1][j]=i+1;

全国计算机等级考试二级C语言程序设计真题精选6(含答案)

全国计算机等级考试二级C语言程序设计真题精选6 一、单项选择题 1.有以下程序:#includ#defin4voifun(ina[][N],inb[]) ini; for(i=0;imain()chaa=4; printf ("%",a=a<<1);}程序运行的结果是()。 A.40 B.16 C.8 √ D.4 解析:左移一位相当于原数乘以2,右移一位相当于除以2。a<<1结果为 4*2=8,没有超过char类型的范围。 3.一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。 A.12345ABCDE B.EDCBA54321 √ C.ABCDE12345 D.54321EDCBA 解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。

全国计算机等级考试二级C++语言程序设计真题精选2(含答案)

全国计算机等级考试二级C++语言程序设计真题精选2 一、单项选择题 1.下列链表中,其逻辑结构属于非线性结构的是()。 A.二叉链表√ B.循环链表 C.双向链表 D.带链的栈 解析:线性表是指除了第一个和最后一个结点外,所有的元素都是首尾相连的,每一个结点只有一个前驱结点和一个后继结点。它的常用存储结构为:①顺序存储结构,物理上连续存储,空间位置隐含逻辑位置;②链式存储结构,存储上不连续,通过指针相连。线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;带链的栈是栈的链式存储结构。二叉链表是二叉树的存储结构,二叉树的某些结点有两个后继结点,不符合线性结构的定义。 2.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,Front=15,rear=15,则循环队列的元素个数为()。 A.15 B.16 C.20 D.0或35 √ 解析:循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。循环队列中,求解队列元素个数公式为(尾指针-头指针+队列容量)%队列容量。即为(15-15+35)5。由题目可知,循环队列最多存储35个元素。front=rear=15时,循环队列可能为空,也可能为满。 3.下列关于栈的叙述中,正确的是()。 A.栈底元素一定是最后入栈的元素 B.栈顶元素一定是最先入栈的元素 C.栈操作遵循先进后出的原则√ D.以上三种说法都不对

解析:栈是操作受限的线性表,只能在栈顶插入和删除元素,按照先进后出的原则组织数据。 4.在关系数据库中,用来表示实体间联系的是()。 A.属性 B.二维表√ C.网状结构 D.树状结构 解析:关系数据库使用的是关系模型,用二维表来表示实体间的联系。在关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段。 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。 A.1:1联系 B.m:1联系 C.1:m联系√ D.m:n联系 解析:实体间有一对一(1:1)、一对多(1:m)和多对多(m:n)三种联系。题目中,一个部门可以有多名职员,而每个职员只能属于一个部门,显然,部门和职员间是一对多(1:m)的联系。 6.有两个关系R和S如下:创建这个类的对象时,数据成员的初始化顺序是()。 A.a,b,c B.c,b,a C.b,a,c √ D.c,a,b 解析:类的成员初始化顺序与成员变量在构造函数中的位置无关,只与成员变量在类中定义的先后顺序有关。 27.有如下类定义:编译时没有错误的行是()。 A.第一行 B.第二行 C.第三行 D.第四行√

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

XX年计算机二级c语言题库试题及答案尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进展编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。下面是的关于计算机二级c语言题库试题及答案,欢送大家参考! 1、以下表达中正确的选项是( )。 A.循环队列是队列的一种顺序存储构造 B.循环队列是队列的一种链式存储构造 C.循环队列是非线性构造 D.循环队列是一直逻辑构造 2、以下表达中正确的选项是( )。 A.栈是一种先进先出的线性表 B.队列是一种后进先出的线性表 C.栈和队列都是非线性构造 D.以上三种说法都不对 3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为( )。 A.4 B.6 C.10 D.16 4、在以下模式中,能够给出数据库物理存储构造与物理存取方法的是( )。 A.内模式

B.外模式 C.概念模式 D.逻辑模式 5、在满足实体完整性约束的条件下( )。 A、一个关系中可以没有候选关键词 B、一个关系中只能有一个候选关键词 C、一个关系中必须有多个候选关键词 D、一个关系中应该有一个或者多个候选关键词 6、软件生命周期中的活动不包括( )。 A.软件维护 B.市场调研 C.软件测试 D.需求分析 7、下面不属于需求分析阶段任务的是( )。 A.确定软件系统的功能需求 B.确定软件系统的系统的系能需求 B.制定软件集成测试方案 D.需求规格说明书审评 8、在黑盒测试方式中,设计测试用例的主要根据是( )。 A.程序外部功能 B.程序内部逻辑 C.程序数据构造 D.程序流程图 9、在软件设计中不使用的工具是( )。 A.系统构造图

2022年计算机二级C语言上机试题及答案

2022年计算机二级C语言上机试题及答案#include #define N 5 typedef struct node { int data; struct node *next; } NODE; __1__ * fun(NODE *h) { NODE *p, *q, *r; p = h; if (p == NULL) return NULL; q = p->next; p->next = NULL; while (q) { r = q->__2__; q->next = p; p = q;

q = __3__ ; } return p; } NODE *creatlist(int a[]) { NODE *h,*p,*q; int i; h=NULL; for(i=0; i { q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL; if (h == NULL) h = p = q; else { p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p=h; if (p==NULL) printf(“The list is NULL!\n“); else

{ printf(“\nHead “); do { printf(“->%d“, p->data); p=p->next; } while(p!=NULL); printf(“->End\n“); } } main() { NODE *head; int a[N]={2,4,6,8,10}; head=creatlist(a); printf(“\nThe original list:\n“); outlist(head); head=fun(head); printf(“\nThe list after inverting :\n“); outlist(head); } 解题思路: 此题是考察使用链表方法,对链表的结点数据进展降序排列,最终通过函数进展返回。

计算机二级c语言题库及答案

计算机二级c语言题库及答案【选择题】 1). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B 答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义后使用。 2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( ) A.(c==2)||(c==4)||(c==6) B.(c>=2 && c<=6)&&!(c%2) C.(c>=2 &&c<=6)&&(c%2!=1) D.(c>=2 && c<=6) || (c!=3)|| (c!=5) 正确答案:D 答案解析:逻辑或运算中,只要有一项为真,表达式的值就为真,故选项D中c的值不为2、4、6时,那么表达式(c>=2&& c<=6)以及(c!=3)、(c!=5)必有一个成立,表达式的值也为真。 3). 在C语言中,函数返回值的类型最终取决于 A.函数定义时在函数首部所说明的函数类型 B.return语句中表达式值的.类型

C.调用函数时主调函数所传递的实参类型 D.函数定义时形参的类型 正确答案:A 答案解析:在C语言中,应当在定义函数时指定函数值的类型,凡不加类型说明的函数,一律按整型处理。在定义函数时,对函数值说明的类型一般应该和return语句中的表达式类型一致。如果函数值的类型和return语句中的表达式类型不一致,则以函数类型为主,即函数类型决定返回值的类型。 4). 以下叙述中正确的是( ) A.在C语言中,预处理命令行都以″#″开头 B.预处理命令行必须位于C源程序的起始位置 C.#include 必须放在C程序的开头 D.C语言的预处理不能实现宏定义和条件编译的功能 正确答案:A 答案解析:在C语言中,凡是以″#″号开头的行,都称为″编译预处理″命令行。预处理命令可以放在程序中的任何位置,其有效范围是从定义开始到文件结束。预处理命令有宏定义、文件包含和条件编译三类。#include 命令行表示程序中要引用C标准函数库中的标准输入输出函数。 5). 下列叙述中,不属于测试的特征的是 A.测试的挑剔性 B.完全测试的不可能性 C.测试的可靠性 D.测试的经济性 正确答案:C 答案解析:软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。其中,没有测试的可靠性这一说法。 6). 以下选项中不属于C语言标识符的是( )

国家计算机二级c语言题库及答案

国家计算机二级c语言题库及答案 国家计算机二级c语言题库及答案 1.以下程序的输出结果是() #include main() {inta,b,d=241; a=d/100%9 b=(-1)&&(+1); printf("%d,%d,a,d");} A)6,1B)2,1C)6,0D)2,0 2.关于if后一对圆括号中的表达式,以下叙述中正确的'是() A)只能用逻辑表达式B)只能用关系表达式C)既可用逻辑表达式也可用关系表达式D)可用任意表达式 3.有以下程序 main() {inta,b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue;}

b-=5; } printf("%d\n",a); } 程序运行后的输出结果是() A)7B)8C)9D)10 4.C语言中() A)不能使用do-while语句构成的循环 B)do-while语句构成的循环必须用break语句才能退出 C)do-while语句构成的循环,当while语句中的表达式值为非 零时结束循环 D)do-while语句构成的循环,当while语句中的表达式值为零 时结束循环 5.当a=1、b=3、c=5、d=4时,执行下面一段程序: if(aif(celse if(aif(belsex=3; elesx=6; elsex=7; 程序执行后,x的值为() A)1B)2C)3D)6 6.若x、y、z、m均为int型变量,则执行下面语句后m的值是() m=1;x=2;y=3; m=(mm=(mm=(m

A)1B)2C)3D)4 7.设有如下的函数 funct(x) floatx; {x*=x;printf("\n%d",x);return(x);} 则函数的类型() A)与参数x的类型相同B)voidC)intD)无法确定 8.在C语言中,不适用于局部变量的存储类说明符是() A)autoB)registerC)staticD)extern 9.有以下程序 intf(intn) {if(n==1)return1; elsereturnf(n-1)+1; } main() {inti,j=0; for(i=1;i<5;i++)j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是() A)15B)10C)6D)3 10.有以下程序 intb=2;

计算机二级C语言测试题及答案

计算机二级C语言测试题及答案 计算机c语言的学习内容是DOS命令,计算机组成原理,多媒体、数据库操作、计算机网络、程序设计、上机。以下是为大家的计算机c语言考试题及答案,欢送阅读! 1. #include main() { int a=1,b=3,c=5; if (c==a+b) printf("yes\n"); else printf("no\n"); } 运行结果为:no 详见教材p89 选择构造 详见教材p91关系符号 详见附录D p378符号的优先级 ==表示判断符号两边的值是否相等;=表示将符号右边的值赋给左边的变量 此题考点是选择构造3种根本形式的第二种 选择构造三种一般形式中的“语句”皆为复合语句,复合语句要用{ }括起来,只有当复合语句中只包括一条语句时可以省略{ },此题即如此,因此两个printf操作没有加{ } 假设c==a+b成立,那么执行printf("yes\n"); 否那么(即c==a+b不成立),执行printf("no\n");

+的优先级高于==,因此先算a+b,值为4,表达式5==4不成立,因此执行printf("no\n");即输出字符串no 2. #include main() { int a=12, b= -34, c=56, min=0; min=a; if(min>b) min=b; if(min>c) min=c; printf("min=%d", min); } 运行结果为: min=-34 详见教材p89 选择构造 此题考点是选择构造3种根本形式的第一种 一共包含了两个选择构造(两个if语句) 定义变量,并赋值此时a=12, b= -34, c=56, min=0 将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。 假设min>b成立,那么执行min=b; 假设min>c成立,那么执行min=c; 输出min中的值 12大于-34,第一个if语句的表达式成立,因此执行min=b; 执行后min中的值被更新为-34.

计算机二级C语言考试上机试题及答案

xx年计算机二级C语言考试上机试题及答案 1.算法的空间复杂度是指( )。 A.算法程序的长度 B.算法程序中=的指令条数 C.算法程序所占的存储空间 D.算法执行过程中所需要的存储空间 2.以下表达中正确的选项是( )。 A.一个逻辑数据构造只能有一种存储构造 B.逻辑构造属于线性构造,存储构造属于非线性构造 C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率 D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率 3.简单的交换排序方法是( )。 A.快速排序 B.选择排序 C.堆排序 D.冒泡排序 4.关于构造化程序设计原那么和方法的描述错误的选项是( )。 A.选用的构造只准许有一个入口和一个出口 B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现 C.不允许使用GOT0语句 D.语言中假设没有控制构造,应该采用前后一致的方法来模拟 5.相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和( )。

A.可重用性差 B.平安性差 C.非持久性 D.冗余性 6.面向对象的设计方法与传统的面向过程的方法有本质不同,它的根本原理是( )。 A.模拟现实世界中不同事物之间的联系 B.强调模拟现实世界中的算法而不强调概念 C.使用现实世界的概念抽象地思考问题从而自然地解决问题 D.不强调模拟现实世界中的算法而强调概念 7.对如下二叉树进展后序遍历的结果为( )。 A.ABCDEF B.DBEAFC C.ABDECF D.DEBFCA 8.软件设计包括软件的构造、数据接口和过程设计,其中软件的过程设计是指( )。 A.模块间的关系 B.系统构造部件转换成软件的过程描述 C.软件层次构造 D.软件开发过程 9.两个或两个以上模块之间关联的严密程度称为( )。 A.耦合度 B.内聚度 C.复杂度

2023年计算机等级考试二级C语言上机编程题参考答案

(1)将两个两位旳正整数a、b c中:将a旳十位和个位数放在c 旳十位和个位数放在c旳百位和个位。例如: 45, b = 12,使c= 4152。 void fun(int a, intb, int *c)ﻩ// { *c= a/10*1000+b/10*10 0*10+b%10; } (2)判断整数x与否是同构数(规定x 100旳正整数)。若是,函数返回1,否则返回0 “同构数”。例如:5旳平方数是25,5是2 旳数,因此5是同构数。 intfun(int x) { return (x< 10 &&x*x%10==x ﻩ|| (x>= 10 && x*x%100 x); } (3)w是不小于10旳无符号整数,求w后n-1旳数作为函数值返回。例如:若w是234,则返回unsigned fun(unsigned w) { unsignedt= w,m =1; while (t) { t /= 10;m*=10;} return w% (m /10); } (4)对变量x中旳值保留2位小数,并对第3位进行四舍五入(规定x中旳值为正数)。 doublefun(double x) { return (int)(x * 100 + 0.5)/ 100.0; } (5)求n以内(不包括n)同步能被3和7整除旳所有自然数之和旳平方根,并作为函数值返回。doublefun(int n) { int i; double s =0; for (i = 1;i < n;i++) if(i % 3 == 0 &&i% 7== 0) s +=i; returnsqrt(s);//平方根 } (6)求1到m之内(含m)能被7或11整除旳所有整数放在数组a中,通过函数返回这些数旳个数。

2022-2023学年河南省安阳市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年河南省安阳市全国计算机等级考试C语言程序设计真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________ 一、单选题(12题) 1. 结构化程序设计方法的3种基本控制结构中不包括 A.循环结构 B.递归结构 C.顺序结构 D.选择结构 2.下列程序的输出结果是() #include<stdio.h> main() { int a=0,i; for(i=1;i<5;i++) { switch(i) { case 0: case 3:a+=1; case 1: case 2:a+=2; default:a+=3; } printf(“%d”,a) ;} A.19 B.18 C.6 D.8 3.下列程序的输出结果是( )。 #include main { int i; for(i=1;i<=10,i++) { if((i*i>=20)&&(i*i<=100))

break; } printf("%d\n",i*i; } A.49 B.36 C.25 D.64 4. 有以下程序:main() {int x,y,z;x=y=1; z=x++,y++,++y;printf("%d,%d,%d,%d\n",x,y,z);程序运行后的输出结果是( )。 A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1 5. 下列程序的输出结果是()struct abc{ int a,b,c;};main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d\n",t);} A.3 B.4 C.5 D.6 6.下列排序方法中,()方法的比较次数与记录的初始排列状态无关。 A.直接插入排序 B.冒泡排序 C.快速排序 D.直接选择排序 7. 以下叙述中正确的是______。 A.C语言比其他语言高级 B.C语言可以刁;用编译就能被计算机识别执行 C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D.C语言出现的最晚,具有其他语言的一切优点 8.C程序的基本模块为()。 A.表达式 B.标识符 C.语句 D.函数 9. 在浏览WWW时,如果连接到一个安全的站点,应当以( )开头来书

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 A.20 B.0或35 C.15 D.16 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 A.1:m联系 B.m:n联系 C.1:1联系 D.m:l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

计算机二级C语言编程试题库(100题)

计算机二级C语言编 程试题库(100题) https://www.360docs.net/doc/0919458095.html,work Information Technology Company.2020YEAR

2011,2012年上机题 100题库 1: 第1题 m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 答案: int fun(int score[],int m,int below[]) { int i,k=0,aver=0; for(i=0;i<m;i++) aver+=score[i]; aver/=m; for(i=0;i<m;i++) if(score[i]<aver) { below[k]=score[i]; k++; } return k; } 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 答案: void fun(int *a, int *n) { int i,j=0; for(i=2;i<1000;i++) if ((i%7==0 || i%11==0) && i%77!=0) a[j++]=i; *n=j; } 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案:

void fun(int x, int pp[ ], int *n) { int i=1,j=0;k=0,*t=pp; for(i=0;i<=x;i++) if(i%2!=0) { t[j]=I; j++; } for(i=0;i<j;i++) if(x%t[i]==0) { pp[k]=t[i]; k++; } *n=k; } 4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 答案: void fun(char *tt, int pp[]) { int i; for (i=0;i<26;i++) pp[i]=0; while (*tt) { switch (*tt) { case ‘a’: pp[0]++;break; cas e ‘b’: pp[1]++;break; case ‘c’: pp[2]++;break; case ‘d’: pp[3]++;break; case ‘e’: pp[4]++;break; case ‘f’: pp[5]++;break; case ‘g’: pp[6]++;break; case ‘h’: pp[7]++;break; case ‘i’: pp[8]++;break; case ‘j’: pp[9]++;break; case ‘k’: pp[10]++;break;

计算机二级C语言试题库

计算机二级C语言试题库 1有以下程序 main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=aprintf("%d,%d\n",k,m); } 程序运行后的输出结果是 A)0,0 B)0,1 C)1,0 D)1,1 2在一个C程序中 A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3有以下程序 main() { int a=5,b=4,c=3,d=2; if (a>b>c) printf("%d\n", d); else if ( (c-1 >= d) == 1) printf("%d\n", d+1); else printf("%d\n", d+2); } 执行后输出结果是

A)2 B)3 C)4 D)编译时有错,无结果4有以下程序 main() { int i; for (i=0; i<3; i++) switch (i) { case 1: printf("%d ", i); case 2: printf("%d ", i); default : printf("%d ", i); } } 执行后输出结果是 5有以下程序 main() { int k=4,n=0; for( ; n{ n++; if(n%3!=0) continue; k--; } printf("%d,%d\n",k,n); } 程序运行后的输出结果是 A)1,1 B)2,2 C)3,3 D)4,4 6有以下程序

fun(int a, int b) { if(a>b) return(a); else return(b); } main() { int x=3, y=8, z=6, r; r=fun(fun(x,y), 2*z); printf("%d\n", r); } 程序运行后的输出结果是A)3 B)6 C)8 D)12 7有以下程序 int *f(int *x, int *y) { if (*x < *y) return x; else return y; } main() { int a=7,b=8,*p,*q, *r; p=&a; q=&b; r = f(p,q); printf("%d,%d,%d\n",*p,*q,*r);

计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

相关主题
相关文档
最新文档