【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案_第1页
【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案_第2页
【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案_第3页
【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案_第4页
【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

【MOOC期末】《高级语言程序设计》(东北大学)中国大学慕课答案

有些题目顺序不一致,下载后按键盘ctrl+F进行搜索《高级语言程序设计》(东北大学)期末考试客观题试卷1.单选题:有如下函数voidfun(chars[],char*t){inti=0;while(s[i]!='\0'){if(s[i]>='0'&&s[i]<='9'){*t=s[i];t++;}i++;}*t=0;}执行以下程序片段chartext[]="abc123",t[64]="";fun(text,t);puts(t);程序运行后的输出结果是

选项:

A、abc

B、123

C、abc123

D、程序运行出错

答案:【123】2.单选题:有以下函数voidfun(int*p,int*q){int*t;t=p;p=q;q=t;}执行以下程序片段{intA[5]={1,2,3,4,5};inti;for(i=0;i<4;i++){fun(A[i],A[i+1]);}printf("%d",A[4]);return0;}程序运行后的输出结果是

选项:

A、1

B、3

C、4

D、5

答案:【5】3.单选题:执行以下程序片段intm=1,n=2,*p=&m,*q=&n,*r;*r=*p;*p=*q;*q=*r;printf("%d,%d,%d,%d\n",m,n,*p,*q);程序运行后的输出结果是

选项:

A、1,2,2,1

B、1,2,1,2

C、2,1,2,1

D、程序运行错误

答案:【程序运行错误】4.单选题:有以下函数intfun(chara[],charb[]){inti=0;while(a[i]==b[i])i++;returni;}执行以下程序片段chars[100]="MyEnglish",t[20]="Ling";printf("%d",fun(s+3,t+2));程序运行后的输出结果是

选项:

A、0

B、1

C、2

D、死循环

答案:【2】5.单选题:有如下函数intfun(intn){inti=2;while(i<p=""><>if(n%i==0)returnn;i++;}return0;}执行如下程序片段inta[3][4]={1,2,3,4,5,6,7,8,9};ints=0,i=0;for(i=0;i<3;i++)s=s+fun(a[1][i]);printf("%d",s);程序运行后的输出结果是

选项:

A、5

B、6

C、7

D、12

