logo
  • write-homewrite-home-active首页
  • icon-chaticon-chat-activeAI 智能助手
  • icon-pluginicon-plugin-active浏览器插件
  • icon-subjecticon-subject-active学科题目
  • icon-uploadicon-upload-active上传题库
  • icon-appicon-app-active手机APP
首页
/
计算机
题目

填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡的[1]至[20]序号的横线上,答在试卷上不得 分。(1)栈的基本运算有三种:入栈、退栈和 [1] 。答案:[1]读栈顶[1]元素评析:栈的基本运算有三种:入栈、退栈和读栈项元素。入栈运算是指在栈项位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。退栈运算是指取出栈顶元素并赋给一个指定的变量。这个运算有两个基本操作:首先将栈顶元素(栈项指针指向的元素)赋给一个指定的变量,然后将栈项指针退一(即top减1)。读栈顶元素是指将栈顶元素赋给一个指定的变量。这个运算不删除栈顶元素,只是将它的值赋给一个变量。(2)在面向对象方法中,信息隐蔽是通过对象的 [2] 性来实现的。答案:[2]封装评析:软件工程[2]的基本原则包括抽象、信息隐蔽、模块化[3]、局部化、确定性、一致性、完备性和可验证性。信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。(3)数据流的类型有 [3] 和事务型。答案:[3]变换型评析:典型的数据流类型有两种:变换型和事务型。变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。事务型:在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。(4)数据库系统中实现各种数据管理功能的核心软件称为 [4] 。答案:[4]数据库管理系统或DBMS评析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织[4]、数据操纵、数据维护、控制及保护和数据服务[5]等。数据库管理系统是数据库系统的核心。(5)关系模型的数据操纵即是建立在关系上的数据操纵,一般有 [5] 、增加、删除 和修改四种操作。答案:[5]查询评析:关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。数据查询:用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。数据删除的基本单位是一个关系内的元组[6],它的功能是将指定关系内的指定元组删除。数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。数据修改是在一个关系中修改指定的元组和属性。(6)下列程序的输出结果是 [6] 。main()(int a=l,b=2;a=a+b;b=a-b;a=a-b;printf(”%d,%dn”,a,b);)答案:[6]2,1评析:本题中,执行a=a+b时,a=l,b=2,a=l+2=3;b=a-b时,a=3,b=2,b=3-2=1;a=a-b时,a=3,b=l,a=3.1=2;因此,本题的输出是2,1.(7)下列程序的输出结果是16.00,请填空;,main()(int a=9,b=2:float x= [7] ,y=1.1,z;z=a/2+b*x/y+l/2;printf(”%5.2tin”,z);)答案:[7]6.6评析:本题,已知结果z=16.00,即16.0=a/2+b*x/y+l/2,分别把a、b代入,得到16.0=9/2+2″x/1.1+1/2。因为a=9,a是整型,所以9/2的值在没有进行类型转换时,等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间, 请填空。st=(chhr*) [8] ;答案:181 malloc(11)评析:malloc函数的格式是:void*(或char*)malloc(size),size表示应分配的存储区。此题要分配11字节的单元,把11代入即可。(9)下列程序段[7]的输出结果是 [9] 。main()(char b[]=”Hello,you”;b[5]=0;printf(”%sn”,b);)答案:[9]Hello评析:字符串中,数值0或符号‘O’表示字符串的结束。本题中,b[5]被赋了0值,表明字符串b的第六个字符就是结束标志。因此,只输出前五个字符,即Hello。(10)下列程序段的输出结果是 [10] 。int n=’c’:switch(n++)(default:printf(”error”);break;case。a’:case’A。:caseIb’:tase’B’:printf(”good”);break;case’c’:case’C’:printf(”pass”);case’d’:case’D’:printf(”warn”);)答案:[10]passwarn评析:n++是在执行完其所在的语句后再加l,因此,在执行case的时候,n的值依然为‘c’,执行case‘c’后面的语句,先打印出“pass”;在执行完case‘c’后,未遇到break跳出switch,便接着执行下面的语句,又打印出warn。所以此题输出结果是:passwarn。(11)以下程序通过函数指针p调用函数mn,请在填空栏内,写出定义变量p的语句。void fun(int‘x,int*y)( …… )main()( int a=lO,b=20;[11] :p=fun; p(&a,&b);……)答案:[11]void(*p)();评析:要定义p为指向函数的指针变量,需写成:void(*p)();注意+p两侧的括弧不可以省略,表示p先与*结合,是指针变量,再与后面的()结合,表示此指针变量指向函数,这个函数无返回值(同fun函数)。(12)以下程序的输出结果 [12] 。main()(int p[7]={ll,13,14,15,16,17,18);int i=0,J=0;while(1<7&&p[i]%2==1)j+=p[i++];printf(”%dn”J);}答案:[12]24评析:本题程序定义了一维数组p,有七个数组元素,整型变量i,.j初值分别为0,当while的条件表达式(i<7&&p[i]%2==1)的值为真时,执行语句j+=p[i++];,如:当i=0时,i<7为真,p[I]%2=11%2=1,表达式(p[i]%2:=1)的值为真,所以整个表达式(i<7&&p[i]%2==1)的值为真,执行j=j+p[i++]=0+11=11,i=l;依次类推可以得出答案24。(13)下列程序的输出结果是 [13] 。void fun(int *n)(while((*n)–);printf(”%d”,++(*n));)main()( int a=100;fun(&a);)答案:[13]0评析:在函数fun()中,while((*n)–)是先引用+n的值,再做(*n)–运算,所以循环结束时*n的值为O,再做(+n)–运算后,*n的值为-1;执行++(*n)后,*n的值是O。(14)以下程序的输出结果是 [14] 。main()(int arr[]={30,25,20,15,10,5),*p=arr;p++;printf(”%dn”,*(p+3));)答案:[14]10评析:整型指针最初被赋的值是数组art的头指针,即指向数组的第一个元素30,p++后,指针指向数组的下一个元素,即*p=arr[1]=25,在执行*(p+3)时,则相当于a[1+3],即10。因此,输出应为10。(15)以下程序运行后的输出结果是 [15] 。main()(char a[]=”Language”,b[]=”Programe”;char *p1,*p2;int k:pl=a,p2=b;for(k=0;k<=7;k++)if(*(pl+k)==*(p2+k))printf(”%c”,*(pl+k));)答案:[15]gae评析:本题定义了两个字符串数组a[],b[],字符型指针变量p1和p2,且分别指向字符串数组a和b,执行for循环,当if(*(pl+k)==*(p2+k))条件为真,执行输出*(pl+k)对应的字符。即当k=0时,*(pl+k)对应的字符串数组a.中的字符L,*(p2+k)对应的字符串数组b中的字符P,因此if(*(pl+k)==*(p2+k))条件为假,不执行printf语句,依次类推,将字符串数组a和b中对应位置上的字符一一比较,如果对应位置上的字符相同,则输出该字符。(16)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文 件中,请填空。#include ”stdio.H”FILE *fp;main()( char ch;if((fp=fopen( [16] ))==NULL)exit(0);while((ch=getchar())!=’@’)fputc(ch,fp);fclose(fp);)答案:[l6]“bi.Dat”, “w”或“bi.dat”,“w+”或“bi.dat”,“r+”评析:本题的考点是fopen()函数,此函数的格式是fopen(文件名,使用文件方式),题目的要求是将从键盘读入的文本写到文件中,因此选择的打开方式应该是“w”(只写)。或者是读写“r+”或“w+”。(17)以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。main()(int i,a[20],sum,count;sum=count= [17] ;for(i=0;i<20;i++)scanf(”%d”, [18] );for(i=0;i<20;i++){if(a[I]>0){ count++;sum+= [19] ;)}printf(”sum=%d,count=%dn”,sum,count);}答案:[17]0[18]&a[i][19]a[i]评析:本题要求从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。程序中首先要对存放正数个数的变量count及存放和值的变量sum初始化为0,所以第一空应填:0。接着要求从终端读入数据到数组中,可以通过scanf函数实现,因此第二空应填:&a[i]。最后通过sum+=a[i];语句累加正数a[i]的值到sum中,因此第三空应填:a[i]。(18)若变量n中的值为24,则pint函数共输出 [20] 行。void prnt(int n,int aa[])( int i;for(I=1;i<=n;i++){ printf(”%6d”,aa[I]);if(!(i%5,J)printf(“n”);)printf(”n”);}答案:[20]5评析:本题的关键在于if(!(i%5))printf(“n”);这句,即如果i可被5整除时,则换行。i值为24,可以被5整除4次,并余4,因此,prnt函数共输出5行,最后一行有4个

