- 相干保举
天下计较机品级测验二级C说话口试第二套
在进修、使命糊口中,咱们常常打仗到试卷,颠末半个学期的进修,事实学到了甚么?须要试卷来帮咱们查验。你晓得甚么样的试卷才是好试卷吗?上面是小编帮大师清算的天下计较机品级测验二级C说话口试第二套,仅供参考,大师一路来看看吧。
天下计较机品级测验二级C说话口试第二套 1
一、挑选题
在以下各题的A)、B)、C)、D)四个选项中,只要一个选项是准确的,请将准确的选项涂写在答题卡响应地位上,答在试卷上不得分。
(1)算法的空间庞杂度是指
A)算法法式的长度 B)算法法式中的指令条数 C)算法法式所占的存储空间 D)履行算法须要的内存空间
(2)在布局化法式设想中,模块别离的准绳是
A)各模块应包罗尽能够或许或许多的功效 B)各模块的规模应尽能够或许或许大 C)各模块之间的接洽应尽能够或许或许慎密
D)模块内具备高内聚度、模块间具备低耦合度
(3)以下论述中,不属于测试的特色的是
A)测试的抉剔性 B)完全测试的不能够或许或许性 C)测试的靠得住性 D)测试的经济性
(4)上面对工具观点的描写中,毛病的是
A)工具便是C说话中的布局体变量 B)工具代表着正在建立的体系中的一个实体
C)工具是一个状况和操纵(或体例)的封装体 D)工具之间的信息通报是经由进程动静遏制的
(5)以下对行列的论述中准确的是
A)在行列中只能拔出数据 B)在行列中只能删除数据 C)行列是进步前辈先出的线性表 D)行列是进步前辈后出的线性表
(6)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是
A)acbed B)decab C)deabc D)cedba
(7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为
A)n+1 B)n-1 C)2n D)n/2
(8)设有以下三个干系表
R S T
A B C A B C
m 1 3 m 1 3
n n 1 3
以下操纵中准确的是
A) T=R∩S B) T=R∪S C) T=R×S D) T=R/S
(9)以下论述中,准确的是
A)用E-R图能够或许或许表现实体集间一对一的接洽、一对多的接洽和多对多的接洽 B)用E-R图只能表现实体集之间一对一的接洽 C)用E-R图只能表现实体集之间一对多的接洽 D)用E-R图表现的观点数据模子只能转换为干系数据模子
(10)以下有关数据库的描写,准确的是
A)数据处置是将信息转化为数据的进程 B)数据的物理自力性是指当数据的逻辑布局转变时,数据的存储布局稳定
C)干系中的每列称为元组,一个元组便是一个字段 D)若是一个干系中的属性或属性组并非该干系的关头字,但它是别的一个干系的关头字,则称其为本干系的外关头字
(11)C说话划定,在一个源法式中,main函数的地位
A)必须在最起头 B)必须在体系挪用的库函数的前面 C)能够或许肆意 D)必须在最初
(12)以下论述中毛病的是
A)计较机不能间接履行用C说话编写的源法式 B)C法式经C编译法式编译后,天生后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经毗连法式天生后缀为.exe的文件是一个二进制文件 D)后缀为.obj和.exe的二进制文件都能够或许间接运转
(13)以下选项能够或许准确表现字符型常量的是
A)′\r′ B)"a" C)"\897" D)296
(14)以下论述中准确的是
A)构成C法式的根基单位是函数 B)能够或许在一个函数中界说别的一个函数
C)main( )函数必须放在其余函数之前 D)C函数界说的格局是K&R格局
(15)设变量均已准确界说,若要经由进程scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入情势中准确的是(注:□代表空格字符)
A) 10□X□20□Y<回车> B) 10□X20□Y<回车> C) 10□X<回车> 20□Y<回车> D) 10X<回车>
20Y<回车>
(16)如有申明:int *p,m=5,n;,以下准确的法式段是
A)p=&n;scanf("%d",&p); B)p=&n;scanf("%d",*p) C)scanf("%d",&n);*p=n; D)p=&n;*p=m;
(17)在履行下述法式时,若从键盘输入6和8,则成果为
main( )
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a
if(a
s=b;
s*=s;
printf("%d",s); }
A)36 B)64 C)48 D)以上都毛病
(18)若履行上面的法式时,从键盘输入5和2,则输入成果是
main( )
{ int a,b,k;
scanf("%d,%d ",&a,&b);
k=a;
if(a
else k=b%a;
printf("%d\n",k);}
A)5 B)3 C)2 D)0
(19)在C说话中,函数前往值的范例终究取决于
A)函数界说时在函数首部所申明的函数范例 B)return语句中抒发式值的范例 C)挪用函数时主调函数所通报的实参范例 D)函数界说时形参的范例
(20)已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
A)c=(c-′A′)%26+′a′ B)c=c+32 C)c=c-′A′+′a′ D)c=(′A′+c)%26-′a′
(21)以下选项中,当x为大于l的奇数时,值为0的抒发式是
A)x%2==1 B)x/2 C)x%2!=0 D)x%2==0
(22)有以下法式
main( )
{int k=5,n=0;
do
{switch(k)
{case 1: case 3:n+=1;k--;break;
default:n=0;k--;
case 2: case 4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0 && n<5);
}
法式运转后的输入成果是
A)235 B)0235 C)02356 D)2356
(23)有以下法式
main( )
{ int n=9;
while(n>6){n--; printf("%d",n);} }
该法式的输入成果是
A)987 B)876 C)8765 D)9876
(24)有以下法式
#include
main( )
{ int c;
while((c=get ))!=′\n)
{ switch(c-′2′)
{ case 0:
case 1:putc+4);
case 2:putc+4);break;
case 3:putc+3);
case 4:putc+3);break; } }
printf("\n")}
从第一列起头输入以下数据代表一个回车符。
2743
法式的输入成果是
A)66877 B)668966 C)6677877 D)6688766
(25)有以下法式
main( )
{ int x=0,y=0,i;
for (i=1;;++i)
{ if (i%2==0) {x++;continue;}
if (i%5==0) {y++;break;} }
printf (" %d,%d",x,y); }
法式的输入成果是
A)2,1 B)2,2 C)2,5 D)5,2
(26)有以下法式
main( )
{int a[4][4]={{l,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,j,k,t;
for(i=0;i<4;i++)
for(j=0;j<3;j++)
for(k=j+1;k<4;k++)
if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/
for(i=0;i<4;i++)printf("%d,",a[i][i]);
}
法式运转后的输入成果是
A)1,6,5,7, B)8,7,3,1, C)4,7,5,2, D)1,6,2,1,
(27)有以下法式
int f(int n)
{ if(n==1)return 1;
else return f(n-1)+1;}
main( )
{ int i,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
法式运转后的输入成果是
A)4 B)3 C)2 D)1
(28)当运转以下法式时,从键盘输入AhaMA(空格)Aha,则上面法式的运转成果是
#include
main( )
{ char s[80],c=′a′;
int i=0;
scanf("%s",s);
while(s[i]!=′
{ if(s[i]==c)s[i]-32;
else if(s[i]==c-32)s[i]=s[i]+32;
i++; }
puts(s); }
A)ahaMa B)AbAMa C)AhAMa[空格]ahA D)ahAMa[空格]ahA
(29)上面法式输入的成果是
main( )
{ int i;
int a[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d ",a[2-i][i]); }
A)1 5 9 B)7 5 3 C)3 5 7 D)5 9 1
(30)现有以下法式段
#include "stdio.h"
main( )
{ int a[5][6]={23,3,65,21,6,78,28,5,67,25,435,76,8,22,45,7,8,34,6,78,32,4,5,67,4,21,1};
int i=0,j=5;
printf("%d\n",*(&a[0][0]+2*i+j-2));}
则法式的输入成果为
A)21 B)78 C)23 D)28
(31)请选出准确的法式段
A)int *p;
scanf("%d",p);
…
B)int *s, k;
*s=100;
…
C)int *s, k;
char *p, c;
s=&k;
p=&c;
*p=′a′;
…
D)int *s, k;
char *p, e;
s=&k;
p=&c;
s=p;
*s=1;
…
(32)上面法式段的运转成果是
char a[]="lanuage",*p;
p=a;
while(*p!=′u′){printf("%c",*p-32);p++;}
A)LANGUAGE B)language C)LAN D)langUAGE
(33)以下法式的输入成果是
#include
int a[3][3]={1,2,3,4,5,6,7,8,9,},*p;
main( )
{ p=(int*)malloc(sizeof(int));
f(p,a);
printf("%d\n",*p);
free(p); }
f(int *s, int p[][3])
{ *s=p[1][1];}
A)1 B)4 C)7 D)5
(34)有以下法式
void f(int *q)
{int i=0;
for(;i<5; i++) (*q)++;
}
main( )
{int a[5] ={1,2,3,4,5}, i;
f(a);
for(i=0;i<5; i++) printf("%d,", a[i]);
}
法式运转后的输入成果是
A)2,2,3,4,5, B)6,2,3,4,5, C)1,2,3,4,5, D) 2,3,4,5,6,
(35)以下正当的字符型常量是
A)′\x13′ B) ′\081′ C) ′65′ D)"\n"
(36)有以下语句,则对a数组元素的援用不准确的是
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i))
(37)有以下法式
# include
main( )
{char p[20]={′a′, ′b′, ′c′, ′d′}, q[]="abc", r[]="abcde";
strcat(p, r); strcpy(p+strlen(q), q);
printf("%d\n",strlen(p));
}
法式运转后的输入成果是
A)9 B)6 C)11 D)7
(38)在C说话中,变量的隐含存储种别是
A)auto B)static C)extern D)无存储种别
(39)以下法式的输入成果是
main( )
{ int c=35; printf("%d\n",c&c);}
A)0 B)70 C)35 D)1
(40)有以下法式
#include
main( )
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);
fclose(fp); }
法式运转后的`输入成果是
A)20 30 B)20 50 C)30 50 D)30 20
二、填空题
请将每个空的准确谜底写在答题卡序号的横线上,答在试卷上不给分。
(1)设一棵完全二叉树共有700个结点,则在该二叉树中有 【1】 个叶子结点。
(2)经常操纵的黑箱测试有等价种别离法、 【2】 和毛病猜测法3种。
(3)数据库办理体系罕见的数据模子有条理模子、网状模子和 【3】 3种。
(4)凡是,将软件产物从提出、完成、操纵掩护到遏制操纵服役的进程称为 【4】 。
(5)数据库掩护分为:宁静性节制 、 【5】 、并发性节制和数据的规复。
(6)履行以下法式后的输入成果是 【6】 。
main( )
{int a=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
(7)以下法式的输入成果是 【7】 。
#include
main( )
{printf("%d\n",strlen("IBM\n012\1\\"));}
(8)已界说char ch=′$′; int i=1,j;,履行j!=ch&&i++今后,i的值为 【8】 。
(9)以下法式的运转成果是 【9】 。
#include
long fib(int g)
{ switch(g)
{ case 0:return 0;
case 1:
case 2:return 1; }
return(fib(g-1)+fib(g-2)); }
main( )
{ long k;
k=fib(5);
printf("k=%5ld\n",k);}
(10)上面法式的功效是输入数组s中最大元素的下标,请填空。
main( )
{ int k, p,s[]={1, -9, 7, 2, -10, 3};
for(p=0, k=p; p<6; p++)
if(s[p]>s[k]) 【10】
printf("%d\n",k);}
(11)以下法式的功效是:求出数组x中各相邻两个元素的和顺次寄存到a数组中,而后输入。请填空。
main( )
{int x[10],a[9],I;
for(I=0; I<10; I++) scanf("%d",&x[I]);
for( 【11】 ; I<10; I++ )
a[I-1]=x[I]+ 【12】 ;.
for(I=0; I<9; I++) printf("%d ",a[I]);
printf("");
}
(12)设有以下法式,为使之准确运转,请在横线中填入应包罗的号令行。(注:try_me( )函数在a:\myfile.txt中有界说。)
【13】
main( )
{ printf("\n");
try_me( );
printf("\n");}
(13)以下法式的功效是建立一个带有头结点的单向链表,链表结点中的数据经由进程键盘输入,当输入数据为-1时,表现输入竣事(链表头结点的data域不放数据,表空的前提是ph->next==NULL),请填空。
#include
struct list { int data; struct list *next;};
struct list*creatlist( )
{ struct list *p,*q,*ph;int a;ph=(struct list *)malloc (sizeof(struct list));
p=q=ph;printf("Input an integer number; entre-1 to end:\n");
scanf("%d",&a);
while(a!=-1)
{ p=(struct list*)malloc(sizeof(struct list));
【14】 =a;q->next=p; 【15】 =p;scanf("%d",&a);}
p->next=′\0;return(ph);}
main( )
{struct list * head; head=creatlist( );}
(1)D 【剖析】 算法的庞杂度首要包罗算法的时候庞杂度和算法的空间庞杂度。所谓算法的时候庞杂度是指履行算法所须要的计较使命量;算法的空间庞杂度是指履行这个算法所须要的内存空间。
(2)D 【剖析】 在布局化法式设想中,普通较优异的软件设想尽能够或许或许做到高内聚、低耦合,如许有益于进步软件模块的自力性,也是模块别离的准绳。
(3)C 【剖析】 软件测试的方针是在经心节制的情况下履行法式,以发明法式中的毛病,给出法式靠得住性的判定。它有3个方面的首要特色,即测试的抉剔性、完全测试的不能够或许或许性及测试的经济性。此中,不测试的靠得住性这一说法。
(4)A 【剖析】 工具是由数据和许可的操纵构成的封装体,与客观实体有间接的对应干系,工具之间经由进程通报动静相互接洽,从摹拟现实天下中差别事物相互之间的接洽,B)、C)、D)是准确的,工具的思惟普遍操纵于C++、Java等说话中,是以A)毛病。
(5)C 【剖析】 行列是一种操纵受限的线性表。它只许可在线性表的一端遏制拔出操纵,别的一端遏制删除操纵。此中,许可拔出的一端称为队尾(rear),许可删除的一端称为队首(front)。行列具备进步前辈先出的特色,它是按"进步前辈先出"的准绳构造数据的。
(6)D 【剖析】 根据后序遍历序列可肯定根结点为c;再根据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,以下图所示,求得该二叉树的前序遍历序列为选项D)。
(7)A 【剖析】 对任何一棵二叉树T,若是其终端结点(叶子)数为n1,度为2的结点数为n2,则n1=n2+1,以是该二叉树的叶子结点数即是n+1。
(8)C 【剖析】 对两个干系的归并操纵能够或许用笛卡尔积表现。设有n元干系R和m元干系S,它们别离有p和q个元组,则R与S的笛卡儿积记为R×S它是一个m+n元干系,元组个数是p×q由题意可得,干系T是由干系R与干系S遏制笛卡尔积运算获得的。
(9)A 【剖析】 两个实体之间的接洽现实上是实体集间的函数干系,这类函数干系能够或许有上面几种,即一对一的接洽、一对多(或多对一)的接洽和多对多的接洽;观点模子便于向各类模子转换。由于观点模子不依靠于具体的数据库办理体系,是以,轻易向干系模子、网状模子和条理模子等各类模子转换。
(10)D 【剖析】 数据处置是指将数据转换成信息的进程,故选项A)论述毛病;数据的物理自力性是指数据的物理布局的转变,不会影响数据库的逻辑布局,故选项B)论述毛病;干系中的行称为元组,对应存储文件中的记实,干系中的列称为属性,对应存储文件中的字段,故选项C)论述毛病。
(11)C 【剖析】 不管main函数在全数进程中的地位若何,一个C法式老是从main函数起头履行的。
(12)D 【剖析】 一个C说话的源法式(后缀名为.c)在颠末编译器编译后,先天生一个汇编说话法式,而后由编译法式再将汇编说话法式翻译成机械指令法式,即方针法式(后缀名为.obj),方针法式不能够或许间接运转,它要和库函数或其余方针法式毗连成可履行文件(后缀名为.exe)前方可运转。
(13)A 【剖析】 C说话中,一个字符常量代表ASCII字符集合的一个字符,在法式顶用单引号括起来作为字符常量,字符常量的的规模是0~127。由于字符常量用单引号括起来,以是选项B),C)毛病,选项D)跨越了字符常量的表现规模。
(14)A 【剖析】 本题考核C说话的综合根本常识。构成C法式的根基单位是函数,不管main函数在全数法式中的地位若何,一个C法式老是从main函数起头履行,C说话的函数界说都是相互平行、自力的,在界说函数时,一个函数内不能界说别的一个函数。C函数界说的普通格局有两种:传统格局和古代格局。传统格局也称K&R格局,是初期编译体系操纵的格局;古代格局又称ANSI格局,是古代编译体系操纵的格局。
(15)D 【剖析】 本题中,scanf函数的格局节制不空格,以是,对选项A)、B)、C),输入的第一个空格会作为字符赋值给变量c1,而不会被诠释成份隔符。
(16)D 【剖析】 "&"是求址运算符,"*"是指变量申明符。选项A)、B)应改成scanf("%d",p);选项C)中指针变量p未指向一肯定的内存单位,不能为其赋值,并且如许做很风险,倡议不操纵。
(17)B 【剖析】 本题中a的值为6,b的值为8,最初s的值为8,s*=s等价于s=s*s。
(18)C 【剖析】 本题考核简略的if…else语句。先履行前提if(a
(19)A 【剖析】 在C说话中,该当在界说函数时指定函数值的范例,凡不加范例申明的函数,一概按整型处置。在界说函数时,对函数值申明的范例普通应当和return语句中的抒发式范例分歧。若是函数值的范例和return语句中的抒发式范例不分歧,则以函数范例为主,即函数范例决议前往值的范例。
(20)D 【剖析】 C说话中,字符数据到场运算时,现实上是其ASCII码到场运算。大写字母的ASCII码比其对应的小写字母的ASCII码小32。是以大写字母转化为小写字母只要将其加上32便可。以是选项B)、C)都合适前提,由于变量c中存储的是大写字母,以是"c-A"的值必然小于26,故选项A)与选项C)的寄义不异。
(21)D 【剖析】 由于x的值为大于1的奇数,以是x除以2的余数即是1,是以,选项A)、C)中抒发式的成果为真,不为0;对选项B)来讲,x除以2的商不会即是0;选项D)中抒发式的成果为假,即即是0。
(22)A 【剖析】 由于变量的初始值别离为"k=5,n=0",以是法式第一次进入轮回时,履行 default语句,这时候候候候k=4,履行"case 4:"这个分支,成果是"n=2,k=3",打印出2;法式而后遏制第二次轮回,这时候候候候"n=2,k=3",履行"case 3:"这个分支,成果是"n=3,k=2",打印出3;法式遏制第三次轮回,这时候候候候"n=3,k=2",履行"case 2: case 4:"这两个分支,成果是?"n=5,k=1"?,打印出5,这时候候候候由于n=5不知足n<5的轮回前提,是以加入轮回,法式运转竣事,故输入成果为235。
(23)B 【剖析】 该标题题目应当根据轮回体第一次和最初一次履行时的输入成果来决议哪一项是准确的。第一次进入轮回时,n的值是9,轮回体内,先颠末n--运算,n的值变为8,以是第一次的输入值是8,由此能够或许解除选项A)和D)。由轮回前提n>6能够或许晓得,最初一次轮回起头时,n的值应当为7,以是最初一次履行轮回时,输入为6,由此能够或许解除选项C)。
(24)A 【剖析】 本题首要考核了字符输入输入函数getchar和putchar的操纵。getchar函数用来从规范输入装备上读入一个字符,putc)函数是将字符变量c中的字符输入到规范输入装备上,并且字符能够或许看做整数到场运算。
(25)A 【剖析】 本题考核了continue和break语句在轮回语句中的感化。break语句的感化是竣事本层轮回,而continue语句的感化是竣事本次轮回间接进入到下次轮回。
(26)A 【剖析】 本题操纵多重 for轮回的嵌套来完成对二维数组元素的按列排序。操纵最外层轮回来完成对列的节制。外部轮回操纵挑选法对数组元素根据从小到大的挨次遏制摆列,最初输入对角线上的元素值。
(27)B 【剖析】 在main函数中,对f(1)和f(2)的值遏制了累加。
f(1)=1
f(2)=f(1)+1=2
最初,j的值为1+2=3
(28)A 【剖析】 本题首要考核的常识点是大写字母比它对应的小写字母ASCII码值小32,并且字符能够或许看做整数遏制算术运算等操纵。
(29)B 【剖析】 本题用轮回的体例考核对数组观点的把握。起首,当i=0时,数组中的地位是a[2][0]=7,固然,若是用解除法,就不必斟酌前面的轮回,由于在4个选项中,第1个数为7的选项只要B)。本题履行第2次轮回时,i的值为1,则printf函数中的数组指向为a[1][1]=5,顺次轮回,可求出谜底。
(30)A 【剖析】 经由进程地点来援用二维数组,如有以下界说:int a[3][4],i,j;且当0≤i≤3,0≤j<4则能够或许有以下几种体例来援用数组中的第i行,第j列的元素:?a[i][j]?,?*(a[i]+j),?*(*(a+i)+j),(*(a+i))[j],*(&a[0][0]+4*i+j)。抒发式&a[0][0]+2*i+j-2相称是以地点&a[0][0]加上几多偏移量。
(31)C 【剖析】 本题的选项A)和B)犯了一样的毛病,即指针变量在界说后并不指向具体的变量。也便是说,指针变量中不肯定的地点值,它的值是不可预感的,所指的单位也是不可预感的,是以不能遏制赋值操纵。别的,在选项D)中,s是int型指针变量,p是char型指针变量,所指向的内存单位所占用的字节数是差别的,是以不能将字符指针变量p的值赋给整型指针变量s。
(32)C 【剖析】 本段法式的感化是输入字符串"lanuage"中字母u之前的字符,并将其转化为大写字母。
注重:若是一个字符数组用来作为字符串操纵,那末在界说该字符数组时,数组的巨细就应当比它将要现实寄存的最长字符多一个元素,以寄存\0。
(33)D 【剖析】 本题考核了二维数组元素援用的体例。题顶用静态存储分派函数malloc分派了一个int型数据长度巨细的内存,而后指针p指向了这段内存,函数f( )中对p所指向的数据遏制了赋值,p[1][1]为二维数组第二行第二列的元素,对应于实参a的元素5,以是输入成果为5。
(34)B 【剖析】 挪用函数f( )时,将数组a的地点通报给了指针q,此时q指向的便是数组a的第一个元素a[0]。在5次轮回进程中,q一直指向a[0],是以a[0]的值增添了5。最初的输入成果为"6,2,3,4,5"。
(35)A 【剖析】 C说话的字符常量是用单引号(即撇号)括起来的一个字符。除此以外,在C说话中还许可用一个"\" 开首的字符序列来表现字符常量。此中,情势"\ddd"表现1到3位8进制数所代表的字符;情势"\xhh"表现1到2位16进制数所代表的字符。在本题中,\x13表现回车符,是一个字符常量;\081用8进制数所代表的字符,但情势不准确,由于8进制数所代表的字符中不会呈现数字"8";65不是一个字符,而是一个十进制数字;"\n"是用双引号括起来的一个字符,表现一个字符串,而不是字符常量。
(36)D 【剖析】 本题考核数组指针的操纵。选项D)第一层括号中为数组a中第i项元素的值,里面再加指针运算符不意思。
(37)B 【剖析】 strcpy( )函数的功效是将字符串q复制到从p[3]地位起头的存储单位,同时复制字符串竣事标记\0 到p[6]中。函数strlen( )前往的是字符串中不包罗\0在内的现实长度,故本题谜底为B)
(38)A 【剖析】 auto变量:无static申明的局部变量。用auto作存储种别的申明时,能够或许不写auto,存储种别隐含肯定为auto(主动存储种别),是静态存储体例。大大都变量是主动变量。用static申明的局部变量是静态局部变量。函数挪用竣事后静态局部变量占有的内存存储单位空间不开释,局部变量保留原值,下次挪用时能够或许持续操纵该值。用extern申明外部变量,外部变量即全局变量,能够或许用extern申明来转变全局变量的感化域,现实上,关头字"auto "能够或许省略,auto不写则隐含肯定为"主动存储种别",属于静态存储体例。
(39)C 【剖析】 本题考核按位与"&"。由于1&1=1,0&0=0,以是任何数与本身按位与,成果仍为此数,不发生变更。
(40)A 【剖析】 本题中,最首要的是把握几个有关文件函数的操纵。
函数名:fopen
功效:翻开一个文件
挪用体例FILE *fp ;
fp=fopen(文件名,操纵文件体例);
函数名:fprintf
功效:传递格局化输入到一个文件中
挪用体例:fprintf(文件指针,格局字符串,输入表列);
函数名:fclose
功效:封闭一个文件
挪用体例:fclose(文件指针);
函数名:fscanf
功效:从磁盘文件履行格局化输入
挪用体例:fscanf(文件指针,格局字符串,输入列表)。
二、填空题
(1)【1】 350 【剖析】 完全二叉树中,设高度为n,则除h层外别的层结点数都达到最大,能够或许算出h=10,1至9层结点个数为2^9-1=511,最初一层结点个数为700-511=189个,189/2=95,除最初一层外共有结点2^(9-1)-95=161个,以是一切的结点个数为:189+161=350个。
(2)【2】 边境值阐发法 【剖析】 黑箱测试法完全不斟酌法式的外部布局和外部特色,而只是根据法式功效导出测试用例。经常操纵的黑箱测试有等价种别离法、边境值阐发法和毛病猜测法3种。
(3)【3】 干系模子 【剖析】 数据库办理体系是位于用户与操纵体系之间的一层体系办理软件,属于体系软件是用户与数据库之间的一个规范接口,其老是基于某种数据模子,能够或许分为条理模子、网状模子和干系模子。
(4)【4】 软件性命周期 【剖析】 软件产物从斟酌其观点起头,到该软件产物不能操纵为止的全数期间都属于软件性命周期。普通包罗可行性研讨与须要阐发、设想、完成、测试、托付操纵和掩护等勾当。
(5)【5】 完全性节制 【剖析】 宁静性节制:避免未经受权的用户成心或有意存取数据库中的数据,以避免数据被泄漏、变动或粉碎;完全性节制:保障数据库中数据及语义的准确性和有用性,避免任何对数据形成毛病的操纵;并发节制:准确处置很多多少用户、多使命情况下的并发操纵,避免毛病发生;规复:当数据库被粉碎或数据不准确时,使数据库将其规复到准确的状况。
(6)【6】 a=14 【剖析】 本题考核的是抒发式的优先级题目。先计较抒发式3*5=15,再计较a+4=14,将数据14赋值给a,根据printf( )函数内的输入格局节制串,最初的输入成果应为"a=14"。
(7)【7】 9 【剖析】本题的字符串中共有9个字符,它们别离是I、B、M、\n、 0、1、2、\1、\\,此中,"\n"表现换行,"\\"表现反斜杠字符"\",以是本题的最初输入成果为9。
(8)【8】 1 【剖析】 在履行逻辑抒发式"j=!ch&&i++"时,起首判定j=!ch的值,由于"ch=$"不为0,以是"j=!ch=0",编译体系便不再计较抒发式"i++"的值,i的值稳定,仍为1。
(9)【9】 k=5 【剖析】 本题首要考核了函数的递归挪用体例。g=0或?g=1?或g=2是递归的停止前提,而后用回代的体例从一个已知值推出下一个值,直到计较出终究成果。
(10)【10】 k=p; 【剖析】 为寻觅数组中最大元素的下标,需先预设1个姑且最大元素的下标,并挨次一一考核数组的元素,当发明今后元素比姑且最大元素更大时,就用今后元素的下标更新姑且最大元素下标。直至考核了数组的全数元素后,这姑且最大元素下标便是数组的最大元素下标。凡是预设的最大元素下标是数组的首元素下标,考核凡是从首元素起头挨次向后继元素考核。法式中,存储姑且最大元素下标的变量是k,变量p节制挨次考核的轮回节制变量。当发明今后元素s[p]比姑且最大元素s[k]更大时,应当用p更新k,以是在空框处应填入代码"k=p;"。
(11)【11】 I=1 【12】 x[I-1] 【剖析】 对10个数,相临的两个数相加取和,统共要遏制9次加法运算,以是空14处应填入I=1。相临的两个数相加取和,放在数组a中,x[0]与x[1]的和寄存在a[0]中,以是空15处应填入x[I-1]。
(12)【13】 #include
(13)【14】 p->data 【15】 q 【剖析】 本题考核的是链表这一数据布局对布局体变量中数据的援用。链表的特色是布局体变量中有两个域,一个是数据,别的一个是指向该布局体变量范例的指针,用以指明链表的下一个结点。
天下计较机品级测验二级C说话口试第二套 2
一、挑选题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)
(1)以下数据布局中,属于非线性布局的是
A.轮回行列
B.带链行列
C.二叉树
D.带链栈
(2)以下数据成果中,能够或许或许根据“进步前辈后出”准绳存取数据的是
A.轮回行列
B.栈
C.行列
D.二叉树
(3)对轮回行列,以下论述中准确的是
A.队头指针是牢固稳定的
B.队头指针必然大于队尾指针
C.队头指针必然小于队尾指针
D.队头指针能够或许大于队尾指针,也能够或许小于队尾指针
(4)算法的空间庞杂度是指
A.算法在履行进程中所须要的计较机存储空间
B.算法所处置的数据量
C.算法法式中的语句或指令条数
D.算法在履行进程中所须要的姑且使命单位数
(5)软件设想中别离模块的一个准绳是
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D. 高内聚高耦合
(6)以下选项中不属于布局化法式设想准绳的是
A.可封装.
B. 自顶向下
C.模块化
D. 慢慢求精
(7)软件具体设想发生的图以下:
该图是
A.N-S图
B.PAD图
C.法式流程图
D. E-R图
(8)数据库办理体系是
A.操纵体系的一局部
B.在操纵体系撑持下的体系软件
C.一种编译体系
D. 一种操纵体系
(9)在E-R图中,用来表现实体接洽的图形是
A.椭圆图
B.矩形
C.菱形
D. 三角形
(10)有三个干系R,S和T以下:
此中干系T由干系R和S经由进程某种操纵获得,该操纵为
A.挑选
B.投影
C.交
D.并
(11)以下论述中准确的是
A.法式设想的使命便是编写法式代码并上机调试
B.法式设想的使命便是肯定所用数据布局
C.法式设想的使命便是肯定所用算法
D.以上三种说法都不完全
(12)以下选项中,能用感化户标识符的是
A.void
B.8_8
C._0_
D.unsigned
(13)浏览以下法式
#include
main( )
{ int case; float printF;
printf(“请输入2个数:”);
scanf(“%d %f”,&case,&pjrintF);
printf(“%d %f ”,case,printF);
}
该法式编译时发生毛病,其犯错缘由是
A.界说语句犯错,case是关头字,不能用感化户自界说标识符
B.界说语句犯错,printF不能用感化户自界说标识符
C.界说语句无错,scanf不能作为输入函数操纵
D.界说语句无错,printf不能输入case的值
(14)抒发式:(int)((double)9/2)-(9)%2的值是
A.0
B.3
C.4
D.5
(15)如有界说语句:int x=10;,则抒发式x-=x+x的值为
A.-20
B.-10
C.0
D.10
(16)有以下法式
#include
main( )
{ int a=1,b=0;
printf(“%d,”,b=a+b);
printf(“%d ”,a=2*b);
}
法式运转后的输入成果是
A.0,0
B.1,0
C.3,2
D.1,2
17)设有界说:int a=1,b=2,c=3;,以下语句中履行成果与别的三个差别的是
A.if(a>B. c=a,a=b,b=c;
B.if(a>B. {c=a,a=b,b=c;}
C.if(a>B. c=a;a=b;b=c;
D.if(a>B. {c=a;a=b;b=c;}
(18)有以下法式
#include
main( )
{ int c=0,k;
for (k=1;k<3;k++)
switch (k)
{ default: c+=k
case 2: c++;break;
case 4: c+=2;break;
}
printf(“%d ”,C.;
}
法式运转后的输入成果是
A.3
B.5
C.7
D.9
(19)以下法式段中,与语句:k=a>b?(b>c?1:0):0;功效不异的是
A.if((a>b)&&(b>C.) k=1;
else k=0;
B.if((a>b)||(b>C. k=1;
else k=0;
C.if(a<=B. k=0;
else if(b<=C.k=1;
D.if(a>B. k=1;
else if(b>C.k=1;
else k=0;
20)有以下法式
#include
main( )
{ char s[]={“012xy”};int i,n=0;
for(i=0;s[i]!=0;i++)
if(s[i]>=’a’&&s[i]<=’z’) n++;
printf(“%d ”,n);
}
法式运转后的输入成果是
A.0
B.2
C.3
D.5
(21)有以下法式
#include
main( )
{ int n=2,k=0;
while(k++&&n++>2);
printf(“%d %d ”,k,n);
}
法式运转后的输入成果是
A.0 2
B.1 3
C.5 7
D.1 2
(22)有以下界说语句,编译时会呈现编译毛病的是
A.char a=’a’;
B.char a=’ ’;
C.char a=’aa’;
D.char a=’x2d’;
(23)有以下法式
#include
main( )
{ char c1,c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf(“%c,%d ”,c1,c2);
}
已知字母A的ASCII码为65,法式运转后的输入成果是
A.E,68
B.D,69
C.E,D
D.输入无定值
(24)有以下法式
#include
void fun(int p)
{ int d=2;
p=d++; printf(“%d”,p);}
main( )
{ int a=1;
fun(a); printf(“%d ”,a);}
法式运转后的输入成果是
A.32
B.12
C.21
D.22
(25)以下函数findmax拟完成在数组中查找最大值并作为函数值前往,但法式中有错致使不能完成预约功效
#define MIN -2147483647
int findmax (int x[],int n)
{ int i,max;
for(i=0;i
{ max=MIN;
if(max
return max;
}
形成毛病的缘由是
A.界说语句int i,max;中max未赋初值
B.赋值语句max=MIN;中,不应给max赋MIN值
C.语句if(max
D.赋值语句max=MIN;放错了地位
(26)有以下法式
#include
main( )
{ int m=1,n=2,*p=&m,*q=&n,*r;
r=p;p=q;q=r;
printf(“%d,%d,%d,%d ”,m,n,*p,*q);
}
法式运转后的输入成果是
A.1,2,1,2
B.1,2,2,1
C.2,1,2,1
D.2,1,1,2
(27)如有界说语句:int a[4][10],*p,*q[4];且0≤i<4,则毛病的赋值是
A.p=a
B.q[i]=a[i]
C.p=a[i]
D.p=&a[2][1]
(28)有以下法式
#include
#include
main( )
{ char str[ ][20]={“One*World”, “One*Dream!”},*p=str[1];
printf(“%d,”,strlen(p));printf(“%s ”,p);
}
法式运转后的输入成果是
A.9,One*World
B.9,One*Dream
C.10,One*Dream
D.10,One*World
(29)有以下法式
#include
main( )
{ int a[ ]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{ case 0:switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;
}break;
case 1:a[i[=0;
}
for(i=0;i<4;i++) printf(“%d”,a[i]); printf(“ ”);
}
A.3 3 4 4
B.2 0 5 0
C.3 0 4 0
D.0 3 0 4
(30)有以下法式
#include
#include
main( )
{ char a[10]=”abcd”;
printf(“%d,%d ”,strlen(a),sizeof(a));
}
法式运转后的输入成果是
A.7,4
B.4,10
C.8,8
D.10,10
(31)上面是有关C说话字符数组的描写,此中毛病的'是
A.不能够或许用赋值语句给字符数组名赋字符串
B.能够或许用输入语句把字符串全体输入给字符数组
C.字符数组中的内容不必然是字符串
D.字符数组只能寄存字符串
(32)以下函数的功效是
fun(char * a,char * b)
{ while((*b=*a)!=’’) {a++,b++;} }
A.将a所指字符串赋给b所指空间
B.使指针b指向a所指字符串
C.将a所指字符串和b所指字符串遏制比拟
D.查抄a和b所指字符串中是不是有’’
(33)设有以下函数
void fun(int n,char * s) {……}
则上面对函数指针的界说和赋值均是准确的是
A.void (*pf)( ); pf=fun;
B.viod *pf( ); pf=fun;
C.void *pf( ); *pf=fun;
D.void (*pf)(int,char);pf=&fun;
(34)有以下法式
#include
int f(int n);
main( )
{ int a=3,s;
s=f(a);s=s+f(a);printf(“%d ”,s);
}
int f(int n)
{ static int a=1;
n+=a++;
return n;
}
法式运转今后的输入成果是
A.7
B.8
C.9
D.10
(35)有以下法式
#include
#define f(x) x*x*x
main( )
{ int a=3,s,t;
s=f(a+1);t=f((a+1));
printf(“%d,%d ’,s,t);
}
法式运转后的输入成果是
A.10,64
B.10,10
C.64,10
D.64,64
(36)上面布局体的界说语句中,毛病的是
A.struct ord {int x;int y;int z;}; struct ord a;
B.struct ord {int x;int y;int z;} struct ord a;
C.struct ord {int x;int y;int z;} a;
D.struct {int x;int y;int z;} a;
(37)设有界说:char *c;,以下选项中能够或许或许使字符型指针c准确指向一个字符串的是
A.char str[ ]=”string”;c=str;
B.scanf(“%s”,C.;
C.c=get);
D.*c=”string”;
(38)有以下法式
#include
#include
struct A
{ int a; char b[10]; double c;};
struct A f(struct A t);
main( )
{ struct A a={1001,”ZhangDa”,1098.0};
a=f(a);jprintf(“%d,%s,%6.1f ”,a.a,a.b,a.C.;
}
struct A f(struct A t)
( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; )
法式运转后的输入成果是
A.1001,ZhangDa,1098.0
B.1001,ZhangDa,1202.0
C.1001,ChangRong,1098.0
D.1001,ChangRong,1202.0
(39)如有以下法式段
int r=8;
printf(“%d ”,r>>1);
输入成果是
A.16
B.8
C.4
D.2
(40)以下对C说话文件的论述中准确的是
A.文件由一系列数据顺次摆列构成,只能构成二进制文件
B.文件由布局序列构成,能够或许构成二进制文件或文本文件
C.文件由数据序列构成,能够或许构成二进制文件或文本文件
D.文件由字符序列构成,其范例只能是文本文件
【天下计较机品级测验二级C说话口试第二套】相干文章:
天下计较机品级测验二级C说话03-29
天下计较机品级测验二级C++口试真题10-11
天下计较机品级测验二级C说话试题二03-29
3月天下计较机品级测验二级C++口试真题10-11
计较机品级测验二级C说话真题09-26
2007年3月天下计较机品级测验二级C说话口试真题参考谜底03-28
计较机品级测验二级C++口试挑选题04-23