答案:【6】6.单选题:有以下函数voidfun(inta[3][4],intn){inti=0,j=0;for(i=0;i{a[i][3]=0;for(j=0;j<3;j++){a[i][3]+=a[i][j];}}}执行如下程序片段inta[3][4]={1,2,3,4,5,6,7,8,9};inti;fun(a,3);for(i=0;i<3;i++)printf("%3d",a[i][3]);程序运行后的输出结果是

选项:

A、61524

B、6189

C、000

D、111519

答案:【6189】7.单选题:有以下程序片段inta[3][3]={1,2,3,4,5,6,7,8,9};inti=0,j=0;for(i=0;i<3;i++)for(j=0;j<3;j++){if((i+j)%2==0)a[i][j]=1;}for(i=0;i<3;i++)printf("%d",a[i][i]);程序运行后的输出结果是

选项:

A、111

B、159

C、359

D、222

答案:【111】8.单选题:有以下函数intT(chart[],chars[]){inti=0;while(s[i]!=0&&i/2!=0)t[i]=s[i++];t[i]=0;returni;}执行如下代码片段后chars[]="ABCD";chart[100]="Hi";T(t,s);printf("%s",t);程序运行后的输出结果是

选项:

A、无输出,或者说输出空串

B、AB

C、Hi

D、HA

答案:【无输出,或者说输出空串】9.单选题:对于如下结构体定义structstudent{intid;charname[32];}s1={20001,"LiMing"},s2;如下表达式不正确的是

选项:

A、s2=s1

B、2.id=s1.id

C、=

D、scanf("%d",&)

答案:【=】10.单选题:对于如下结构体定义structPoint{intid;}point;如下说法不正确的是

选项:

A、structPoint为数据类型

B、Point为数据类型

C、sizeof(point)的值为4

D、point为结构体变量

答案:【Point为数据类型】11.单选题:若函数fun定义如下intfun(chara[],charb[]){inti=0,j=0;while(a[i]=b[i])i++;}如下程序代码执行结果为char*text="ThisisaCprogrammingcourse";char*p=fun(text,'C');if(p!=NULL)printf("%d",p-text);elseprintf("%d",-1);执行结果为

选项:

A、-1

B、C

C、7

D、6

答案:【7】12.单选题:若有以下的定义:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a+3;则p[2]的值是

选项:

A、4

B、5

C、6

D、7

答案:【6】13.单选题:若函数fun定义如下intfun(chara[],charb[]){inti=0,j=0;while(a[i]=b[i])i++;}如下程序代码执行结果为chars[10][100]={"English","math","physical","Chinese"};inti=0;for(i=0;i<3;i++){if(s[i][0]>s[i+1][0]){fun(s[5],s[i]);fun(s[i],s[i+1]);fun(s[i+1],s[5]);}}printf("%s",s[3]);程序运行后的输出结果是

选项:

A、English

B、math

C、physical

D、Chinese

答案:【physical】14.单选题:有以下函数intfun(char*t,char*s){char*p=t;char*q=s,*m=t;while(*t){q=s;p=t;while(*q){if(*q!=*p)break;p++,q++;}if(*q==0){p=t;break;}t++;}returnp-m;}执行以下程序片段chars[]="EnglishBoook";printf("%d",fun(s,"ng"));程序运行后的输出结果是

选项:

A、0

B、1

C、2

D、3

答案:【1】15.单选题:有以下函数intfun(char*s){char*p=s;while(*s++);returns-p;}执行以下程序片段chars[]="x\0123yz";printf("%d%d",fun(s),sizeof(s));程序运行后的输出结果是

选项:

A、56

B、66

C、65

D、74

答案:【66】16.单选题:有如下函数intfun(char*s){inti=0;intt=0;while(*s!='\0'){if(*s>='0'&&*s<='9'){t=t*10+*s-'0';}s++;}returnt;}执行以下程序片段chartext[]="abc123t4x";printf("%d",fun(text));程序运行后的输出结果是

选项:

A、0

B、123

C、1234

D、程序运行出错

答案:【1234】17.单选题:有以下函数intswap(inta,intb){intt;t=a,a=b,b=t;returnt;}执行如下代码片段后inta=100,b=200;b=swap(a,b);printf("%d\n",b);程序运行后的输出结果是

选项:

A、100

B、200

C、0

D、存在语法错误

答案:【100】18.单选题:执行下面的程序段后,输出结果为多少chara[]="NEU",b[10]="NEU";printf("%d,%d\n",sizeof(a),sizeof(b));

选项:

A、3,3

B、4,10

C、3,10

D、4,4

答案:【4,10】19.单选题:有以下程序片段,chars[]="1230456";inti=0;while(s[i]!='0'){i++;}s[i]=0;puts(s);程序运行后的输出结果是

选项:

A、1230456

B、123

C、1230

D、死循环

答案:【123】20.单选题:执行下面的程序段后,变量a中的值为inta=3,s[5]={'1','2',3};s[0]=a;a=s[2]*10;

选项:

A、0

B、30

C、20

D、存在语法错误

答案:【30】21.单选题:设a,s为int型变量,则下面循环语句执行后s的值?a=12345;while(a){s=s+a%10;a/=10;}printf("%d\n",s);

选项:

A、10

B、15

C、20

D、死循环

答案:【15】22.单选题:下面循环语句执行后sum的值?charc='0';intsum=0;do{sum+=c-'0';c++;}while(c<'5');

选项:

A、10

B、15

C、20

D、死循环

答案:【10】23.单选题:设j为int型变量,则下面循环语句的执行结果是j=8;while(j-->2);{j-=2;}printf("%d\n",j);

选项:

A、-2

B、-1

C、0

D、死循环

答案:【-1】24.单选题:设x和y均为int型变量,则执行下的循环后,x值为for(y=1,x=1;y<=10;y++){if(x>=6)break;if(x%2){x+=5;continue;}x-=3;}

选项:

A、2

B、4

C、6

D、8

答案:【6】25.单选题:有以下函数intfun(chart[]){inti=0,s=0;while(t[i]){s=s+t[i]-'0';i++;}returns;}执行如下代码片段后chars[]="12345";printf("%d",fun(s));程序运行后的输出结果是

选项:

A、6

B、10

C、15

D、20

答案:【15】26.单选题:有以下函数intfun(chart[],chars[]){inti=0;while((t[i]=s[i])!=0)i++;returni;}执行如下代码片段后chars[]="NEUC\0Programming";chart[100];fun(t,s);printf("%d",strlen(t));程序运行后的输出结果是

选项:

A、3

B、4

C、5

D、6

答案:【5】27.单选题:有以下程序#defineX1+2intmain(){inta=2,b=0;b=X*X/a;printf("%d\n",b);return0;}程序运行后的输出结果是

选项:

A、6

B、4

C、12

D、8

答案:【4】28.单选题:有以下程序片段,chars[]="123";inti=0,d=0;while(s[i]){d=d+s[i]-'0';i++;}printf("%d",i);程序运行后的输出结果是

选项:

A、6

B、123

C、3

D、4

答案:【3】29.单选题:有以下函数intf(inta){staticinti=2;returna%i++;}main(){ints[]={1,2,0,1,3,6,7,8},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf("%d\n",d);}程序运行后的输出结果是

选项:

A、1

B、2

C、3

D、无限循环

答案:【3】30.单选题:如下程序段enumdirection{left,right,up,down};enumdirectiona=left;printf("%d",a);输出结果为

选项:

A、left

B、1

C、0

D、存在语法错误

答案:【0】31.单选题:有以下函数intfun(intn){registerinti=0,s=0;for(;i<=n;i++)s=s+i;returns;}执行如下代码片段后inta=2;while(a<=5)a=fun(a);printf("%d\n",a);程序运行后的输出结果是

选项:

A、3

B、4

C、6

D、无限循环

答案:【6】[vk-content]32.单选题:有以下函数intadd(intp){intd=1;d+=p;returnd;}执行如下代码片段后inta=1;add(add(++a));printf("%d\n",a);程序运行后的输出结果是

选项:

A、1

B、2

C、3

D、4

答案:【2】33.单选题:若有声明语句:chara=20,b=128则表达式(a>b?a++:b++)的值为

选项:

A、128

B、129

C、-128

D、1

答案:【1】34.单选题:若a为int类型变量,初始值为0,则表达式a=(char)(255/2+1)的值是

选项:

A、127

B、128

C、0

D、-128

答案:【-128】35.单选题:若a为int类型变量,初始值为0,则表达式(int)(a=13,(double)a/3-1,++a)%3的值是

选项:

A、0

B、1

C、2

D、存在语法错误

答案:【2】36.单选题:阅读以下程序#includeintmain(){inta=2,b;floatc=a+2.0F,d=b+3F;printf("%f%f\n",c,d);return0;}该程序存在的错误,如下说法正确的是:

选项:

A、声明语句floatd=b+3F存在错误,3F为非法常量

B、声明语句inta=2,b出错,变量b未赋初值

C、printf("%f%f\n",c,d)应该改为printf("%d%d\n",c,d)

D、声明语句floatd=b+3F存在错误,变量b未赋初值

答案:【声明语句floatd=b+3F存在错误,变量b未赋初值】37.单选题:阅读以下程序#includeintmain(){chara='2',b;floatc=1.0F;scanf("%d%f%d",&a,&b,&c);printf("%d%f%d\n",a,b,c);return0;}该程序存在的错误,如下说法正确的是:

选项:

A、声明语句floatc=1.0F;语句错误,1.0F为非法常量

B、声明语句出错,变量b未赋初值

C、scanf("%d%f%d",&a,&b,&c)应该改为scanf("%c%c%f",&a,&b,&c),printf("%d%f%d\n",a,b,c)应改为printf("%c%c%f\n",a,b,c)

D、scanf("%d%f%d",&a,&b,&c)应该改为scanf("%d%d%f",a,b,c),printf("%d%f%d\n",a,b,c)应改为printf("%d%d%f\n",a,b,c)

答案:【scanf("%d%f%d",&a,&b,&c)应该改为scanf("%c%c%f",&a,&b,&c),printf("%d%f%d\n",a,b,c)应改为printf("%c%c%f\n",a,b,c)】38.单选题:如下关于C语言源程序的观点中不正确的是?

选项:

A、C语言源程序为文本文件,不能直接运行

B、构成一个可执行程序的C语言源程序文件可以有多个

C、构成一个可执行程序的C语言源程序文件中主函数可以main或Main

D、构成一个可执行程序的C语言源程序文件中只能有一个main函数

答案:【构成一个可执行程序的C语言源程序文件中主函数可以main或Main】39.单选题:以下选项中,合法的标识符的是

选项:

A、"Hello"

B、Double

C、a-b

D、456_an

答案:【Double】40.单选题:以下选项中,能用作C语言用户自定义标识符的是

选项:

A、bool

B、Auto

C、register

D、static

答案:【Auto】41.单选题:如下语句中,可以实现输出"Hi,NEU"是?

选项:

A、chara[]="Hi,NEU";printf("%s",a);

B、chara[5]="Hi,NEU";printf("%s",a);

C、chara[]='Hi,NEU';printf("%s",a);

D、chara="Hi,NEU";printf("%s",a);

答案:【chara[]="Hi,NEU";printf("%s",a);】42.单选题:有以下程序片段,inta,b;for(a=0,b=3;b--;a+=b);printf("%d,%d",b,a);程序运行后的输出结果是

选项:

A、-1,3

B、0,6

C、-1,6

D、-1,4

答案:【-1,3】43.单选题:已知'0'的ASCII码值为48,有以下程序片段chara='1',b='3',c='0';if(a=b)c=a++;elsec=b;printf("%d",c);程序的运行结果是

选项:

A、2

B、50

C、3

D、51

答案:【51】44.单选题:有以下程序片段,inta=0,b=1;while(b)a+=b--;程序运行后变量a的值是

选项:

A、0

B、1

C、3

D、死循环,无法计算结果

答案:【1】45.单选题:有以下程序片段,inta,b,c=2;if(a=1,b=2,a+=2){intc=1;b=c>2?5:c++;}printf("%d,%d",b,c);程序运行后的输出结果是

选项:

A、2,3

B、2,2

C、1,2

D、存在语法错误

答案:【1,2】46.单选题:有以下程序片段,intc=0,k=5;switch(k++){default:c+=k;break;case2:c++;case3:++c;case4:c+=2;break;}程序运行后c的值是?

选项:

A、3

B、4

C、5

D、6

答案:【6】47.单选题:以下程序片段inta=1,b=2,d=25;{inta=0;a=d/10||9;}b=a||(a>b);printf("%d,%d\n",a,b);程序运行后的输出结果是

选项:

A、2,1

B、1,0

C、1,1

D、存在语法错误

答案:【1,1】48.单选题:有以下程序片段,执行完后输出结果为inta=2,b=4;b=a<<4-2;printf("%d",b);

选项:

A、14

B、8

C、0

D、-2

答案:【8】49.单选题:已知如下结构体定义structnode{intid;structnode*next;};在主函数中,完成如下操作structnodenodes[5]={{1},{2},{3},{4},{5}};structnode*p;p=nodes+2;p->next=nodes;p=p->next;p->next=nodes+1;请问p->id的值是多少

选项:

A、1

B、2

C、3

D、4

答案:【1】50.单选题:已知函数intfun(intA[][3],intn)定义如下intfun(intA[][3],intn){inti,j;intpos=0;for(i=0;i<p=""><>for(j=0;j<3;j++)if(A[i][pos]<p=""><>pos=j;}intt=A[i][0];A[i][0]=A[i][pos];A[i][pos]=t;}}如下程序运行后A[2][0]的值为()intA[][3]={1,2,3,4,5,6,7,8,9};fun(A,2);

选项:

A、7

B、9

C、4

D、6

答案:【7】51.单选题:已知函数add(char*s,char*t)定义如下intadd(char*t,char*s){char*p=s;while(*t++=*s++)*t=*t+*s;returns-p;}此程序运行后输出结果为()chars[64]="1234";chart[128]="1234";add(t,s);puts(t);

选项:

A、1234

B、2468

C、13

D、24

答案:【1234】52.单选题:已知函数test(char*s,char*t)定义如下inttest(char*t,char*s){char*p=s;while(*t++=*s++)s++;returns-p;}如下程序,执行结果为()chars[64]="abcdefghijklmnopqrst";chart[128]="";test(t,s+2);puts(t);此程序运行后输出结果为()

选项:

A、abcdefghijklmnopqrst

B、acegikmoqs

C、bdfhjlnprt

D、存在逻辑错误,无法确保输出结果

答案:【acegikmoqs】53.单选题:下结构体已经定义如下structT{intid;unionX{intid;charname[100];}name;};则如下代码structT*p;printf("%d%d",sizeof(structT),sizeof(p));在64位操作系统下编译执行后,输出结果为

选项:

A、108108

B、104104

C、1088

D、1048

答案:【1048】54.单选题:如下函数fun定义如下int*fun(int**p){staticinta=100;return*p=&a;}则如下代码inta=1,b=2;int*p=&a;a++;p=fun(&p);执行后,*p的值为多少

选项:

A、1

B、2

C、100

D、101

答案:【100】55.单选题:已知如下宏定义#defineFUN(x,y)x+y*2则如下代码inta=1,b=2;intc=FUN(a,b*2);执行后,c的值为

选项:

A、9

B、8

C、7

D、存在语法错误

答案:【9】56.单选题:如下函数fun定义如下intfun(intA[][2],intn){inta=0,b=n*2-1;int*p=A[0];while(a<p=""><>*p=*p*2;p++;a++;}returna;}则如下代码intA[][2]={1,2,3,4,5,6};fun(A,3);执行后,A[2][1]的值为多少

选项:

A、2

B、4

C、6

D、8

答案:【6】57.单选题:文本文件“d:\\temp.tmp”已经存在,如果希望打开此文件后,对其第2行进行改写操作,则可行的打开模式是

选项:

A、fopen(“d:\\temp.tmp”,"w+")

B、fopen(“d:\\temp.tmp”,"wb+")

C、fopen(“d:\\temp.tmp”,"rb+")

D、fopen(“d:\\temp.tmp”,"r+")

答案:【fopen(“d:\\temp.tmp”,"r+")】58.单选题:已知函数intfun(int(*p)[3],intn){inti=0;for(i=0;i<p=""><>int*q=*p;*q=*q*2;p++;}returnn;}如下代码执行后A[2][0]]的值为()intA[3][3]={{2,3},{5,6,7},{8}};intn=3;n+=fun6(A,n);

