当前位置:文档之家› 2015.9未来教育计算机C语言二级题库(操作题)

2015.9未来教育计算机C语言二级题库(操作题)

2015.9未来教育计算机C语言二级题库(操作题)
2015.9未来教育计算机C语言二级题库(操作题)

2015年9月计算机二级题库

第一套所属年份:2010.9;2011.3;2012.3;2012.9

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

例如,若形参e 的值为1e -3,则函数返回值为0.551690。请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件BLANK1.C 中。

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

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

所属年份:2010.9;2011.3;2012.3;2012.9

下列给定程序中函数fun 的功能是:求出如下分数序列的前n 项之和。和值通过函数值返回。

例如,若n =5,则应输出8.391667。

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

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改的程序的结构!

(1)double fun(int n)

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

所属年份:2010.9;2011.3;2012.3;2012.9

请编写函数fun ,其功能是:找出2×M 整型二维数组中最大元素的值,并将此值返回调用函数。 注意:部分源程序在文件PROG1.C 中。

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

int fun (int a[][M])

{

int i,j,max=a[0][0];

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

for(j=0;j

if(max

max=a[i][j];

return max;

}

第二套所属年份:2010.9;2012.3;2012.9

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

例如,当形参n 的值为10时,函数返回值为9.612558。 ()()()12222213572462n n s n -?+=-+-?…-1()()3221102n n -?+≤?23581321,,,,,,1235813…()()

222221(21)1335572462n n s n ?-??+???=

++++?…

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

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

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

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

所属年份:2010.9;2012.3;2012.9

下列给定程序中函数fun 的功能是:统计substr 所指的子符串在str 所指的字符串中出现的次

数。

例如,若字符串为aaas 1kaaas ,子字符串为as ,则应输出2。

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

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改的程序的结构!

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

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

所属年份:2010.9;2012.3;2012.9

编写函数fun ,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停

止迭代)。

程序运行后,若输入精度

0.0005,则程序应输出为3.14…。

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

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

语句。

double fun ( double eps)

{

double s=1.0,s1=1.0;

int n=1;

while(s1>=eps) /*当某项大于精度要求时,继续求下一项*/

{s1=s1*n/(2*n+1); /*求多项式的每一项*/

s=s+s1; /*求和*/

n++;

}

return 2*s;

}

第三套所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

给定程序中,函数fun 的功能是:统计形参s 所指的字符串中数字字符出现的次数,并存放

在形参t 所指的变量中,最后在主函数中输出。例如,若形参s 所指的字符串为

"abcdef35adgh3kjsdf7",则输出结果为4。

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

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

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

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

()

1121231234121233535735793521n n π?????????=++++++?????????+…………

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

下列给定程序中函数fun的功能是:实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构

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

(2)return(t) ;或return t;

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

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

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

void fun (int *a, int *n)

{

int i,j=0;

for(i=1;i<=1000;i++) /*求1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数,并放入数组a 中*/

if((i%7==0||i%11==0)&&i%77!=0)

a[j++]=i;

*n=j;

}

第四套所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数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中。

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

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

所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

下列给定程序中函数fun的功能是:求两个非零正整数的最大公约数,并作为函数值返回。

例如,若num1和num2分别为49和21,则输出的最大公约数为7;若num1和num2分别为27和81,则输出的最大公约数为27。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

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

所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

规定输入的字符串中只包含字母和*号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后字符串中的内容应当是:

ABCDEFG。

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

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

void fun( char *a )

{

int i,j=0;

for(i=0;a[i]!='\0';i++)

if(a[i]!='*')

a[j++]=a[i]; /*若不是要删除的字符'*'则留下*/

a[j]='\0';

}

第五套所属年份:2012.3;2012.9

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

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

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

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

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

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

所属年份:2012.3;2012.9

下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数为7531。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

(1)*t=0;

(2)if(d%2!=0)或if(d%2==1)

所属年份:2012.3;2012.9

编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。

例如,分别输入下面两个字符串:

FirstString--

SecondString

程序输出:

FirstString--SecondString

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

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

void fun(char p1[], char p2[])

{

int i,j;

for(i=0;p1[i]!='\0';i++) ;

for(j=0;p2[j]!='\0';j++)

p1[i++]=p2[j];

p1[i]='\0';

}

第六套所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数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中。

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

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

所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中函数fun的功能是:用递归算法计算斐波拉契数列中第n项的值。从第1项起,斐波拉契数列为:1、1、2、3、5、8、13、21、……

例如,若给n输入7,则该项的斐波拉契数值为13。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

(1)去掉分号

(2)case 1:case 2:return 1;

所属年份:2011.9;2012.9;2013.3;2013.9

某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。

例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。

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

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

void fun(STREC *a)

{

int i;

a->ave=0.0;

for(i=0;i

a->ave=a->ave+a->s[i]; /*求各门成绩的总和*/

a->ave/=N; /*求平均分*/

}

第七套所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数fun的功能是进行数字字符转换。若形参ch中是数字字符'0'~'9',

则将'0'转换成'9','1'转换成'8','2'转换成'7',……,'9'转换成'0';若是其它字符则保持不变;并将转换后的结果作为函数值返回。

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

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

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

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

所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中函数fun的功能是:将p所指字符串中的所有字符复制到b中,要求每复制三个字符之后插入一个空格。

例如,若给a输入字符串:ABCDEFGKHIJK,调用函数后,字符数组b中的内容为:ABC DEF GHI JK。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

(1)b[k]=*p;

(2)b[k]='';k++;

所属年份:2011.9;2012.9;2013.3;2013.9

N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,其功能是:求出平均分,并由函数值返回。

例如,若学生的成绩是:8576698591726487,则平均分应当是:78.625。

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

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

double fun( STREC *h )

{

double ave=0.0;

STREC *p=h->next;

while(p!=NULL)

{ ave=ave+p->s;

p=p->next;

}

return ave/N;

}

第八套所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

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

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

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

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

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

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

下列给定程序中函数fun的功能是:将tt所指字符串中的小写字母全部改为对应的大写字母,

其它字符不变。

例如,若输入"Ab,cD",则输出"AB,CD"。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

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

(2)tt[i]-=32;

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k返回。

例如,若输入17,则应输出:46891012141516。

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

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。void fun( int m, int *k, int xx[] )

{

int i,j,n=0;

for(i=4;i

{ for(j=2;j

if(i%j==0) break;

if(j

}

*k=n; /*返回非素数的个数*/

}

第九套所属年份:2011.9;2012.3;2013.3;2013.9

下列给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字

符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为"def35adh3kjsdf7",执行后结果为"defadhajsdf3537"。

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

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

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

(1)j++或j+=1或++j或j=j+1

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

所属年份:2011.9;2012.3;2013.3;2013.9

下列给定程序中函数fun的功能是:用冒泡法对6个字符串进行升序排列。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

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

(2)*(pstr +i) = *(pstr + j) ;

所属年份:2011.9;2012.3;2013.3;2013.9

编写函数fun,其功能是:求ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符为1,则输出3。

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

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

语句。

nt fun(char *ss, char c)

{

int i=0;

for(;*ss!='\0';ss++)

if(*ss==c)

i++;/*求出ss所指字符串中指定字符的个数*/

return i;

}

第十套所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。

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

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

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

(1)x(2)p(3)s

所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中函数fun的功能是:计算正整数num各位上的数字之积。

例如,若输入252,则输出应该是20。若输入202,则输出应该是0。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)long k=1;

(2)num /=10;

所属年份:2010.9;2011.3;2012.3;2013.9

编写函数fun,其功能是:计算n门课程的平均分,结果作为函数值返回。

例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为:71.80。

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

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

float fun ( float *a , int n )

{

int i;

float av=0.0;

for(i=0; i

av=av+a[i];

return(av/n); /*返回平均值*/

}

第十一套所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数fun的功能是:将形参a所指数组中的前半部分元素中的值与后半部分元素中的值对换。形参n中存放数组中数据的个数,若n为奇数,则中间的元素不动。

例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则调换后为:6、7、8、9、5、1、2、3、4。

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

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

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

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

所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

下列给定程序中函数fun的功能是:把从主函数中输入的3个数,最大的数放在a中,中间的数放在b中,最小的数放在c中。

例如,若输入的数为:551234,输出的结果应当是:a=55.0,b=34.0,c=12.0。

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

注意:部分源程序在文件MODI1.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构。

(1)float k;

(2)if(*a< *c)

所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

学生的记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:把分数最高的学生数据放在b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。

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

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

int fun( STREC *a, STREC *b )

{

int i,j=0,max=a[0].s;

/*找出最大值*/

for(i=0;i

if(max

for(i=0;i

if(max==a[i].s)

b[j++]=a[i]; /*找出成绩与max相等的学生的记录,存入结构体b中*/

return j; /*返回最高成绩的学生人数*/

}

第十二套所属年份:2011.3

下列给定程序中,函数fun的功能是:从形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。

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

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

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

(1) N(2) k(3) ss[i]

所属年份:2011.3

下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把

ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。

例如,若主函数中a字符串为"aBCDeFgH",b字符串为"Abcd",则c中的字符串应为"aBcdeFgH"。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

(1) int k=0;

(2)while (*p||*q)

所属年份:2011.3

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:除了字符串前导的*号之外,将串中其它*号全部删除。在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:****ABCDEFG。

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

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

{

int i=0;

char *p=a;

while(*p&&*p=='*')

{

a[i]=*p;

i++;

p++;

}

while(*p)

{

if(*p!='*')

{a[i]=*p;i++;}

p++;

}

a[i]='\0';

}

第十三套所属年份:2011.9;2012.3;2013.3;2013.9

下列给定程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一

个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)。

例如,形参s所指字符串为"abcdefgh",执行结果为"ahcbedgf"。

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

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

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

(1)N(2)i(3) -1

所属年份:2011.9;2012.3;2013.3;2013.9

下列给定程序中fun函数的功能是:求表达式

s=aa… aa-…-aaa -aa -a

(此处aa… aa表示n个a,a和n的值在1至9之间)

例如,a=3,n=6,则以上表达式为:

s=333333-33333-3333-333-33-3

其值是296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)a2=k/10;

(2)return i;

所属年份:2011.9;2012.3;2013.3;2013.9

编写函数void fun(char *tt,int pp[]),统计在tt所指的字符串中'a'到'z'26个小写字母各自出现的次数,并依次放在pp所指的数组中。

例如,当输入字符串abcdefgabcdeabc后,程序的输出结果应该是:

3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

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

void fun( char *a )

{

while(*a!='\0')

a++;

a--; /*指针a指向字符串的尾部*/

while(*a=='*')

a--; /*指针a指向最后一个字母*/

*(a+1)='\0'; /*在字符串最后加上结束标志符*/

}

第十四套所属年份:2011.3;2012.9

下列给定程序中,函数fun的功能是:在形参ss所指字符串数组中查找与形参t所指字符串相同的串,找到后返回该串在字符串数组中的位置(即下标值),若未找到则返回-1。ss所指字符

串数组中共有N个内容不同的字符串,且串长小于M。

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

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

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

(1)N(2)i(3) -1

所属年份:2011.3;2012.9

下列给定程序中函数fun的功能是:从整数10到55之间,查找能被3整除且有一位上的数值

是5的数,把这些数放在b所指的数组中,这些数的个数作为函数值返回。规定函数中al放个位数,a2放十位数。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

(1)a2=k/10;

(2)return i;

所属年份:2011.3;2012.9

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"****A*BC*DEF*G"。在编写函数时,不得使用C语言提供的字符串函数。

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

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

void fun( char *a )

{

while(*a!='\0')

a++;

a--; /*指针a指向字符串的尾部*/

while(*a=='*')

a--; /*指针a指向最后一个字母*/

*(a+1)='\0'; /*在字符串最后加上结束标志符*/

}

第十五套所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中已建立了一个带头结点的单向链表,在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。

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

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

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

(1)next(2) t->data(3) t

所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中函数fun的功能是:将字符串中的字符逆序输出,但不改变字符串中的内容。

例如,若字符串为"abcd",则应输出:"dcba"。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)void fun(char *a)

(2)printf("%c" ,*a) ;

所属年份:2010.9;2011.3;2012.3;2013.9

编写函数fun,其功能是:比较字符串的长度,(不得使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。

例如,输入beijingshanghai(为回车键),函数将返回shanghai。

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

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

char *fun ( char *s, char *t)

{

int i,j;

for(i=0;s[i]!= '\0';i++); /*求字符串的长度*/

for(j=0;t[j]!= '\0';j++);

if(i<=j) /*比较两个字符串的长度*/

return t; /*函数返回较长的字符串,若两个字符串长度相等,则返回第1个字符串*/

else

return s;

}

第十六套所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。

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

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

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

(1) n/2(2) i(3) a[n-i-1]或a[n-1-i]

所属年份:2011.9;2012.9;2013.3;2013.9

下列给定程序中函数fun的功能是:将一个由八进制数字字符组成的字符串转换成十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。

例如,若输入77777,则输出32767。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构。

(1)n= *p-'0';

(2)n=n*8+*p-'0';

所属年份:2011.9;2012.9;2013.3;2013.9

学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。

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

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

{int i;

STREC str={"\0",-1}; /*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/

for(i=0;i

if(strcmp(a[i].num,b)==0) /*找到指定学号的学生数据*/

str=a[i];

return str; /*返回学生记录*/

}

第十七套所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源

文件名放在变量sfname中,目标文件名放在变量tfname中。

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

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

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

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

所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数:8642。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)if(d%2==0)

(2)s/=10;

所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中函数fun的功能是:将长整型数中各位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为87653142时,t中的数:8642。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

void fun(char *s, char t[])

{

int i,j=0;

for(i=0;s[i]!='\0';i++)

if(i%2==0 && s[i]%2==0) /*将s所指字符串中下标和ASCII码值都为偶数的字符放入数组t中*/

t[j++]=s[i];

t[j]='\0'; /*在字符串最后加上结束标识*/

}

第十八套所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

下列给定程序中,函数fun的功能是:有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均向右移动m个位置,左位置为0。例如,N=3,m=2,有下列矩阵

12 3

45 6

789

程序执行结果为

00 1

00 4

007

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

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

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

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

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

下列给定程序中函数fun 的功能是:计算并输出high 以内最大的10个素数的和。high 的值由

主函数传给fun 函数。

例如,若high 的值为100,则函数的值为732。

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

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改程序的结构!

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

(2)yes =0; break ;

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

编写函数fun ,其功能是:利用下面的简单迭代方法求方程cos(x)-x =0的一个实根。

迭代步骤如下:

(1)取x1初值为0.0;

(2)x0=x1,将x1的值赋给x0;

(3)x1=cos(x0),求出一个新的x1;

(4)若x0-x1的绝对值小于0.000001,执行步聚(5),否则执行步聚(2);

(5)所求x1就是方程cos(x)-x =0的一个实根,作为函数值返回。

程序将输出结果Root =0.739086。

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

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

句。

double fun()

{

double x0,x1;

x1=0.0;

do

{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>=1e-6);

return x1;

}

第十九套所属年份:2010.9;2011.3;2012.9

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun 的功能是:

将形参a 所指结构体变量中的数据赋给函数中的结构体变量b ,并修改b 中的学号和姓名,最后输

出修改后的数据。

例如,a 所指变量中的学号、姓名和三门课的成绩依次是:10001、"ZhangSan"、95、80、

88,则修改后输出b 中的数据应为:10002、"LiSi"、95、80、88。

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

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

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

(1) a (2) b .name (3) score[i]

所属年份:2010.9;2011.3;2012.9

下列给定程序中函数fun 的功能是:删除s 所指字符中所有的小写字母c 。

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

1cos()n n x x +=

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

(1)s[j++]=s[i];或{s[j]=s[i];j++;}

(2)s[j]='\0';

所属年份:2010.9;2011.3;2012.9

规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。

例如,字符串中的内容为:"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:"A*BC*DEF*G***********"。在编写函数时,不得使用C语言提供的字符串函数。

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

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

void fun( char *a )

{

int i=0,n=0;

char *p;

p=a;

while (*p=='*') /*判断*p是否是*号,并统计*号的个数*/

{

n++;p++;

}

while(*p) /*将前导*号后的字符传递给a*/

{

a[i]=*p;i++;p++;

}

while(n!=0)

{

a[i]='*';i++;n--;

}

a[i]='\0';

}

第二十套所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序的功能是:从键盘输入若干行字符串(每行不超过80个字符),写入文件myfile4.txt中,用-1作字符串输入结束的标志,然后将文件的内容显示在屏幕上。文件的读写分别由函数ReadText和WriteText实现。

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

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

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

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

所属年份:2010.9;2011.3;2012.3;2013.9

下列下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中奇数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。

例如,当s中的数为7654321时,t中的数为7531。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)void fun(long s,long *t)

(2)sl=sl*10;

所属年份:2010.9;2011.3;2012.3;2013.9

学生记录由学号和成绩组成,N名学生的数据已放入主函数中的结构体数组中,请编写函数fun,其功能是:把分数最低的学生数据放入b所指的数组中,注意:分数最低的学生可能不止一个,函数返回分数最低的学生人数。

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

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

int fun( STREC *a, STREC *b )

{

int i,j=0,min=a[0].s;

for(i=0;i

if(min>a[i].s)

min=a[i].s; /*找出最小值*/

for(i=0;i

if(min==a[i].s)

b[j++]=a[i]; /*找出成绩与min相等的学生的记录,存入结构体b中*/

return j;

}

第二十一套所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

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

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

12 3

45 6

789

操作后应为:

74 1

85 2

96 3

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

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

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

(1)0(2)j--(3)j

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9

下列给定程序中函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…+f(n)的值。

例如,当n的值为5时,函数值应为10.407143。

f(x)函数定义如下:

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

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改程序的结构!

(1)double f(double x)

(2)return s ;

所属年份:2010.9;2011.9;2012.3;2013.3;2013.9 编写函数fun ,其功能是计算:

作为函数值返回。

在C 语言中可调用log(n)函数求ln(n)。log 函数的引用说明为:double log(double x)。

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

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

请勿改动主函数main 和其它函数中的任何内容,仅

double fun( int m )

{

int i;

double s=0.0;

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

s=s+log(i); /*计算s =ln(1)+ln(2)+ln(3)+…+ln(m)*/

return sqrt(s); /*对s 求平方根并返回*/

}

第二十二套所属年份:2010.9;2011.3;2012.9

下列给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,查找含有形参substr 所指

子串的所有字符串,并输出,若没找到则输出相应信息。ss 所指字符串数组中共有N 个字符串,

且串长小于M 。程序中库函数strstr(s1,s2)的功能是在s1串中查找s2子串,若没有,函数值为0,

若有,函数值为非0。

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

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

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

(1) N (2) substr (3) 0

所属年份:2010.9;2011.3;2012.9

下列给定程序中函数fun 的功能是:求三个数的最小公倍数。

例如,若给主函数中的变量x1、x2、x3分别输入15 11 2,则输出结果应当是330。

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

注意:部分源程序在文件MODI1.C 中,不得增行或删行,也不得更改的程序的结构!

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

(2)return j ;

所属年份:2010.9;2011.3;2012.9

规定输入的字符串中只包含字母和*号。请编写函数fun ,其功能是:只删除字符前导和尾

(1)/(2)02()002(1)/(2)0

x x x x f x x x x x x +->≠??===??--

部的*号,串中字母间的*号都不删除。形参n给出了字符串的长度,形参h给出了字符串中前导*号的个数,形参e给出了字符串中尾部*号的个数。在编写函数时,不得使用C语言提供的字符串函数。

例如,字符串中的内容为:"****A*BC*DEF*G*******",删除后,字符串中的内容应当是:"A*BC*DEF*G"。

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

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

void fun( char *a, int n,int h,int e )

{

int i,j=0;

for(i=h;i

a[j++]=a[i];

a[j]='\0'; /*在字符串最后加上结束标识*/

}

第二十三套所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中,函数fun的功能是:计算一个带头结点的单向链表中各结点的数据域中数值之和,结果作为函数值返回。

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

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

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

(1)data(2) next(3) head

所属年份:2010.9;2011.3;2012.3;2013.9

下列给定程序中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。

例如,当s所指字符串中的内容为"abcdabfab",t1所指子串中的内容为"ab",t2所指子串中的内容为"99"时,在w所指的数组中的内容应为"99cd99f99"。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!

(1)while( *r)

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

所属年份:2010.9;2011.3;2012.3;2013.9

函数fun的功能是:将s所指字符串中下标为偶数的字符删除,剩余字符形成的新串放在t所

指数组中。

例如,当s所指字符串中的内容为"ABCDEFGHIJK"时,在t所指数组中的内容应是:"BDFHJ"。

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

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

void fun(char *s, char t[])

{

int i,j=0,k=strlen(s); /*k为字符串的长度*/

for(i=1;i

t[j++]=s[i];

t[j]='\0';

}

第二十四套所属年份:2011.3;2012.9

程序通过定义学生结构体变量,存储学生的学号、姓名和3门课的成绩。函数fun的功能是:将形参a所指结构体变量s中的数据进行修改,并把a的地址作为函数值返回主函数,从主函数中输出修改的数据。

例如,a所指变量s中的学号、姓名和三门课的成绩依次是:10001、"ZhangSan"、95、80、88,修改后输出t中的数据应为:10002、"LiSi"、96、81、89。

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

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

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

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

所属年份:2011.3;2012.9

下列给定程序中函数fun的功能是:从N个字符串中找出最长的串,并将其地址作为函数值返回。各字符串在主函数中输入,并放入一个字符串数组中。

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

注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改的程序的结构!

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

(2)return sp;

所属年份:2011.3;2012.9

编写函数fun,其功能是:将a、b中的两个两位正整数合并成一个新的整数放在c中。合并

的方式是:将a中的十位和个位数依次放在变量c的百位和个位上,b中的十位和个位数依次放在变量c的十位和千位上。

例如,当a=45,b=12,调用该函数后c=2415。

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

请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。void fun(int a, int b, long *c)

{

*c=a%10+(b/10)*10+(a/10)*100+(b%10)*1000;

}

第二十五套所属年份:2010.9;2011.9;2012.9;2013.3;2013.9

下列给定程序中,函数fun的功能是:将N×N矩阵主对角线元素的值与反向对角线对应位置上元素的值进行交换。

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

12 3

45 6

789

交换后为:

32 1

45 6

987

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

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

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

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

一、选择题 1). 下列叙述中正确的是( )。 A.调用printf( )函数时,必须要有输出项 B.使用putchar( )函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出 D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码 正确答案:B 答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C 语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。 2). 以下结构体类型说明和变量定义中正确的是( ) A.typedef struct { int n; char c; } REC; REC t1,t2; B.struct REC ; { int n; char c; }; REC t1,t2; C.typedef struct REC; { int n=0; char c=′A′; } t1,t2; D.struct { int n; char c; } REC; REC t1,t2; 正确答案:A 答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。 3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( ) A.一对一 B.一对多 C.多对一 D.多对多 正确答案:B 答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。 4). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B

计算机二级c语言操作题答案

本题是将一个数字字符串转换为一个整数。 int i, len, t; /* len为串长,t为正负标识*/ long x=0; len=strlen(p); if(p[0]=='-') { t=-1; len--; p++; } else t=1; /* 以下完成数字字符串转换为一个数字*/ while(*p) x = x*10-48+(*p++); return x*t; 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。void fun(char s[][N], char *b) { int i,j,n=0; for(i=0; i < N;i++) /* 请填写相应语句完成其功能*/ { for(j = 0 ; j < M ; j++) { b[n] = s[j][i] ; n = i * M + j + 1; } } b[n]='\0'; } 统计一行字符串中单词的个数,作为函数值返回。 int fun( char *s) { int k = 1 ; while(*s) { if(*s == ' ') k++ ; s++ ; } return k ; } 统计各年龄段的人数。 void fun( int *a, int *b) { int i, j ; for(i = 0 ; i < M ; i++) b[i] = 0 ; for(i = 0 ; i < N ; i++) {

j = a[i] / 10 ; if(j > 10) b[M - 1]++ ; else b[j]++ ; } } double rnd() { static t=29,c=217,m=1024,r=0; r=(r*t+c)%m; return((double)r/m); } 删去一维数组中所有相同的数, 使之只剩一个。 int fun(int a[], int n) { int i, j = 1, k = a[0] ; for(i = 1 ; i < n ; i++) if(k != a[i]) { a[j++]=a[i] ; k = a[i] ; } a[j] = 0 ; return j ; } 移动字符串中的内容,移动的规则如下: 把第1到第m个字符, void fun1(char *w) /* 本函数的功能是将字符串中字符循环左移一个位置*/ { int i; char t; t=w[0]; for(i=0;i10000) w %= 10000 ; else if(w>1000) w %= 1000 ; else if(w>100) w %= 100 ; else if(w>10) w %=10 ; return w ; } 使数组左下三角元素中的值乘以n 。

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

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

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

全国计算机等级考试二级C语言真题2013年3月 (总分40, 做题时间90分钟) 一、选择题 1. 程序流程图中带有箭头的线段表示的是______。 A 图元关系 B 数据流 C 控制流 D 调用关系 答案:C [解析] 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。 2. 结构化程序设计的基本原则不包括______。 A 多态性 B 自顶向下 C 模块化 D 逐步求精 答案:A [解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。 3. 软件设计中模块划分应遵循的准则是______。 A 低内聚低耦合 B 高内聚低耦合

C 低内聚高耦合 D 高内聚高耦合 答案:B [解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 4. 在软件开发中,需求分析阶段产生的主要文档是______。 A 可行性分析报告 B 软件需求规格说明书 C 概要设计说明书 D 集成测试计划 答案:B [解析] A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 5. 算法的有穷性是指______。 A 算法程序的运行时间是有限的 B 算法程序所处理的数据量是有限的 C 算法程序的长度是有限的 D 算法只能被有限的用户使用

全国计算机等级考试二级C语言操作题2+2016年

全国计算机等级考试二级C语言操作题2 2016年 (总分:30.00,做题时间:90分钟) 1.给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!给定源程序:#include void fun(char *s, int a, double f) { /**********found**********/ __1__ fp; char ch; fp = fopen("file1.txt", "w"); fprintf(fp, "%s %d %f/n", s, a, f); fclose(fp); fp = fopen("file1.txt", "r"); printf("/nThe result :/n/n"); ch = fgetc(fp); /**********found**********/ while (!feof(__2__)) { /**********found**********/ putchar(__3__); ch = fgetc(fp); } putchar('/n'); fclose(fp); } main() { char a[10]="Hello!"; int b=12345; double c= 98.76; fun(a,b,c); } (分数:10.00) __________________________________________________________________________________________ 正确答案:() 解析:解题思路:本题是考察先把给定的数据写入到文本文件中,再从该文件读出并显示在屏幕上。第一处:定义文本文件类型变量,所以应填:FILE *。第二处:判断文件是否结束,所以应填:fp。第三处:显示读出的字符,所以应填:ch。 2.给定程序MODI1.C中函数fun的功能是: 依次取出字符串中所有数字字符, 形成新的字符串, 并取代原字符串。请改正函数fun中指定部位的错误, 使它能得出正确的结果。注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构! 给定源程序:#include void fun(char *s) { int i,j; for(i=0,j=0; s[i]!='/0'; i++) if(s[i]>='0' && s[i]<='9') /**********found**********/ s[j]=s[i]; /**********found**********/ s[j]="/0"; } main() { char item[80]; printf("/nEnter a string : ");gets(item); printf("/n/nThe string is : /"%s/"/n",item); fun(item); printf("/n/nThe string of changing is : /"%s/"/n",item ); } (分数:10.00) __________________________________________________________________________________________ 正确答案:() 解析:解题思路:第一处: 要求是取出原字符串中所有数字字符组成一个新的字符串,程序中是使用变量j来控制新字符串的位置,所以应改为:s[j++]=s[i];。第二处: 置新字符串的结束符,所以应改为: s[j]='/0'; 3.请编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的顺序依次放到一个字符串中。例如, 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容应是: WSHWSHWSH。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。给定源程序: #include #define M 3 #define N 4 void fun(char s[][N], char *b) { int i,j,n=0; for(i=0; i < N;i++) /* 请填写相应语句完成其功能*/ { } b[n]='/0'; } main() { char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}}; int i,j; printf("The matrix:/n"); for(i=0; i { for(j=0;j3c",w[i][j]); printf("/n"); } fun(w,a); printf("The A string:/n");puts(a); printf("/n/n"); NONO(); } (分数:10.00) __________________________________________________________________________________________ 正确答案:(void fun(char s[][N], char *b) { int i,j,n=0; for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ { for(j = 0 ; j < M ; j++) { b[n] = s[j][i] ; n = i * M + j + 1; } } b[n]='/0'; }) 解析:解题思路:本题是把二维数组中的字符数据按列存放到一个字符串中。 1. 计算存放到一维数组中的位置。 2. 取出二维数组中的字符存放到一维数组(已计算出的位置)中。

c语言上机操作题

实验一上机操作初步(2学时) 一、实验方式: 一人一机 二、实验目的: 1、了解C语言程序的特点与基本结构。 2、了解C语言程序的编译环境。 3、掌握使用C语言编写和调试程序的流程:编辑-保存-编译-构建(组件)-执行。 4、掌握C语言程序在Visual C++ 6.0环境下的调试过程。 5、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,第四题为选做题目。 1、编辑实验教材P2程序,掌握C语言程序在Visual C++6.0环境下的编译流程和调试过程。(实验教材P2) 2、在屏幕上实现下列图案的输出: **************************** hello,welcome to china! good bye! **************************** (实验教材P11) 3、计算两个数x和y的和。(教材P5【例1-2】) 4、求两个数的最大值。(教材P5【例1-3】) 四、实验步骤与过程: 1、#include "stdio.h" void main( ) { printf("Hello,World!"); printf("\n"); } 2、 五、实验调试记录: 1、 2、 实验二简单的C程序设计(2学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握C语言的数据类型。 2、掌握标识符、常量、变量的定义及使用。 3、掌握C语言的常用运算符及表达式。 三、实验内容:

说明:前四题为必做题目,第五题为选做题目。 1、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。(实验教材P18) 2、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。(实验教材P27) 3、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。(实验教材P21) 4、输入并运行以下程序,分析运行结果。(实验教材P27) #include “stdio.h” void main( ) { int i,j; i=8; j=10; printf(“%d,%d\n”,++i,++j); i=8; j=10; printf(“%d,%d\n”,i++,j++); i=8; j=10; printf(“%d,%d\n”,++i,i); i=8; j=10; printf(“%d,%d\n”,i++,i); } 5、从键盘上输入3个数a、b、c,求一元二次方程的解x1、x2,并分别把这两个解的绝对值作为圆柱的半径与高,计算圆柱的体积。(实验教材P20) 四、实验步骤与过程: 五、实验调试记录: 实验三选择结构程序设计(一)(2学时) 一、实验方式: 一人一机 二、实验目的: 1、掌握单分支if语句的使用方法。 2、掌握双分支if-else语句的使用方法。 3、掌握多分支语句的一般形式和使用方法。 三、实验内容: 说明:前四题为必做题目,第五题为选做题目。 1、从键盘输入一个3位整数,请输出该数的逆序数。(实验教材P27) 2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(实验教材P27) 3、判断箱子是正方体还是长方体。请根据注释将程序填写完整。(实验教材P33) 4、编写程序,通过输入x的值,计算阶跃函数y的值。(教材P70【例5-4】)

计算机二级c语言题库

一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码 (7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 B.程序的易读性 C.程序的执行效率 D.程序的可移植性 (15) 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 (D) 注:即第一个阶段 A. 概要设计 B. 详细设计 C. 可行性分析 D. 需求分析 (16) 数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(A) 注:P67

计算机二级考试C语言试题及答案第一套

一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。) (1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为 A)PAD图 B)N-S图 C)结构图 D)数据流图 (2)结构化程序设计主要强调的是 A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性 (3)为了使模块尽可能独立,要求 A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 (4)需求分析阶段的任务是确定 A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能 (5)算法的有穷性是指

A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用 (6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序 (7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序 (8)将E-R图转换到关系模式时,实体与联系都可以表示成 A)属性 B)关系 C)键 D)域 (9)有三个关系R、S和T如下: R B C D a 0 k1 b 1 n1 S B C D f 3 h2 a 0 k1

计算机二级C语言上机考试操作步骤及流程

二级C语言上机考试操作步骤 一、进入考试系统 单击桌面上的“考试系统”图标,进入考试启动界面。“考试启动界面”如图1所示。 图1 二、输入考生信息 进入考试界面后,单击“开始登录”按钮即可进入考试环境进行“考生信息”的输入。“信息输入”如图2所示。 图2 考生输入准考证号如“2427180018001800”后,单击“考号验证”按钮进行信息核实,系统会弹出如图3所示的对话框。 图3

在确定考生信息完全正确时,单击“是”按钮,进入答题界面,如下图所示,上方含有“程序填空题”、“程序修改题”、“程序设计题”三个按钮, 三、开始答题 本次考试共有50套题,每一套题的填空、改错和编程题的答案均附在后面。学生进入上述考试界面后,首先点击程序设计题,根据程序设计题从而明白是哪一套题的组合,然后开始正式答题。过程如下: 1.程序填空题 单击考试界面中的“程序填空题”按钮后,题目显示区将显示出题目对应的文字叙述信息。通过文字叙述可以了解到该题目的考试内容。然后单击左上角“答题”菜单中的“启动Microsoft Visual C++”菜单项进入“Visual C++ 6.0”系统环境界面,如下图所示。 进入系统环境后,执行左上角的“文件|打开”命令,系统弱出“打开”对话框,选择“blank1.c”程序文件,

点击左下角的“打开”按钮,如图4所示。 图4 打开“blank1.c”程序文件后,开始填空。填空方法如下: (1)在程序中找到“******** found *******”标识位置。 (2)把“found ”标识位置下面的需要填空的“占位符”删除(需要连横线一起删除),将程序的答案写在对应位置。例如下图所示。 原“blank1.c ”程序图: 打开

大一期末考试c语言操作题答案

ball.c #include "stdio.h" #define PI 3.1415926 int main() { double r,volume,surface; scanf("%lf",&r); volume=4*PI*r*r*r/3; surface=4*PI*r*r; printf("体积=%10.2f\n",volume); printf("表面积=%10.2f\n",surface); } root.c #include #include int main() { float a, b, c, x1, x2,delta; scanf("%f%f%f",&a,&b,&c); delta = b*b-4*a*c; x1 = (-b+sqrt(delta))/(2.0*a); x2 = (-b-sqrt(delta))/(2.0*a); printf("x1=%f,x2=%f\n",x1,x2); } exp04.c #include"stdio.h" int main() { int n,x,y,z,sum,product; scanf("%D",&n); x=n/100; y=(n-x*100)/10; z=n%10;

sum=x+y+z; product=x*y*z; printf("sum=%d,product=%d\n",sum,product); return 0; } year.c #include "stdio.h" int main() { int year; scanf("%d",&year); if((year<1) || (year>3000)) { printf("ERROR!"); return 0; } if(year % 400 ==0 || (year %4==0 && year %100 !=0)) printf("%d是闰年",year); else printf("%d是平年",year); return 0; } triangle.c #include "stdio.h" #include "math.h" int main() { int a,b,c; double s,p; scanf("%d%d%d",&a,&b,&c); if((a<1) || (b<1) || (c<1)) { printf("ERROR"); return 0; }

2016年计算机二级C语言操作题及答案

2016年计算机二级C语言操作题及答案 1.给定程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include void fun(char *s, int *t) { int i, n; n=0; for(i=0; ___1___ !=NULL; i++) if(s[i]>='0'&&s[i]<= ___2___ ) n++; ___3___ ; } main() { char s[80]="abcdef35adgh3kjsdf7"; int t; printf("\nThe original string is : %s\n",s); fun(s,&t); printf("\nThe result is : %d\n",t); } 【解题思路】: 第一处:在for循环中终止值要判断字符串是否结束符,所以应填:s[i]。

第二处:判断是否是数字,所以应填:'9'。 第三处:字符串中数字字符出现的次数n,并存放在形参t所指的变量中,所以应填:*t=n。 *************************************************** 给定程序MODI1.C中函数fun的功能是:通过某种方式实现两个变量值的交换, 规定不允许增加语句和表达式。例如变量a 中的值原为8,b中的值原为3, 程序运行 后 a 中的值为 3,b中的值为8。 2.请改正程序中的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得 增行或删行,也不得更改程序的结构! 给定源程序: #include int fun(int *x,int y) { int t ; t = x ; x = y ; return(y) ; } main() { int a = 3, b = 8 ; printf("%d %d\n", a, b) ; b = fun(&a, b) ; printf("%d %d\n", a, b) ; } 【解题思路】:

计算机C语言期末考试试题及答案

1、 分别求100以内所有奇数之和、所有偶 数 之 积 。 /* Note:Your choice is C IDE */ #include "stdio.h" main() { int i,y,sum,s; sum =0;s =1; for (i =1;i <=100;i ++) { y =i %2; if (y ==0) s =s *i; else sum =sum +i; } printf("100以内所有奇数之和为:%d\n",sum); printf("100以内所有偶数之积为:%d\n",s); } 2、 输入 m,n ,求n m C (已知 )! (!! n m n m C n m -= ),要求用函数实现。 /* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() { int m,n,cmn; scanf("%d%d",&m,&n); cmn =fac(m)/(fac(n)*fac(m -n)); printf("cmn=%d",cmn); } int fac(int x) { int s,i; s =1; for (i =1;i <=x;i ++) s =s *i; return s; } 3、 求1!+3!+5!+7!(用函数实现) /* Note:Your choice is C IDE */ #include "stdio.h" int fac(int x); main() { int m; m =fac(1)+fac(3)+fac(5)+fac(7); printf("m=%d",m); } int fac(int x) { int s,i; s =1; for (i =1;i <=x;i ++) s =s *i; return s; } 4、输入一个数,判定其是否是素数(用函 数实现)。 /* Note:Your choice is C IDE */ #include "stdio.h" int sushu(int x); main() { int i; scanf("%d",&i); if (sushu(i)==1) printf("是素数"); else printf("不是素数"); } int sushu(int x) { int i,s; s =1; for (i =2;i <=x -1;i ++) if (x %i ==0)s =0; return s; }

历年全国计算机二级C语言题库

50道C语言知识题 1.以下叙述中正确的是 A)用C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出 2.下列可用于C语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line是一个数组,每个数组元素是一个基类型为char为指针变量 B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line是一个指针数组,语句中的*号称为间址运算符 D)定义line是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; C)floata=1,*b=&a,*c=&b;D)doublea=00;b=1.1; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段 inta=3,b=5,c=7;

