计算机二级(C)37-真题(含答案与解析)-交互_第1页
计算机二级(C)37-真题(含答案与解析)-交互_第2页
计算机二级(C)37-真题(含答案与解析)-交互_第3页
计算机二级(C)37-真题(含答案与解析)-交互_第4页
计算机二级(C)37-真题(含答案与解析)-交互_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机二级(C)37(总分3040,做题时间120分钟)选择题(1-10题每题2分,11-50题每题1分,共60分)1.

DOS命令“COPY/?”的功能是()。A

将当前盘当前目录中的所有文件复制到当前盘的根目录下B

将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C

以提示方式复制文件D

显示COPY命令的帮助信息

分值:60答案:D2.

若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是【】。A

++x,y=x--B

x+l=yC

x=x+10=x+yD

double(x)/10

分值:60答案:A选项A)为C语言中的逗号表达式。赋值表达式的左侧不能是表达式。在进行强制类型转换时,数据类型两边的圆括号不能省略。3.

有以下程序voidf(intn,int*r){intrl=0;if(n%3=0)rl=n/3;elseif(n%5=0)rl=n/5;elsef(n,&r1);*r=rl;}main(){intrn=7,r;f(m,&);printf("%d",r);}程序运行后的输出结果是【】。A

2B

1C

3D

0

分值:60答案:A本题考查了函数的递归调用。在f函数中,当m=7时,程序执行"f(n,&r1);"语句,递归调用f(6,&r1),程序执行"r1=n/3;"语句,即r1=6/3=2,然后执行",*r=r1;"语句,所以输出结果为2。4.

在DOS环境下,代表键盘和显示器的设备文件名为()。A

PRNB

CONC

NULD

LPT

分值:60答案:B5.

有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;i++;j--;fun(a,i,j);}}main(){intx[]={2,6,1,8},i;fun(x,0,3);for(i=0;i<4;i++)printf("%2d",x[i]);printf("\n");}程序运行后的输出结果是()。A

1268B

8621C

8162D

8612

分值:60答案:C6.

有以下程序:structSTU{charname[10];intnum;floatTotalScore;};voidf(structSTU*p){structSTUs[2]={{"SunDan",20044,550},{"Penghua",20045,537}},*q=s;++p;++q;*p=*q;}main(){structSTUs[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};f(s);printf("%s%d%3.0f\n",s[1].name,s[1].num,s[1].TotalScore);}程序运行后的输出结果是【】。A

SunDan20044550B

Penghua20045537C

LiSiGuo20042580D

SunDan20041703

分值:60答案:B本题将结构体数组s的首地址传递给了结构体指针变量p,并在函数f中改变了指针变量p所指向的第二个结构体中的成员变量,这一改变,也就是改变了主函数中s[1]的成员变量,故程序输出的值为Penghua20045537。7.

有以下程序main(){inta=1,b=3,C=5,*P;int*pl=&a,,*p2=&b,*p3=&c;*P=*pl*(*p2);printf("%d\n",*P);}执行后的输出结果是【】。A

1B

2C

3D

4

分值:60答案:C程序使指针pl、p2、p3指向a、b、c值所存放的地址空间。然后再将指针变量*pl、*p2运算所得的值放入指针变量*p,即放入了c值所存放的地址。则最后输出c的时候得到的值就是c地址里面的值,即1*3:3。8.

以下选项中不能作为合法常量的是【】。A

1.234e04B

1.234e0.4C

1.234e+4D

1.234e0

分值:60答案:B指数形式的实型常量要求字母e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。9.

以下选项中不能正确把c1定义成结构体变量的是()。A

typedefstruct{intred;intgreen;intblue;}COLOR;COLORcl;B

structcolorcl{intred;intgreen;intblue;}C

structcolor{intred;intgreen;intblue;}cl;D

struct{intred;intgreen;intblue;}cl;

分值:60答案:B10.

以下叙述中错误的是【】。A

可以通过typedef增加新的类型B

可以用typedef将已存在的类型用一个新的名字来代表C

用typedef定义新的类型名后,原有类型名仍有效D

用typedef可以为各种类型起别名,但不能为变量起别名

分值:60答案:A关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型。11.

有以下定义:#include<stdio.h>chara[10],*b=a;不能给数组a输入字符串的语句是()。A

gets(a)B

gets(a[0])C

gets(&a[0]);D

gets(b);

分值:60答案:B12.

有以下程序:main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}程序运行后的输出结果是【】。A

16B

10C

8D

6