选项:

A、5

B、8

C、10

D、16

答案:【16】59.单选题:已知函数intfun5(int*p,intn){inti=0;for(i=0;i<p=""><>returnn;}如下代码执行后A[2][0]]的值为()intA[3][3]={{2,3},{5,6,7},{8}};intn=3;n+=fun5(A,n);n+=fun5(A,n);

选项:

A、5

B、8

C、10

D、16

答案:【8】60.单选题:已知函数intfun4(intt[],ints[],intn){staticinti=0;while(i<p=""><>returni;}如下代码执行后B[4]的值为()intA[]={1,2,3,4,5,6,7,8,9,0};intB[10]={0};inti=0;fun4(B,A,2);fun4(B,A,5);

选项:

A、0

B、4

C、5

D、6

答案:【5】61.单选题:有如下宏定义#defineFUN(A,B,n)while(i<p=""><>如下代码执行后B[4]的值为()intA[]={1,2,3,4,5,6,7,8,9,0};intB[10]={0};inti=0;FUN(B,A,2);FUN(B,A,5);

选项:

A、0

B、4

C、5

D、6

答案:【5】62.单选题:已知如下结构体定义structnode{intid;structnode*next;};并已知函数structpointfun2(structpointp){p.x*=p.x;p.y*=p.y;p.z*=p.z;returnp;}在主函数中,完成如下操作structpointpoints[]={{0,0,0},{1,1,1},{2,2,2},{4,4,4}};inti=0;while(i<4)fun2(points[i++]);请问(points+2)->x的值是多少

选项:

A、1

B、2

C、4

D、16

答案:【2】63.单选题:有如下枚举类型定义enumdirection{right,left=100,forward,backward};则如下语句enumdirectiona=right;switch(a){caseright:a++;caseleft:a+=left;break;}printf("%d",a);的输出结果为

选项:

A、0

B、1

C、100

D、101

答案:【101】64.单选题:已定义共用体unionvar{chars[32];intn;floatf;doublee;};则如下说法正确的是

选项:

A、sizeof(unionvar)的值为48

B、sizeof(unionvar)的值为32

C、sizeof(unionvar)的值为4

D、sizeof(unionvar)的值为8

答案:【sizeof(unionvar)的值为32】65.单选题:已定义函数intfun(intx){staticinti=0;ints=0;while(i<p=""><>s=s+i;i++;}returns;}则如下语句的执行结果为intn=1;ints=0;while(n<5){s=s+fun(n++);}printf("%d",s);

选项:

A、10

B、15

C、20

D、6

答案:【6】66.单选题:定义函数intfun(char*t,char*s){staticinti=0;while(*(s+i)){*t=*(s+i);t++;s++;i++;}returni;}则如下语句的执行结果为chars[]="HelloNEU";chart[100]="MyCProgramming";fun(t,s);puts(t);

选项:

A、HelloNEU

B、HloE

C、HloErogramming

D、ello

答案:【HloErogramming】67.单选题:已定义数组chars[]="HelloNEU",执行如下语句后,char*p=s;inti=0;while(p[i]){putchar(p[i]);i++;p++;}输出结果为

选项:

A、HelloNEU

B、HloE

C、HNEU

D、ello

答案:【HloE】68.单选题:使用如下语句FILE*fp=fopen("abc.dat","w+");打开文件abc.dat后,如下描述中不正确的是?

选项:

A、如果abc.dat已经存在,则其内容会被清空

B、对abc.dat可以进行写操作,也可以进行读操作

C、对abc.dat可以进行追加操作,也可以进行写操作

D、如果abc.dat不存在,将自动创建此文件

答案:【对abc.dat可以进行追加操作,也可以进行写操作】69.单选题:相对于使用一维数组存储有序的集合,使用单向链表可获得那些好处,如下描述正确的是

选项:

A、更加节省存储空间

B、遍历集合的速度更快

C、删除元素速度更快

D、追加元素的速度更快

答案:【删除元素速度更快】70.单选题:有如下结构体数组定义structpoint{floatx,y,z;}s[3]={{1,2,3}};则如下语句的structpoint*p=s+1;printf("%d",++p->x);输出结果为

选项:

A、1

B、2

C、3

D、4

答案:【1】71.单选题:如下函数fun定义如下intfun(intA[],intn){inta=0,b=n-1;intt;while(a<p=""><>t=A[a];A[a]=A[b];A[b]=t;a++,b--;}returna;}则如下代码intA[]={1,2,3,4,5,6};fun(A,5);执行后,A[2]的值为多少

选项:

A、2

B、3

C、4

D、5

答案:【3】72.单选题:如下程序中sum函数的定义为intsum(intn){ints=0,i=0;while(n)s=s+n--;returns;}则如下代码ints=5;if(s)s=sum(s);执行后,s的值为多少

选项:

A、0

B、10

C、15

D、16

答案:【15】73.单选题:如下程序中sum函数的定义为sum(intn){ints=0,i=0;for(i=0;i<p=""><>s=s+i;returns;}则如下代码ints=0;if(s)s=sum(5);执行后,s的值为多少

选项:

A、sum函数定义错误

B、10

C、11

D、0

答案:【0】74.单选题:如下程序中,a已经声明,则如下程序的输出结果为staticinta;while(a++<10);printf("%d",a);

选项:

A、a未初始化,输出结果不确定

B、10

C、11

D、0

答案:【11】75.单选题:如下函数定义intfun(int*p,intn){int*t=p+n-1;intx;while(p<p=""><>x=*p,*p=*t,*t=x,p++,t--;}}则如下语句的输出结果为intA[10]={1,2,3,4,5,6,7,8,9,10};fun(A,10);printf("%d",A[6]);

选项:

A、4

B、5

C、6

D、7

答案:【4】76.单选题:如下语句的执行结果为intA[3][3]={{1,11,111},{2,22,222},{3,33,333}};int(*p)[3]=A;printf("%d",*(*(p+1)+1));

选项:

A、11

B、22

C、33

D、不确定的值

答案:【22】77.单选题:如下语句的执行结果为intA[3][3]={{1,11,111},{2,22,222},{3,33,333}};int*p[3];*p=A[0];printf("%d",*(*(p+1)+1));

选项:

A、11

B、22

C、2

D、不确定的值

答案:【不确定的值】78.单选题:有如下枚举类型定义enumdirection{right,left=100,forward=200,backward=300};则如下语句inta=100;switch(a){caseright:a++;caseleft:a+=left;break;}printf("%d",a);的输出结果为

选项:

A、100

B、200

C、300

D、101

答案:【200】79.单选题:如下程序实现素数(大于等于2,且除了1和自身之外没有因子自然数)的判定intmain(){intn=0;scanf("%d",&n);inti=0;for(i=2;i{if(n%i==0){break;}}if(e1){printf("%5d是素数",n);}return0;}则e1对应的表达式是?

选项:

A、n>i

B、i<p=""><>

C、i>=n

D、i>n

答案:【i>=n】80.单选题:如下程序实现完数(除自身之外因子之后等于自身的数)的判定intmain(){intn=0;scanf("%d",&n);inti=0,s=0;for(i=1;i{if(e1){s+=i;}}if(s==n){printf("%5disthenumber",n);}return0;}则e1对应的表达式是?

选项:

A、n/i

B、n%i

C、n%i==0

D、i%n==0

答案:【n%i==0】81.单选题:有以下程序intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);return0;}程序运行后的输出结果是

选项:

A、10

B、16

C、8

D、6

答案:【10】82.单选题:若有语句:char*name[5];以下叙述中正确的是

选项:

A、name是一个数组,每个数组元素是一个char*类型的指针变量

B、name是一个指针变量,该变量可以指向一个长度为5的字符型数组

C、name是一个指针数组,语句中的*号称为间址运算符

D、name是一个指向字符型函数的指针

答案:【name是一个数组,每个数组元素是一个char*类型的指针变量】83.单选题:有以下程序片段inta[]={1,2,3,4},y,*p=&a[2];p++;y=*p;printf("y=%d\n",y);程序的运行结果是

选项:

A、y=4

B、y=1

C、y=2

D、y=3A

答案:【y=4】84.单选题:设有如下程序段chars[20]="Bejing",*p=s;下叙述正确的是

选项:

A、可以用*p表示s[0]

B、s数组中元素的个数和p所指字符串长度相等

C、s和p都是指针变量

D、数组s中的内容和指针变量p中的内容相等

答案:【可以用*p表示s[0]】85.单选题:假设fp为FILE*指针变量,如下代码执行后,char*s1="China",*s2="Beijing";FILE*fp=NULL;fp=fopen("abc.dat","wb");fwrite(s2,7,1,fp);rewind(fp);fwrite(s1,5,1,fp);fclose(fp);文件abc.dat的内容是

选项:

A、Chinang

B、China

C、ChinaBeijing

D、BeijingChina

答案:【Chinang】86.单选题:下面结构体的定义如下:structstudent{charname[32];structdate{intday;intmonth;intyear;}birthday;};错误的初始化语句是:

选项:

A、structstudents1={'Li',1,1,2000};

B、structstudents1={"Li",{1,1,2000}};

C、structstudents1={"Li",1,1,2000};

D、structstudents1={"Li",1,1};

答案:【structstudents1={'Li',1,1,2000};】87.单选题:有如下结构体数组定义structstudent{charname[16];intmath;floatprogramming;}s[3]={{"LiMing",80,90.5},{"Joe",80,90.5},{"John",80,90.5}};则puts((s+1)->name+1))的输出

选项:

A、LiMing

B、Joe

C、oe

D、80

答案:【oe】88.单选题:设有定义:struct{charname[16];intmath;floatprogramming;}x1,x2;若变量均已正确赋初值,则以下语句中错误的是

选项:

A、x1=x2;

B、=;

C、x1.math=x2.math;

D、gramming=gramming;

答案:【=;】89.单选题:有如下宏定义#defineA(x)2*x+10#defineT(x)A(x)*x则表达式T(2+1)的值为

选项:

A、26

B、36

C、48

D、27

答案:【26】90.单选题:下程序的功能是intfun(intx){if(x==0||x==1)returnx;elsereturnx+fun(x-1);}

选项:

A、计算x的阶乘

B、计算1+2+...+x的和

C、计算x的幂

D、不确定

答案:【计算1+2+...+x的和】91.单选题:如下函数计划通过函数返回值统计函数被调用次数,则e1对应声明语句为intfun(intx){e1++n;returnn;}

选项:

A、staticintn=1;

B、intn=0;

C、intn=1;

D、staticintn=0;

答案:【staticintn=0;】92.单选题:如下调用strcpy实现将s指向的字符串拷贝到t中,则e1对应声明语句为intmain(){char*s="Hello";e1strcpy(t,s);puts(t);return0;}

选项:

A、chart[];

B、chart[0];

C、chart[1024];

D、char*t;

答案:【chart[1024];】93.单选题:如下函数实现字符串拷贝(从s指向数组拷贝到t指向数组)intmstrcpy(char*t,char*s){char*p=t;while(e1);returnp-t-1;}则e1对应的表达式是?

选项:

A、(*p)++=(*s)++

B、p++=s++

C、*p++=*s++

D、++(*p)=++(*s)

答案:【*p++=*s++】94.单选题:如下函数实现字符串长度计算intmstrlen(char*s){char*p=s;while(*p++);returne1;}则e1对应的表达式是?

选项:

A、p-s

B、s-p

C、p-s-1

D、p-s+1

答案:【p-s-1】95.单选题:对于如下结构体定义structnode{intid;structnode*next;}a;若声明如下变量structnode*p;在32位系统中,不可以实现创建链表节点的操作是

选项:

A、p=(structnode*)malloc(sizeof(structnode));

B、p=(node*)malloc(sizeof(node));

C、p=(structnode*)malloc(sizeof(a));

D、p=(structnode*)malloc(8);

答案:【p=(node*)malloc(sizeof(node));】96.单选题:关于如下结构体structnode{intid;structnodenext;};如下说法正确的是

选项:

A、node为数据类型

B、sizeof(structnode)的值为8

C、此结构体定义存在错误

D、struct可以省略

答案:【此结构体定义存在错误】97.单选题:关于如下结构体说法正确的是structnode{intid;structnode*next;};

选项:

A、node为数据类型

B、next指向下一个结构体变量的地址

C、此结构体定义存在错误

D、struct可以省略

答案:【next指向下一个结构体变量的地址】98.单选题:下面程序structpoint{floatarray[3];};intmain(){structpointpoints[5]={1,2,3,4,5,6,7};printf("%.0f",points[1].array[0]);}执行结果为

选项:

A、1

B、2

C、3

D、4

答案:【4】99.单选题:对于如下结构体定义structpoint{floatx,y,z;}p1={1,2,3},p2={4,5,6},p3;如下语法正确的表达式

选项:

A、p3=p2+p1

B、p3=p2+1

C、scanf("%v",&p3);

D、p2=p1

答案:【p2=p1】100.单选题:下面程序structpoint{floatx,y,z;};structpointmid(structpointp1,structpo

温馨提示

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

评论

0/150

提交评论