填空题(每空2分,共40分)
请将每一个空的正确答案写在答题卡的[1]至[20]序号的横线上,答在试卷上不得 分。
(1)栈的基本运算有三种:入栈、退栈和 [1] 。
答案:[1]读栈顶[1]元素
评析:栈的基本运算有三种:入栈、退栈和读栈项元素。
入栈运算是指在栈项位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。
退栈运算是指取出栈顶元素并赋给一个指定的变量。这个运算有两个基本操作:首先将栈顶元素(栈项指针指向的元素)赋给一个指定的变量,然后将栈项指针退一(即top减1)。
读栈顶元素是指将栈顶元素赋给一个指定的变量。这个运算不删除栈顶元素,只是将它的值赋给一个变量。
(2)在面向对象方法中,信息隐蔽是通过对象的 [2] 性来实现的。
答案:[2]封装
评析:软件工程[2]的基本原则包括抽象、信息隐蔽、模块化[3]、局部化、确定性、一致性、完备性和可验证性。
信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。
(3)数据流的类型有 [3] 和事务型。
答案:[3]变换型
评析:典型的数据流类型有两种:变换型和事务型。
变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。
事务型:在很多软件应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理能够完成该作业要求的功能,这种数据流就叫做事务。
(4)数据库系统中实现各种数据管理功能的核心软件称为 [4] 。
答案:[4]数据库管理系统或DBMS
评析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织[4]、数据操纵、数据维护、控制及保护和数据服务[5]等。数据库管理系统是数据库系统的核心。
(5)关系模型的数据操纵即是建立在关系上的数据操纵,一般有 [5] 、增加、删除 和修改四种操作。
答案:[5]查询
评析:关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。
数据查询:用户可以查询关系数据库中的数据,它包括一个关系内的查询以及多个关系间的查询。
数据删除的基本单位是一个关系内的元组[6],它的功能是将指定关系内的指定元组删除。
数据插入仅对一个关系而言,在指定关系中插入一个或多个元组。
数据修改是在一个关系中修改指定的元组和属性。
(6)下列程序的输出结果是 [6] 。
main()
{
int a=l,b=2;
a=a+b;b=a-b;a=a-b;
printf(”%d,%d\n”,a,b);
}
答案:[6]2,1
评析:本题中,执行a=a+b时,a=l,b=2,a=l+2=3;b=a-b时,a=3,b=2,b=3-2=1;a=a-b时,a=3,b=l,a=3.1=2;因此,本题的输出是2,1.
(7)下列程序的输出结果是16.00,请填空;,
main()
{
int a=9,b=2:
float x= [7] ,y=1.1,z;
z=a/2+b*x/y+l/2;
printf(”%5.2tin”,z);
}
答案:[7]6.6
评析:本题,已知结果z=16.00,即16.0=a/2+b*x/y+l/2,分别把a、b代入,得到16.0=9/2+2″x/1.1+1/2。
因为a=9,a是整型,所以9/2的值在没有进行类型转换时,等于4,1/2同理,等于0。代入求一元一次方程,很容易就可以得出x=6.6。
(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间, 请填空。
st=(chhr*) [8] ;
答案:181 malloc(11)
评析:malloc函数的格式是:void*(或char*)malloc(size),size表示应分配的存储区。此题要分配11字节的单元,把11代入即可。
(9)下列程序段[7]的输出结果是 [9] 。
main()
{char b[]=”Hello,you”;
b[5]=0;
printf(”%s\n”,b);
}
答案:[9]Hello
评析:字符串中,数值0或符号‘\O’表示字符串的结束。本题中,b[5]被赋了0值,表明字符串b的第六个字符就是结束标志。因此,只输出前五个字符,即Hello。
(10)下列程序段的输出结果是 [10] 。
int n=’c’:
switch(n++)
{default:printf(”error”);break;
case。a’:
case’A。:
caseIb’:
tase’B’:printf(”good”);break;
case’c’:case’C’:printf(”pass”);
case’d’:case’D’:printf(”warn”);
}
答案:[10]passwarn
评析:n++是在执行完其所在的语句后再加l,因此,在执行case的时候,n的值依然为‘c’,执行case‘c’后面的语句,先打印出“pass”;在执行完case‘c’后,未遇到break跳出switch,便接着执行下面的语句,又打印出warn。所以此题输出结果是:passwarn。
(11)以下程序通过函数指针p调用函数mn,请在填空栏内,写出定义变量p的语句。
void fun(int‘x,int*y)
{ …… }
main()
{ int a=lO,b=20;
[11] :
p=fun; p(&a,&b);
……
}
答案:[11]void(*p)();
评析:要定义p为指向函数的指针变量,需写成:void(*p)();注意+p两侧的括弧不可以省略,表示p先与*结合,是指针变量,再与后面的()结合,表示此指针变量指向函数,这个函数无返回值(同fun函数)。
(12)以下程序的输出结果 [12] 。
main()
{
int p[7]={ll,13,14,15,16,17,18};
int i=0,J=0;
while(1<7&&p[i]%2==1)j+=p[i++];
printf(”%d\n”J);
}
答案:[12]24
评析:本题程序定义了一维数组p,有七个数组元素,整型变量i,.j初值分别为0,当while的条件表达式(i<7&&p[i]%2==1)的值为真时,执行语句j+=p[i++];,如:当i=0时,i<7为真,p[I]%2=11%2=1,表达式(p[i]%2:=1)的值为真,所以整个表达式(i<7&&p[i]%2==1)的值为真,执行j=j+p[i++]=0+11=11,i=l;依次类推可以得出答案24。
(13)下列程序的输出结果是 [13] 。
void fun(int *n)
{
while((*n)–);
printf(”%d”,++(*n));
}
main()
{ int a=100;
fun(&a);
}
答案:[13]0
评析:在函数fun()中,while((*n)–)是先引用+n的值,再做(*n)–运算,所以循环结束时*n的值为O,再做(+n)–运算后,*n的值为-1;执行++(*n)后,*n的值是O。
(14)以下程序的输出结果是 [14] 。
main()
{
int arr[]={30,25,20,15,10,5},*p=arr;
p++;
printf(”%d\n”,*(p+3));
)
答案:[14]10
评析:整型指针最初被赋的值是数组art的头指针,即指向数组的第一个元素30,p++后,指针指向数组的下一个元素,即*p=arr[1]=25,在执行*(p+3)时,则相当于a[1+3],即10。因此,输出应为10。
(15)以下程序运行后的输出结果是 [15] 。
main()
{
char a[]=”Language”,b[]=”Programe”;
char *p1,*p2;
int k:
pl=a,p2=b;
for(k=0;k<=7;k++)
if(*(pl+k)==*(p2+k))printf(”%c”,*(pl+k));
}
答案:[15]gae
评析:本题定义了两个字符串数组a[],b[],字符型指针变量p1和p2,且分别指向字符串数组a和b,执行for循环,当if(*(pl+k)==*(p2+k))条件为真,执行输出*(pl+k)对应的字符。即当k=0时,*(pl+k)对应的字符串数组a.中的字符L,*(p2+k)对应的字符串数组b中的字符P,因此if(*(pl+k)==*(p2+k))条件为假,不执行printf语句,依次类推,将字符串数组a和b中对应位置上的字符一一比较,如果对应位置上的字符相同,则输出该字符。
(16)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文 件中,请填空。
#include ”stdio.H”
FILE *fp;
main()
{ char ch;
if((fp=fopen( [16] ))==NULL)exit(0);
while((ch=getchar())!=’@’)fputc(ch,fp);
fclose(fp);
}
答案:[l6]“bi.Dat”, “w”或“bi.dat”,“w+”或“bi.dat”,“r+”
评析:本题的考点是fopen()函数,此函数的格式是fopen(文件名,使用文件方式),题目的要求是将从键盘读入的文本写到文件中,因此选择的打开方式应该是“w”(只写)。或者是读写“r+”或“w+”。
(17)以下程序是从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。请填空。
main()
{
int i,a[20],sum,count;
sum=count= [17] ;
for(i=0;i<20;i++)scanf(”%d”, [18] );
for(i=0;i<20;i++)
{
if(a[I]>0)
{ count++;
sum+= [19] ;
}
}
printf(”sum=%d,count=%d\n”,sum,count);
}
答案:[17]0
[18]&a[i]
[19]a[i]
评析:本题要求从终端读入数据到数组中,统计其中正数的个数,并计算它们的和。程序中首先要对存放正数个数的变量count及存放和值的变量sum初始化为0,所以第一空应填:0。接着要求从终端读入数据到数组中,可以通过scanf函数实现,因此第二空应填:&a[i]。最后通过sum+=a[i];语句累加正数a[i]的值到sum中,因此第三空应填:a[i]。
(18)若变量n中的值为24,则pint函数共输出 [20] 行。
void prnt(int n,int aa[])
{ int i;
for(I=1;i<=n;i++)
{ printf(”%6d”,aa[I]);
if(!(i%5,J)printf(“\n”);
}
printf(”\n”);
}
答案:[20]5
评析:本题的关键在于if(!(i%5))printf(“\n”);这句,即如果i可被5整除时,则换行。i值为24,可以被5整除4次,并余4,因此,prnt函数共输出5行,最后一行有4个

题目解答

答案

请将每一个空的正确答案写在答题卡的[1]至[20]序号的横线上,答在试卷上不得 分。
(1)算法的复杂度主要包括时间复杂度和 [1] 复杂度。
答案:[1]空间
评析:习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
(2)数据的物理结构在计算机存储空间中的存放形式称为数据的 [2] 。
答案:[2]内模式[8]或物理模式或存储模式
评析:一个数据库只有一个内模式,它是数据物理结构和存储方式的描述,是数据库内部的表示方法。例如,记录的存储方式是顺序存储[9]、索引按照什么方式组织;数据是否压缩存储,是否加密等。
(3)若按功能划分,软件测试的方法通常分为 [3] 测试方法和黑盒测试方法。
答案:[3]白盒
评析:软件测试的方法有三种:动态测试[10]、静态测试[11]和正确性证明[12]。设计测试实例的方法一般有两类:黑盒测试方法和自盒测试方法。
(4)数据库三级模式体系结构的划分,有利于保持数据库的 [4] 。
答案:[4]数据独立性
评析:数据库的三级模式体系结构把数据的组织管理工作进行了划分,把数据的具体组织留给DBMS管理,使用户能逻辑地[13]、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式,保证了数据的独立性。
(5)在关系运算中,查找满足一定条件的元组的运算称之为 [5] 。
答案:[5]选择
评析:在关系数据库中,选择运算也是一个元运算,关系R通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由R中的那些满足逻辑条件的元组所组成。
(6)在C语言中(以16位PC机为例),一个float型数据在内存中所占的字节数为4;一个double型数据在内存中所占的字节数为 [6] 。
答案:[6]8
评析:在一般16位PC机中,一个float型数据在内存中占4个字节(32位),一个double型数据占8个字节。
(7)设有以下变量定义,并已赋确定的值,
char w;int x;float y;double z;
则表达式:w*x+z-y所求得的数据类型[14]为 [7] 。
答案:[7]double型或双精度[15]型
评析:①先进行W*X的运算,先将字符型w转换成整型,运算结果为整型;②再将W*X的结果与z相加,要先将第一步的整型转换为double型,运算结果为double型;③最后将W*X+Z的结果与y相减,要先将float型y转换成double型,结果为double型。
(8)若运行时给变量x输入12,则以下程序的运行结果是 [8] ;
main(){
int,y;
scanf(””%d””,&X);
y=x>12?x+lO:x-12;
printf(“”%d\n”",y);
}
答案:[8]0
评析:三目运算符的形式为(表达式1)7(表达式2):(表达式3)。当(表达式1)值为真时,返回(表达式2)的值;为假时,返回(表达式3)的值。题中因为x>t2为假,所以结果为x-12,即为0。
(9)四条语句:x++;、++x;、x=x+l;、x=l+x;,执行后都使变量x中的值增l,请写出一条同一功能的赋值语句[16](不得与列举的相同) [9] 。
答案:[9]x+=1:
评析:题面中的四条语句的作用是使x的值加1,在c中有多种方法可以对变量进行加1操作,这里可以利用C的复合赋值运算符+=实现,本题答案为x+=1:。
(10)设有以下定义和语句,则*(*(p+2)+1)的值为 [10] 。
int[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
答案:[10]60
评析:本题定义了一个3行2列的二维数组a,并定义了一个指向两个元素的一维数组指针p,让p指向二维数组a的首行。*(*(p+2)+1)是引用a[2][1],其值是60。
(11)若要使指针p指向一个double类型的动态存储单元[17],请填空。
p= [11] malloc(sizeof(double));
答案:[11](double*)
评析:函数malloc返回的是void*,所以若要使指针指向一个double类型,则必须进行类型转换,类型转换格式为:(数据类型*)。
(12)下面程序的功能:输出100以内能被3整除且个位数为6的所有整数,请补充完整。
main().
{ int ij;
for(i=O; [12] ;i++)
{ j=I*10+6;
if( [13] )continue;
printf(“%d”,j);
}
}
答案:[12]i
[13]j%3!=0
评析:本题要求输出100以内能被3整除且个位数为6的所有整数,程序中j=i*10+6;语句是求个位数为6的整数,由此可得出程序的循环次数为i
(13)函数mycmp(char*s,char。t)的功能是比较字符串s和t的大小,当s等于t时返回0,
当s>t返回正值,当s
mycmp(char*s,char*t)
{ while(*s==*t)
{ if(*s==’\0’)return 0;
++s;++t;
}
return( [14] );
}
答案:[14]*s-*t或-*t+*s
评析:函数的两个形参是两个字符指针变量,字符串的首地址是指针变量的值,*s和*t表示字符串数组s和t的第一个字符,在while循环中,是通过s和t值的不断变化来改变指针所指向的字符,要改变s和t所指不同字符的ASCII码的差值,必须使用“*s-*t”得出。
(14)以下程序运行后的输出结果是 [15] 。
void fun(、)
{
static int a=0:
a+=2;printf(”%d”,a);
}
main()
{ int cc;
for(CC=1;cc<4;cc++)fun();
printf(”\n”);
}
答案:[15]2 4 6
评析:static声明的外部变量只限于被本文件引用,而不能被其他文件引用。用static来声明一个变量的作用有:①对局部变量[18]用static声明,则为该变量分配的空间在整个程序执行期间始终存在;②全部变量用static声明,则该变量的作用域[19]只限于本文件模块(即被声明的文件中)。
(15)下列程序的运行结果是 [16] 。
main()
{ union EXAMPLE
{ struct
{int x;int y;}in;
int a;
int b:
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf(”%d,%d\n”,e.in.x,e.in.y);
}
答案:[16]4,8
评析:c语言规定,共用体中各个成员变量在内存中占用同一段内存单元,即e.in.x和e.a、e.b占用同一段内存单元,由于e.in.x和e.a、e.b占用的是同一段内存单元,所以程序最后的打印结果为“4,8”。
(16)在对文件进行操作的过程中,若要求文件的位置回到文件的开头,应当调用的函数 是 [17] 函数。
答案:[17][NNlrewind或fseek
评析:在对文件进行操作的过程中,若要求文件的位置回到文件的开头,可以调用rewind或fseek函数。其中rewind函数的作用是将位置指针重新返回文件的开头,而fseek函数可以实现文件指针的定位。
(17)以下函数用于求出一个2×4矩阵中的最大元素值。
max_value(arr)
int arr[][4];
{
int I,J,max;
max=alT[0][0];
for(i=0;i<2;i++)
for(j=0; [18] ;J++)
if( [19] >max)max=[2Q];
return(max);
}
答案:[18]j<4
[19]arr[i][j]
[20]arr[i][j]
评析:2*4矩阵实际上就是一个二维数组,结合本题应为arr[2][4],所以在第一个循环中应当填写“4”;第二个横线处是要判断当前的数组元素值是否大于max,所以应填写arr[i][j];第三个横线处是要将当前大于max的数组元素的值赋给变量max,所以应当填写“arr[i][il”。

相关问题

  • 下列哪项关于广度优先搜索的描述正确()A. 每次扩展时,该算法从边缘集合中取出最下层(最深)的节点B. 广度优先搜索算法是深度优先搜索算法的特例C. 每次扩展时,该算法从边缘集合中取出最上层(最浅)的节点D. 深度优先搜索是广度优先搜索的特例

  • 在决策树建立过程中,使用一个属性对某个结点对应的数集合进行划分后,结果具有高信息熵(highentropy),对结果的描述,最贴切的是()。A. 纯度高B. 纯度低C. 有用D. 无用E. 以上描述都不贴切

  • 下列哪个方法属于知识图谱推理方法()A. 路径排序算法B. 深度学习推断C. 广度优先搜索D. 归纳逻辑程序设计

  • 2.单选题 讯飞星火可以实现多种文案类型和语言风格的文本写作。讯飞星火(网页版)“内容写作”功能可选的“语言风格”不包括( )。A. 口语化B. 高情商C. 专业D. 热情

  • 下列哪项不是求解对抗搜索问题的基本算法( ) A.反向传播算法 B.广度优先排序算法 C.Alpha-Beta剪枝算法D.最小最大搜索算法

  • 下列哪项属于因果推理模型()A. 因果图B. 符号推理模型C. 神经符号推理D. 结构因果模型

  • 以下哪种方法属于卷积神经网络的基本组件()。A. 卷积层B. 池化层C. 激活函数D. 复制层

  • 由脸书(Facebook)公司开发的深度学习编程框架是()A. TensorFlowB. PaddlePaddleC. PyTorchD. Mindspore

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • AdaBoosting采用多个单一分类器组成一个强分类器()A. 错误B. 正确

  • 网络安全包括物理安全[1]、逻辑安全、操作系统安全及联网安全,其中逻辑安全包括访问控制[2]、加密、安全管理及用户身份认证。A. 正确B. 错误

  • 路径排序算法的工作流程主要有三步()A. 特征计算B. 特征抽取C. 分类器训练D. 因果推断

  • 下列哪项贪婪最佳优先搜索算法的描述正确()A. 贪婪最佳优先搜索不属于启发式搜索算法B. 贪婪最佳优先搜索是一种A*搜索算法C. 贪婪最佳优先搜索是一种广度优先搜索算法D. 贪婪最佳优先搜索属于有信息搜索算法

  • 路径排序算法的工作流程主要有三步()A. 特征抽取B. 特征计算C. 分类器训练D. 因果推断

  • 下列哪项属于因果推理模型()A. 因果图B. 神经符号推理C. 符号推理模型D. 结构因果模型

  • 下列哪个方法属于知识图谱推理方法()A. 广度优先搜索B. 深度学习推断C. 路径排序算法D. 归纳逻辑程序设计

  • 下列哪项关于监督学习算法的描述正确()A. 强化学习的训练效果一定优于监督学习B. 主要的监督学习方法包括生成方法和判别方法C. 广度优先搜索算法是一种监督学习算法

  • 3.判断题K-means聚类算法对数据的尺寸敏感。()A. 对B. 错

  • 7、 加强电脑安全防护,及时升级病 毒库,安装防火墙,及时查杀病毒和木马,是防范 电信网络诈骗的有效做法。A. 正确B. 错误

  • 下列不属于量子机器学习算法的是()A. 量子支持向量机B. 量子主成分分析C. 薛定谔方程求解D. 深度量子学习

上一页下一页
logo
广州极目未来文化科技有限公司
注册地址:广州市黄埔区揽月路8号135、136、137、138房
关于
  • 隐私政策
  • 服务协议
  • 权限详情
学科
  • 医学
  • 政治学
  • 管理
  • 计算机
  • 教育
  • 数学
联系我们
  • 客服电话: 010-82893100
  • 公司邮箱: daxuesoutijiang@163.com
  • qt

©2023 广州极目未来文化科技有限公司 粤ICP备2023029972号    粤公网安备44011202002296号