分值:60答案:B数组a各元素a[0]~a[9]的值依次为1~10;在程序的说明部分,指针变量p初始化为&a[3],即*p的值为4;指针变量q初始化为p+2,即&a[3]+2,所以*q的值为6,所以*p+*q的值为10。13.

下列叙述中正确的是【】。A

算法的效率只与问题的规模有关,而与数据的存储结构无关B

算法的时间复杂度是指执行算法所需要的计算工作量C

数据的逻辑结构与存储结构是一一对应的D

算法的时间复杂度与空间复杂度一定相关

分值:60答案:B根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。14.

有以下程序:main(){intx[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for(j=2;j>=i;j--)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j+1]>x[j]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<3;i++)if(x[j]>x[j+1]){k=x[j];x[j]=x[j+1];x[j+1]=k;}for(i=0;i<8;i++)printf("%d",x[i]);printf("\n");}程序运行后的输出结果是()。A

75310246B

01234567C

76310462D

13570246

分值:60答案:A15.

所谓“裸机”是指()。A

单片机B

单板机C

不装备任何软件的计算机D

只装备操作系统的计算机

分值:60答案:C16.

设有如下程序段:intx=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是()。A

输出语句中格式说明符的个数少于输出项的个数,不能正确输出B

运行时产生出错信息C

输出值为2002D

输出值为2003

分值:60答案:D17.

有以下程序intfun1(doublea){returna*=a;}intflun2(doubleX,doubleY){doublea=0,b=0;a=funl(X);b=funl(Y);return(int)(a+b);}main(){doubleW;w=fun2(1.1,2.0);……}程序执行后变量W中的值是【】。A

5.21B

5C

5D

0

分值:60答案:C题中变量w的定义为double型,函数fun2()的定义为int型,按照各类数值型数据间的混合运算,整型数据被转换为实型数据。18.

有以下程序:main(){intm=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}程序运行后的输出结果是()。A

3B

5C

-1D

-2

分值:60答案:D19.

以下程序中函数f()的功能是将n个字符串按由大到小的顺序进行排序。#include<string.h>voidf(charp[][10],intn){chart[20];inti,j;for(i=O;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j])<0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);}}main(){charp[][10]={"abc","aabdfg","abbd","dcdbe","cd"};inti;f(p,5);printf("%d\n",strlen(p[O]));}程序运行后的输出结果是()。A

6B

4C

3D

5

分值:60答案:C对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的字符时,即由这两个字符(ASCII码值)决定所在串的大小。20.

C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。A

voidB

intC

floatD

double

分值:60答案:B21.

以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。#include<stdio.h>main(){FILE*fout;charch;fout=fopen(''abc.txt'',''w'');ch=fgetc(stdin);while(ch!=''#''){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出错的原因是()。A

函数fopen调用形式有误B

输入文件没有关闭C

函数fgetc调用形式有误D

文件指针stdin没有定义

分值:60答案:A22.

有以下程序#include<stdio.h>#defineN5#defineMN+1#definef(x)(x*M)main(){inti1,i2;i1=f(2);i2=f(1+1);printf("%d%d\n",i1,i2);}程序的运行结果是【】。A

1212B

117C

1111D

127

分值:60答案:B根据宏替换的替换规则,我们可知,f(2)=2*N+1=2*5+1=11,f(1+1)=1+1*N+1=1+1*5+1=7。因此,本题的答案为选项B。23.

以下叙述中正确的是【】。A

调用printf函数时,必须要有输出项B

使用putchar函数时,必须在之前包含头文件stdio.hC

在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D

调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

分值:60答案:B在使用标准输入输出库函数(除了Printf和scanf)前,必须要用预编译命令"#include"将头文件"stdio.h"包括到用户源文件中。24.

有以下程序段:main(){inta=5,*b,**c;c=&b;b=&a;……}程序在执行了c=&b;b=&a;语句后,表达式:**c的值是()。A

变量a的地址B

变量b中的值C

变量a中的值D

变量b的地址

分值:60答案:C25.

有以下程序main(intargc,char*argv[]){intn,i=0;while(argv[1][i]!=''\0''){n=fun();i++;}printf("%d\n",n*argc);}intfun(){staticints=0;s+=1;returns;}假设程序编译、连接后生成可执行文件exam.exe,若键入以下命令exam123〈回车〉则运行结果为()。A

6B

8C

3D

4

分值:60答案:A26.

有以下定义和语句:inta[3][2]={1,2,3,4,5,6,},*p[3];p[0]=a[1];则*p[0]+1)所代表的数组元素是()。A

a[0][1]B