大学计算机C语言程序设计(填空题)

一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.

for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4

第5题题号:398 程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次.答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12

第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句 t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】.

计算机C语言模拟试题

计算机二级C语言试题 一、选择题 (1) 下面叙述正确的是(C) A. 算法的执行效率与数据的存储结构无关 B. 算法的空间复杂度是指算法程序中指令(或语句)的条数 C. 算法的有穷性是指算法必须能在执行有限个步骤之后终止 D. 以上三种描述都不对 (2) 以下数据结构中不属于线性数据结构的是(C) A. 队列 B. 线性表 C. 二叉树 D. 栈 (3) 在一棵二叉树上第5层的结点数最多是(B) 注:由公式2k-1得 A. 8 B. 16 C. 32 D. 15 (4) 下面描述中,符合结构化程序设计风格的是(A) A. 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B. 模块只有一个入口,可以有多个出口 C. 注重提高程序的执行效率 D. 不使用goto语句 (5) 下面概念中,不属于面向对象方法的是(D) 注:P55-58 A. 对象 B. 继承 C. 类 D. 过程调用 (6) 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B) A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码

(7) 在软件开发中,下面任务不属于设计阶段的是(D) A. 数据结构设计 B. 给出系统模块结构 C. 定义模块算法 D. 定义需求并建立系统模型 (8) 数据库系统的核心是(B) A. 数据模型 B. 数据库管理系统 C. 软件工具 D. 数据库 (9) 下列叙述中正确的是(C) A.数据库是一个独立的系统,不需要操作系统的支持 B.数据库设计是指设计数据库管理系统 C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致 (10) 下列模式中,能够给出数据库物理存储结构与物理存取方法的是(A) 注:P108 A. 内模式 B. 外模式 C. 概念模式 D. 逻辑模式 (11) 算法的时间复杂度是指(C) A. 执行算法程序所需要的时间 B. 算法程序的长度 C. 算法执行过程中所需要的基本运算次数 D. 算法程序中的指令条数 (12) 算法的空间复杂度是指(D) A. 算法程序的长度 B. 算法程序中的指令条数 C. 算法程序所占的存储空间 D. 算法执行过程中所需要的存储空间 (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出

计算机二级考试C语言操作题题库

1. 下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。答案: int fun(int a[][N]) { int I,j; for(i=0;i<N;i++) for(j=0;j<=I;j++) a[i][j]=0; } 2. 请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii 码降序排列。答案: void fun(char *s,int num) { char t; int I,j; for(i=1;i<num-2;i++) for(j=i+1;j<num-1;j++) 3. 请编写函数fun,其功能是:将s所指字符串中除了下标为偶数、同时ascii值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的一个数组中。答案: void fun(char *s,char t[]) { int I,j=0,n; n=strlen(s); for(i=0;I,n;i++) if(i%2==0&&s[i]%2==0) { t[j]=s[i]; j++; } t[j]=‘\0’; } 4. 请编写函数fun,该函数的功能是:将m行n列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。答案: void fun(char (*s)[n] ,char *b) { int i,j,k=0; for(j=0;j<n;j++) for(i=0;i<m;i++) { b[k]=*(*(s+i)+j) k++; } b[k]=‘\0’; } 5. 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指的数组中,非素数的个数通过k传回。答案: void fun(int m,int *k,int xx[]) { int i,j; int n=0; for(i=4;i

相关主题
文本预览
相关文档 最新文档