MOOC C语言程序设计进阶-浙江大学 中国大学慕课答案_第1页
MOOC C语言程序设计进阶-浙江大学 中国大学慕课答案_第2页
MOOC C语言程序设计进阶-浙江大学 中国大学慕课答案_第3页
MOOC C语言程序设计进阶-浙江大学 中国大学慕课答案_第4页
MOOC C语言程序设计进阶-浙江大学 中国大学慕课答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

MOOCC语言程序设计进阶-浙江大学中国大学慕课答案小测验1.11、问题:对于:inta[]={5,15,34,54,14,2,52,72};int*p=a[5];则:p[-2]的值是?选项:A、编译出错,因为数组下标越界了B、运行出错,因为数组下标越界了C、54D、2正确答案:【54】2、问题:如果:inta[]={0};int*p=a;则以下哪些表达式的结果为真?选项:A、p==a[0]B、p==a[0]C、*p==a[0]D、p[0]==a[0]正确答案:【p==a[0]#*p==a[0]#p[0]==a[0]】3、问题:以下变量定义:int*p,q;中,p和q都是指针。选项:A、正确B、错误正确答案:【错误】4、填空题:对于:inta[]={5,15,34,54,14,2,52,72};int*p=a[1];则:p[2]的值是?正确答案:【54】小测验1.21、问题:对于以下代码段,正确的说法是:char*p;while(1){p=malloc(1);*p=0;}选项:A、最终程序会因为没有没有空间了而退出B、最终程序会因为向0地址写入而退出C、程序会一直运行下去D、程序不能被编译正确答案:【最终程序会因为向0地址写入而退出】2、问题:对于以下代码段:inta[]={1,2,3,4,5,};int*p=a;int*q=a[5];printf(%d,q-p);当sizeof(int)为4时,以下说法正确的是:选项:A、因为第三行的错误不能编译B、因为第三行的错误运行时崩溃C、输出5D、输出20正确答案:【输出5】3、问题:使用malloc就可以做出运行时可以随时改变大小的数组选项:A、正确B、错误正确答案:【错误】第1周编程题小测验1、问题:有下列代码段,则输出结果是:struct{intx,y;}s[2]={{1,3},{2,7},};printf(%d\n,s[0].y/s[1].x);选项:A、0B、1C、2D、3正确答案:【1】2、问题:有如下变量定义,则对data中的a的正确引用是:structsk{inta;floatb;}data,*p=data;选项:A、(*p).data.aB、(*p).aC、p-data.aD、p.data.a正确答案:【(*p).a】3、问题:以下两行代码能否出现在一起?struct{intx;inty;}x;struct{intx;inty;}y;选项:A、正确B、错误正确答案:【正确】第4周编程练习小测验1、填空题:假设宏定义:#defineDOUBLE(x)2*x则DOUBLE(1+2)的值是正确答案:【4】2、填空题:假设宏定义如下:#defineTOUPPER(c)('a'=(c)(c)='z'?(c)-'a'+'A':(c))设s是一个足够大的字符数组,i是int型变量,则以下代码段的输出是:strcpy(s,abcd);i=0;putchar(TOUPPER(s[i]));正确答案:【A】期末试卷1、问题:关于函数指针,以下说法错误的是:选项:A、通过函数指针调用函数的时候不能传递参数B、函数指针可以作为参数传给一个函数C、通过函数指针可以调用一个函数D、函数的名字就是函数的指针值,可以赋给函数指针变量正确答案:【通过函数指针调用函数的时候不能传递参数】2、问题:若定义chars[2][3]={“ab”,“cd”},*p=(char*)s;那么下列表达式语法正确,并且其值与s[1][1]相等的表达式(并非一定与其等价)是选项:A、*++p+2B、*(p+4)C、*(s+3)D、*s+2E、p[1][1]F、*(p+3)正确答案:【*++p+2#*(p+4)】3、问题:要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确实现此功能的函数是选项:A、voidfuna(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}B、voidfuna(int*x,int*y){intt=*x;*x=*y;*y=t;}C、voidfuna(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}D、voidfuna(intx,inty){intt;t=x;x=y;y=t;}E、intfuna(int*x,int*y){*x=*y;*y=*x;}正确答案:【voidfuna(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}#voidfuna(int*x,int*y){intt=*x;*x=*y;*y=t;}】4、问题:对于如下定义:intk,a[10],*p=a;哪个表达式是不正确的选项:A、a++B、p++C、a[0]=kD、p[0]=kE、*p++=2正确答案:【a++】5、问题:下列描述不正确的是选项:A、静态本地变量定义在函数外部B、全局变量定义在函数内部C、全局变量定义在函数外部D、本地变量定义在函数内部E、静态本地变量分配在全局变量所在的地方正确答案:【静态本地变量定义在函数外部#全局变量定义在函数内部】6、问题:有如下定义:intx[]={1,2,3},*p=x,y;则y=*p++;相当于_____选项:A、y=x[0],p++B、y=*p,p++C、y=1,x++D、y=*(p+1),p=p+1E、y=2,p=x[1]F、y=2,p=x+1正确答案:【y=x[0],p++#y=*p,p++】7、问题:若声明函数int*func(void);则函数fun的返回值为:选项:A、一个指向整型变量的指针B、一个整数C、一个指向整型函数的指针D、一个整型函数的入口地址正确答案:【一个指向整型变量的指针】8、问题:关于#include,以下说法正确的是B、includexx.h只在编译器被指定的目录中搜索xx.hD、includexx.h只在当前目录搜索xx.hF、includestdio.h就把stdio库引入到了程序中H、includexx是错误的,因为没有了.h后缀正确答案:【#includexx.h只在编译器被指定的目录中搜索xx.h】9、问题:根据以下定义,哪个scanf的使用是不正确的:structpupil{charname[20];intage;};选项:A、scanf(“%d”,p-age);B、scanf(“%s”,pup[0].name);C、scanf(“%d”,pup[0].age);D、scanf(“%d”,(p-sex));正确答案:【scanf(“%d”,p-age);】10、问题:与while(*s++=*t++);等价的程序段是选项:A、do{*s=*t++;}while(*s++);B、while(*t)*s++=*t++;C、do{*s++=*t++;}while(*t);D、while(*s)*s++=*t++;正确答案:【do{*s=*t++;}while(*s++);】11、问题:有以下结构体说明和变量定义,指针p、q、r依次指向一个链表中的三个连续结点。structnode{intdatastructnode*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;正确答案:【r-next=q;q-next=r-next;p-next=r;】12、问题:有以下程序voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,w);fprintf(fp,%s,str);fclose(fp);}intmain(){WriteStr(t1.dat,start);WriteStr(t1.dat,end);return0;}程序运行后,文件t1.dat中的内容是选项:A、endB、startendC、startD、endrt正确答案:【end】13、问题:当文件打开出现错误时,fopen返回的是?选项:A、0B、NULLC、-1D、EOFE、1F、随机数G、没有返回就导致程序退出了正确答案:【0#NULL】14、问题:在一个链表中,要把s所指的一个结点插入到p所指的一个结点后面去,正确的语句是:选项:A、s-next=p-next;p-next=s;B、s-next=p;p-next=s;C、s-next=p?-next;p=s;D、p-next=s;s-next=p;正确答案:【s-next=p-next;p-next=s;】15、问题:以下哪个函数是不正确的(与能否被编译无关)?选项:A、int*f(int*p){inti;returni;}B、int*f(int*p){returnp;}C、int*f(int*p){return(int*)malloc(sizeof(int));}D、int*f(int*p){returnNULL;}正确答案:【int*f(int*p){inti;returni;}】16、问题:执行下列代码后变量t的值是_____.#definefun(a)4*a;intt;t=fun(1+2);选项:A、6B、2C、4D、8E、10F、12正确答案:【6】17、问题:若有定义struct{intk;chars[30];}a[5]={1,ABC,2,abc},*p=a;那么表达式*(p++)-s的值是_______.选项:A、'A'B、'a'C、'B'D、ABCE、abc正确答案:【'A'】18、问题:给定函数原型如下:int*f(int*p);而变量定义如下:inti;选项:A、f((i+6));B、f(i);C、*f(i)=6;D、int*p=f(i);正确答案:【f((i+6));】19、问题:有以下代码片段:struct{union{chara,b;intc;}d;inte[5];}f,*p=&f;那么,下列语句哪个是能被编译的:选项:A、p-e[3]=10;B、p-b='';C、p.d.a='*';D、p-d-c=20;正确答案:【p-e[3]=10;】20、问题:有函数原型为voidf(int,int*);,主函数中有变量定义:inta=2,*p=&a;则下列函数调用正确的是选项:A、f(*p,&a);B、f(a,p);C、f(*p,p);D、f(a,&a);E、f(a,*p);F、f(a,&p);G、f(*p,a);H、f(p,a);正确答案:【f(*p,&a);#f(a,p);#f(*p,p);#f(a,&a);】21、问题:若定义intk,a[10],*p=a;那么下面表达式不能被编译的是_______.选项:A、a++;B、p++;C、a[0]=k;D、p[0]=k;正确答案:【a++;】22、问题:用typedef来定义一个函数指针类型PunPtr,它表示的是指向形如voidfunc(intx)的函数,以下正确的表达是:选项:A、typedefvoid(*FunPtr)(int);B、typedefFunPtrfun(intx);C、typedefvoidFunPtr(intx);D、typedefvoid(*FunPtr)();正确答案:【typedefvoid(*FunPtr)(int);】23、问题:在课程的图形库中,关于printf的问题,以下说法正确的是:选项:A、如果调用了InitConsole()函数,printf会显示在专门的终端窗口上,否则不会输出任何东西。B、printf不会输出任何东西C、printf会在图形窗口的当前位置显示内容D、printf会自动打开一个文本窗口显示内容正确答案:【如果调用了InitConsole()函数,printf会显示在专门的终端窗口上,否则不会输出任何东西。】24、填空题:表达式!!”2010-01-27”的值为(以1表示真,0表示假)正确答案:【1】25、填空题:下列程序段的输出是_______。#defineDF(a,b)(a+2*b)ints=5;intk=DF(s+1,s-3);printf(%d,k);正确答案:【13】26、填空题:以下代码段的输出是:intx,y,z,w;voidp(int*y,intx){staticintw;*y++;x++;w=x+*--y;printf(%d#%d#%d#%d#,x,*y,z,w);}intmain(void){intx,y,z,w;x=y=z=w=1;do{staticintx;p(x,y);printf(%d#%d#%d#%d#,x,y,z,w);}while(0);return0;}正确答案:【2#0#0#2#0#1#1#1#】27、填空题:假设sizeof(int)的值为4,对数组定义:inta[3][6];则sizeof(a[0])的值为______。正确答案:【24】28、填空题:写出表示“当x的取值在[-10,0]的范围内,结果为真,否则为假”的C语言表达式,注意不要任何空格正确答案:【x>=-10&&x<=0##%_YZPRLFH_%##x=-10##%_YZPRLFH_%##!(x0)】29、填空题:若

温馨提示

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

评论

0/150

提交评论