a[1][0]C

a[1][1]D

a[1][2]

分值:60答案:C27.

若有以下说明和定义typedefint*INTEGER;INTEGERp,*q;以下叙述正确的是()。A

p是int型变量B

p是基类型为int的指针变量C

q是基类型为int的指针变量D

程序中可用INTEGER代替int类型名

分值:60答案:B语句typedefint*INTEGER;定义了一个新类型名INTEGER,因此语句INTEGERp,*q;就相当于int*p,**q;。28.

有以下程序fun(intX,intY){return(X+Y);}main(){inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),C++);printf("%d\n",sum);}执行后的输出结果是【】。A

6B

7C

8D

9

分值:60答案:C变量a.b,c的初始值分别为1,2,3。因此逗号表达式"a++,b++,a+b"的值等于5,表达式c++的值为3,这样主函数main()中调用子函数的表达式为"fun(5,3);",其返回值等8。所以变量sum的值等于8。29.

有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。structnode{intdata;structnode*next;}*p,*q,*r;现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是()。A

r->next=q;q->next=r->next;p->next=r;B

q->next=r->next;p->next=r;r->next=q;C

p->next=r;q->next=r->next;r->next=q;D

q->next=r->next;r->next=q;p->next=r;

分值:60答案:A30.

以下不合法的字符常量是【】。A

’\018’B

’\’C

’\\’D

’\xcc’

分值:60答案:A字符常量是括在一对单引号内的字符。选项A)‘\018’是八进制字符串格式,所以里面的数不能大于8。选项B、C、D都是转义字符。31.

设变量a、b、c、d和y都已正确定义并赋值。若有以下if语句:if(a<B)if(c=D)y=0;elsey=1;该语句所表示的含义是【】。A

B

C

D

分值:60答案:Cif语句中包含一个或多个if语句称为if语句的嵌套。在C语言中,从最内层开始,else总是与它上面最近的(未曾配对的)if配对。故本题中y=1的条件是c≠d,又因为此if语句是前一个if语句的内层嵌套语句,所以在满足内层嵌套的if语句之前,必须先满足外层的if语句中的条件表达式"a<b",所以选项C是正确的。32.

下列叙述中正确的是【】。A

软件测试应该由程序开发者来完成B

程序经调试后一般不需要再测试C

软件维护只包括对程序代码的维护D

以上三种说法都不对

分值:60答案:D因为测试的目的在于发现错误,从心理学角度讲,由程序的编写者自己进行测试是不合适的,为了达到最好的测试效果,应该由独立的第三方进行测试工作,所以选项A错误;程序调试,修改一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B错误;所谓软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,可见选项C也是错误的。33.

若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;则与上述程序段功能等价的赋值语句是()。A

s=a+b;B

s=a+c;C

s=s+c;D

s=b+c;

分值:60答案:B34.

有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序运行后的输出结果是()。A

3B

2C

1D

0

分值:60答案:D35.

有以下程序#include<stdio.h>voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat"start");WriteStr("t1,dat","end");}程序运行后,文件t1.dat中的内容是【】。A

startB

endC

startendD

endrt

分值:60答案:B两次使用"写入"的方式打开同一个文件,在第二次打开时,文件指针指向文件头,所以此次写入的数据覆盖了文件原有的数据,故本题中t1.dat的内容为end。36.

有以下函数:fun(char*a,char*b){while((*a!=''\''0&&(*b!=''\0'')&&(*a=*b)){a++;b++;}return(*a-*b);}该函数的功能是【】。A

计算a和b所指字符串的长度之差B

将b所指字符串连接到a所指字符串中C

将b所指字符串连接到a所指字符串后面D

比较a和b所指字符串的大小

分值:60答案:D字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止,相等,则返回0,否则返回第一个不等字符串的ASCII码的差值。37.

有以下程序voidfunl(char*P){char*q;q=P;while(*q!=’\0’){(*q)++;q++;)}main(){chara[]={"Program"),*p;P=&a[3];fun1(P);printf("%s\n",a);}程序执行后的输出结果是【】。A

ProhsbnB

PrphsbnC

ProgsbnD

Program

分值:60答案:A(*q)++是q所指的字符加1,q++就是指针移到下一个字符。38.

在结构化程序设计中,模块划分的原则是【】。A

各模块应包括尽量多的功能B

各模块的规模应尽量大C

各模块之间的联系应尽量紧密D

模块内具有高内聚度、模块间具有低耦合度

分值:60答案:D在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块划分的原则。39.

若有代数式根号下n的x次方+e的x方的绝对值(其中e仅代表自然对数的底数,不是变量)则一下能正确表示该代数式的C语言表达式的是【】。A

B

C

D

分值:60答案:C本题主要考查C语言的库函数。abs求整数的绝对值,fabs求双字节型的绝对值,pow函数的原形是doublepow(doublex,doubleY),计算x的y次方;exp函数的原形是doubleexp(doublex),求10的x次方;sqrt函数的原形是doublesqrt(doublex),为x的平方根。故本题答案为C)。40.

有以下程序structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i<n-1;i++)a[i]+=i;}main(){inti;structSS={10,{2,3,1,6,8,7,5,4,10,9}};f(s.a,s.n);for(i=0;i<s.n;i++)printf("%d,",s.a[i]);}程序运行后的输出结果是【】。A

2,4,3,9,12,12,11,11,18,9,B

3,4,2,7,9,8,6,5,11,10,C

2,3,1,6,8,7,5,4,10,9,D

1,2,3,6,8,7,5,4,10,9,

分值:60答案:A本题中,在调用函数时将结构体变量的两个成员作为实参,其中的成员数组a实际向函数f()传递的是该数组的地址,因此在函数f()中所对应的形参发生改变时,该数组内的数据也会发生改变。函数f()实现的功能是将成员数组中的前9个元素分别加上该元素的下标,作为新的元素。41.

有以下程序:intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i=f(fa,fb,2);printf("%d\n",i);}程序运行后的输出结果是()。A

-4B

1C

4D

8

分值:60答案:C本题考点是函数之间的参数传递。42.

有以下程序:main(){inti,n=0;for(i=2;i<5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf(“n=%d\n”,n);}程序执行后的输出结果是()。A

n=5B

n=2C

n=3D

n=4

分值:60答案:D43.

下列选项中不属于软件生命周期开发阶段任务的是【】。A

软件测试B

概要设计C

软件维护D

详细设计

分值:60答案:C通常把软件产品从提出、实现、使用、维护到停止使用退役的过程称为软件生命周期。软件生命周期分为3个时期共8个阶段:软件定义期:包括问题定义、可行性研究和需求分析3个阶段;软件开发期:包括概要设计、详细设计、实现和测试4个阶段;运行维护期:运行维护阶段。44.

有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}程序运行后的输出结果是()。A

3B

6C

9D

2

分值:60答案:B45.

有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i<7);printf("%d\n",s);}执行后输出的结果是()。A

16B

12C

28D

21

分值:60答案:A46.

有以下程序段typedefstructnode{intdata;structnode*next;}*NODE;NODEp;以下叙述中正确的是【】。A

p是指向structnode结构变量的指针的指针B

NODEp;语句出错C

p是指向structnode结构变量的指针D

p是structnode结构变量

分值:60答案:C在C语言中,typedef用于说明一种新的类型名,本题中的node被定义为一种结构体类型名,NODE被定义为指向这种结构体变量的指针,我们可以用它来定义一个指向该类型结构体变量的指针。47.

有以下程序:#include<stdlib.h>structNODE{intnum;structNODE*next;};main(){structNODE*p,*q,*r;intsum=0;p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=1;q->num=2;r->num=3;p->next=q;q->next=r;r->next=NULL;sum+=q->next->num;sum+=p->num;printf(“%d\n”,sum);}执行后的输出结果是()。A

3B

4C

5D

6

分值:60答案:B48.

有以下程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;}while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是【】。A

任意正奇数B

任意负偶数C

任意正偶数D

任意负奇数

分值:60答案:D要使得程序段不陷入死循环,则必须存在终止循环的条件"t=n",由于t的初始值为1,且每执行一次循环都会使得t的值减2,故执行本程序后t有可能的最大值为-1,然后,依次减2,所以键盘输入的n的值必须是t的值之一,即为任意负奇数。49.

下列选项中不符合良好程序设计风格的是【】。A

源程序要文档化B

数据说明的次序要规范化C

避免滥用goto语句D

模块设计要保证高耦合、高内聚

分值:60答案:D程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。著名的"清晰第一,效率第二"的论点已成为当今主导的程序设计风格。要形成良好的程序设计风格,主要应注意和考虑下述一些因素:源程序文档化;数据说明的次序规范化;避免滥用goto语句等,除此之外,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性。所以正确选项是D)。50.

有以下程序main(){chark;intI;for(i=1;i<3;i++){scanf(“%c”,&k);switch(k){case‘0’:printf(“another\n”);case‘1’:printf(“number\n”);}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是()。A

anothernumberB

anothernumberanotherC

anothernumbernumberD

numbernumber

分值:60答案:A填空题(每空2分,共40分)51.

以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。voidsstrcpy(char*s,char*t){while(*s++=【】);}main(){charstr1[100],str2[]=”abcdefgh”;sstrcpy(str1,str2);printf(“%s\n”,str1);}

分值:2答案:*t++52.

执行以下程序后的输出结果是【】。main(){inta=10;a=(3*5,a+4);printf("a=%d\n",a);}

分值:2答案:a=14本题考查的是的表达式的优先级问题。先计算表达式3*5=15,再计算a+4=14,将数据14赋值给a,根据printf()函数内的输出格式控制串,最后的输出结果应为"a=14"。53.

下面程序的运行结果是:【】intf(inta[],intn){if(n>1)returna[0]+f(&a[1],n-1);elsereturna[0];}main(){intaa[3]={1,2,3},s;s=f(&aa[0],3);;printf(“%d\n”,s);}正确

错误

分值:2答案:未知54.

在Windows环境下,利用菜单命令删除固定硬盘上的文件与文件夹,实际上是将需要删除的文件与文件夹移动到【】文件夹中。

分值:2答案:回收站55.

下列软件系统结构图的宽度为【】。正确

错误

分值:2答案:未知在程序结构图的有关术语中,宽度的概念是:整体控制跨度,即各层中所含的模块数的最大值,由图可得此软件系统结构图的宽度为3。56.

以下程序运行后的输出结果是【】。main(){inti,m=0,n=0,k=0;for(i=9;i<=11;i++)switch(i/10){case0:m++;n++;break;case10:n++;break;default:k++;n++;}printf("%d%d%d\n",m,n,k);}

分值:2答案:13257.

以下程序运行后的输出结果是【】。voidfun(intx,inty){x=x+y;y=x-y;x=x-y;printf("%d,%d,",x,y);}main(){intx=2,y=3;fun(x,y);printf("%d,%d\n",x,y);}A

B

C

D

分值:2答案:未知本题考点是局部变量的作用范围。58.

以下程序运行时,若从键盘输入:102030<回车>,输出的结果是【】。#include<stdio.h>main(){inti=0,j=0,k=0;scanf("%d%*d%d",&i,&j,&k;printf("%d%d%d\n",i,j,k);}

分值:2答案:10300在scanf格式控制符中,如果在%后有一个"*"附加说明符,表示跳过它指定的列数。本题中""%d%*d""表示将10赋给i,%*d表示读入整数但不赋给任何变量,然后再读入整数30赋给变量j,那么变量k并没有重新赋值,仍为初始值0。所以输出的结果为10300。59.

算法复杂度主要包括时间复杂度和【】复杂度。

分值:2答案:空间程序在计算机上运行时所耗费的时间由下列因素所决定:程序运行时所需输入的数据总量,对源程序进行编译所需时间,计算机执行每条指令所需时间,程序中的指令重复执行的次数。前一条取决于实现算法的计算机欺、硬件系统,习惯上常常把语句重复执行的次数作为算法运行时间的相对量度,称作算法的时间复杂度。算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。60.

以下程序运行后的输出结果是【】。fun(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}main(){inti,a=5;for(i=0;i<3;i++)printf("%d%d",i,fun(a));printf("\n");}

分值:2答案:010111212静态局部变量是在编译时赋初值的,在程序运行时它已有初值。61.

若fp已正确定义为一个文件指针,d1.dat为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen【】;。

分值:2答案:"dl.dat","rb"或"dl.dat","r+b"或"dl.dat","rb+"。62.

若有以下程序main(){chara;a=''H''-''A''+''0'';printf("%c\n",a);}执行后输出结果是【】。正确

错误

分值:2答案:未知63.

以下程序运行后的输出结果是【】。main(){inta=1,b=2,c=3;if(c=a),printf("%d\n",c);elseprintf("%d\n",b);}正确

错误

分值:2答案:未知此题需特别注意的是if的判断条件是"c=a",而不是"c=a",由于a=1,故条件c=1为真:所以输出的c的值为1。64.

有以下程序,若运行时从键盘输入:18,11<回车>,则程序的输出结果是【】。main(){inta,b;printf("Entera,b:");scanf("%d,%d",&a,&b);while(a!=b){while(a>b)a-=b;while(b>a)b-=a;}printf("%3d%3d\n",a,b);}

分值:2答案:11外层循环共执行了4次,最后a和b的值都等于1时,退出循环输出结果。65.

以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论