版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【MOOC】C语言程序设计(下)-北京理工大学中国大学慕课MOOC答案小测验1:1、【单选题】C语言是由()构成。本题答案:【一个主函数和若干功能函数】2、【单选题】以下对C语言函数的有关描述中,正确的是()。本题答案:【调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参】3、【单选题】以下说法中正确的是()。本题答案:【C语言程序总是从main()函数开始执行】小测验2:1、【单选题】C语言程序中,如果变量做函数参数,则当函数调用时()。本题答案:【实参和形参各占一个独立的存储单元】2、【单选题】一个函数返回值的类型是由()决定的。本题答案:【定义函数时指定的函数类型】3、【单选题】在C语言的函数中,下列正确的说法是()。本题答案:【可以有也可以没有形参】小测验31、【单选题】若函数的形参为一维数组,则下列说法中正确的是()。本题答案:【形参数组可以不指定大小】2、【单选题】若调用一个函数,且此函数中没有return语句,则正确的说法是()。本题答案:【该函数返回一个不确定的值】3、【单选题】在函数的说明和定义时若没有指出函数的类型,则()。本题答案:【系统自动地认为函数的类型为整型】4、【单选题】下面叙述中正确的是()。本题答案:【对于用户自己定义的函数,在使用前必须加以说明】5、【单选题】C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是()。本题答案:【int型】第一周编程作业小测验11、【单选题】在下列结论中,有一个是错误的,它是()本题答案:【有些递归程序是不能用非递归算法实现的】2、【单选题】如果有个递归函数是求2*4*6*……*(2n)的积,则递归的公式和条件可以表达为()本题答案:【f(n)=2*n*f(n-1)边界条件当n==1f(n)=2】小测验21、【单选题】一段楼梯有N阶,可以一次上1阶,也可以一次上2阶,用递归函数调用实现,计算多少种走法。则递归公式和边界条件是()本题答案:【f[n]=f[n-1]+f[n-2]边界条件当n=1f[1]=1,当n=2f[2]=2】2、【单选题】一只小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一个;第二天吃了剩下水果的一半,又多吃了一个;依次类推….到第十天,发现只剩下了10个水果,请问这只猴子到底摘了多少个水果?写成递归函数。本题答案:【】第二周编程作业小测验11、【单选题】在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是()本题答案:【extern】2、【单选题】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为()本题答案:【静态变量】小测验21、【单选题】以下程序的输出结果是:intf(inta){autointb=0;staticintc=3;b++;c++;returna+b+c;}main(){intc,a=1;for(c=1;c3;c++)printf(“%3d”,f(a));}本题答案:【67】2、【单选题】以下程序的输出结果是:voidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j2);}main(){intk,a[10]={1,2,3,4,5};for(k=1;k3;k++)fun(a);for(k=0;k5;k++)printf(“%d”,a[k]);}本题答案:【35745】小测验31、【单选题】以下程序的输出结果是:#defineADD(x)x+xmain(){intm=1,n=2,k=3,sum;sum=ADD(m+n)*k;printf(“sum=%d\n”,sum);}本题答案:【sum=10】2、【单选题】以下程序的输出结果是:#defineN1#defineMN+2#defineNUM2*M+1main(){inti;for(i=1;i=NUM;i++)printf(“%3d”,i);}本题答案:【12345】3、【单选题】已知宏定义#defineN3#defineY(n)((N+1)*n)执行语句z=2*(N+Y(5+1));后,z的值是()。本题答案:【48】第三周编程作业小测验11、【单选题】若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是。本题答案:【p1=m;p2=p1;】2、【单选题】以下叙述中正确的是。本题答案:【指针定义后,可以指向同类型的任何变量。】3、【单选题】变量的指针,其含义是指该变量的。本题答案:【地址】小测验21、【单选题】如果有定义inta[30],*p=a;则数组a中下标为i的元素的地址为。本题答案:【p+i】2、【单选题】若有如下定义,则________是对数组元素的正确的引用。inta[10],*p=a;本题答案:【*a[0]】3、【单选题】若有定义:intx[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是。本题答案:【p1=x+2,*(p1++)】小测验31、【单选题】下面函数的功能是。strlen1(char*s){char*p=s;while(*p!=‘\0’)p++;returnp-s;}本题答案:【字符串求长度】2、【单选题】已知inta[]={1,3,5,7},y,*p=a;为了使变量y的值为3,下列语句正确的是。本题答案:【y=(*++p)++;】3、【单选题】下面函数的功能是。void(char*s1,char*s2){while(*s2++=*s1++);}本题答案:【字符串复制】第四周编程作业小测验11、【单选题】运行以下程序时输入HELLOWORLDCR(CR代表Enter键),则输出的结果是()#includestdio.hcharfun(char*c){if(*c='Z'*c='A')*c-='A'-'a';return*c;}intmain(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}putchar(“\n“);return0;}本题答案:【helloworld】2、【单选题】以下程序输出的结果是()#includestdio.h#includestring.hvoidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1p2){s=*p1++;*p1=*p2--;*p2=s;}}main(){chara[]=1234567;fun(a,strlen(a));puts(a);}本题答案:【1711717】3、【单选题】库函数strcpy用以复制字符串。若有以下定义和语句:charstr1[]=GREETING,str2[8],*str3,*str4=GREETING;则对库函数strcpy的不正确调用是()本题答案:【strcpy(str3,HELLO3);】小测验21、【单选题】下面程序的运行结果是()intmain(){intaa[3][3]={{2},{4},{6}},i,*p=aa[0][0];for(i=0;i2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf(%d,*p);}printf(\n);return0;}本题答案:【23】2、【单选题】若有定义语句int(*p)[M];其中的标识符是()本题答案:【一个指向具有M个整型元素的一维数组指针】3、【单选题】下面程序的运行结果是()intmain(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int(*p)[4]=a,i,j,k=0;for(i=0;i3;i++)for(j=0;j2;j++)k+=*(*(p+i)+j);printf(%d\n,k);return0;}本题答案:【60】第五周编程作业小测验11、【单选题】以下程序的输出结果是():#includestdio.hintfuna(inta,intb){returna+b;}intfunb(inta,intb){returna-b;}intsub(int(*t)(int,int),intx,inty){return(*t)(x,y);}intmain(){intx,(*p)(int,int);p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf(%d\n,x);}本题答案:【17】2、【单选题】若有以下说明和定义,则对fun函数的正确调用语句是()intmain(){int(*a)(int*),*b(),w[10],c;::return0;}intfun(int*c){...}本题答案:【a=fun;(*a)(c);】3、【单选题】以下程序的输出结果是():voidfun(intn,int*s){intf1,f2;if(n==1||n==2)*s=1;else{fun(n-1,f1);fun(n-2,f2);*s=f1+f2;}}intmain(){intx;fun(6,x);pirntf(%d\n,x);return0;}本题答案:【8】小测验21、【单选题】下面程序运行结果():intmain(){charch[2][5]={6937,8254},*p[2];inti,j,s=0;for(i=0;i2;i++)p[i]=ch[i];for(i=0;i2;i++)for(j=0;p[i][j]'\0'p[i][j]='9';j+=2)s=10*s+p[i][j]-'0';printf(%d\n,s);return0;}本题答案:【6385】2、【单选题】以下程序的输出结果是():intmain(){char*p[]={PROGRAM,BASIC,C,JAVA};inti;for(i=3;i=0;i--,i--)printf(%c,*p[i]);printf(\n);return0;}本题答案:【JB】3、【单选题】以下程序运行结果是():intmain(){char*alpha[6]={ABCD,EFGH,IJKL,MNOP,QRST,UVWX};char**p;inti;p=alpha;for(i=0;i6;i=i+2)printf(%s,*(p+i));printf(\n);return0;}本题答案:【ABCDIJKLQRST】第六周编程作业小测验11、【单选题】以下定义错误的是()。本题答案:【structcs{intx;inty;};】2、【单选题】当定义一个结构体变量时,系统为它分配的内存空间是()。本题答案:【结构中各成员所需内存容量之和】小测验21、【单选题】定义以下结构体类型structc{intx;floaty;}a[3]sizeof(a)的结果是()。本题答案:【6】2、【单选题】定义以下结构体数组structc{intx;inty;}s[2]={1,3,2,7}语句printf(“%d”,s[0].x*s[1].x)的输出结果为()。本题答案:【2】小测验41、【单选题】有以下程序段structst{intx;int*y;}*pt;inta[]={1,2};intb[]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式为11的是()。本题答案:【++pt-x】2、【单选题】运行下列程序段,输出结果是()。structcountry{intnum;charname[10];}x[5]={1,”China”,2,”USA”,3,”France”,4,”England”,5,”Spanish”};structcountry*p;p=x+2;printf(“%d,%c”,p-num,(*p).name[2]);本题答案:【3,a】小测验41、【单选题】以下哪种方式进行结构体数据的传递是错误的()?本题答案:【通过结构体类型的引用】小测验51、【单选题】以下说法错误的是()。本题答案:【联合与结构的初始化方法是一样的】第七周编程作业小测验11、【单选题】设有如下说明typedefstructDATA{inta;longb;}OLD;则下列叙述中正确的是()本题答案:【OLD是一个结构体类型】2、【单选题】有如下说明typedefint(*p)[9],p的含义是()本题答案:【一个指向数组的指针】小测验2:1、【单选题】定义以下枚举类型enumname{zhang=2,wang=4,li=6,chen};则枚举量chen的值为()本题答案:【7】2、【单选题】下面程序输出结果是()#includestdio.hmain(){enumname{a,b=2,c,d=c+10};printf(“%d%d%d%d”,a,b,c,d);}本题答案:【02313】小测验3:1、【单选题】下述哪一条是顺序存储结构的优点?()本题答案:【存储密度大】2、【单选题】链表不具有的特点是()本题答案:【可随机访问任一元素】小测验4:1、【单选题】在一个以h为头的单循环链中,p指针指向链尾的判断条件是()本题答案:【p^.next=h】2、【单选题】非空的循环单链表head的尾结点p↑满足()。本题答案:【p↑.link=head】3、【单选题】在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。本题答案:【s-next=p-next;p-next=s;】第八周编程作业小测验11、【单选题】关于文件理解不正确的为()本题答案:【系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区;】2、【单选题】关于二进制文件和文本文件描述正确的为()本题答案:【二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;】小测验1、【单选题】系统的标准输入文件操作的数据流向为本题答案:【从键盘到内存】2、【单选题】文件指针指向的概念正确的是本题答案:【文件缓冲区结构的首地址】小测验1、【单选题】若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是本题答案:【wb+】2、【单选题】利用fopen(fname,mode)函数实现的操作不正确的为本题答案:【若找不到由fname指定的相应文件,则按指定的名字建立一个新文件;】小测验1、【单选题】函数fgets(chars[],intsize,FILE*fp)的说法正确的是本题答案:【该函数最多可以一次读取size个字符组成的字符串】2、【单选题】利用fwrite(buffer,sizeof(Student),3,fp)函数描述不正确的本题答案:【返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;】小测验1、【单选题】若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是。fseek(fp,0,2);i=ftell(fp);printf(i=%ld\n,i);本题答案:【fp所指文件的长度,以字节为单位】2、【单选题】以下操作正确的情况下,指针不能确保指在首地址的是本题答案:【ftell(fp)】小测验1、【单选题】检查由fp指定的文件在读写时是否出错的函数是本题答案:【ferror(fp)】第九周编程作业小测验11、【单选题】下列不属于C语言中关键字的是()本题答案:【print】2、【单选题】若inti=10;执行下列程序后,变量i的正确结果是()switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}本题答案:【13】3、【单选题】以下选项中合法的字符常量是()本题答案:【‘\n’】4、【单选题】若int类型数据占2个字节,则unsignedint类型数据的取值范围是()本题答案:【0~65535】5、【单选题】能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()本题答案:【a=10‖a=0】6、【单选题】若有以下数组说明,则i=10;a[a[i]]元素数值是()本题答案:【6】7、【单选题】语句while(!y);中的表达式!y等价于()本题答案:【y==0】8、【单选题】以下对一维数组a的正确说明是()本题答案:【chara[3]={‘a’,’b’,’c’};】9、【单选题】以下对结构变量stul中成员age的非法引用是()structstudent{intage;intnum;16}stu1,*p;p=stu1;本题答案:【student.age】10、【单选题】对于同类型的指针变量,不可能进行的运算是()本题答案:【+】第十周编程作业单项选择题1、【单选题】若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是()本题答案:【(*p)(a,b)】2、【单选题】设已有定义:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列语句中正确的是()本题答案:【for(p=a;p(a+10);p++)】3、【单选题】以下描述不正确的是()本题答案:【在函数中,只要说明了变量,就可为其分配存贮单元】4、【单选题】在调用函数时,如果实参和形参都是数组名,实参与对应形参之间的数据传递方式是()本题答案:【地址传递】5、【单选题】以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()main(){int*p,*q,a,b;p=a;printf(“inputa:”);scanf(“%d”,*p);……}本题答案:【*p表示的是变量a的值,而不是变量a的地址】6、【单选题】若有语句int*point,a=4;和point=a;下面均代表地址的一组选项是()本题答案:【a,*point,point】7、【单选题】如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量()本题答案:【为局部变量,只在该复合语句中有效】8、【单选题】若函数调用时参数为基本数据类型的变量,以下叙述正确的是()本题答案:【实参与对应的形参分别占用不同的存储单元】9、【单选题】若有以下调用语句,则正确的f函数首部是()main(){…..inta;floatx;…..f(x,a);…..}本题答案:【voidf(floata,intx)】10、【单选题】设typedefchar*POINT;POINTp,q[3];,则p和q分别是字符型的()本题答案:【指针变量、一维指针数组】11、【单选题】若有以下说明语句:structdate{intyear;intmonth;intday;}brithday;则下面的叙述正确的是()本题答案:【struct是声明结构体类型时用的关键字】12、【单选题】若有以下说明和语句,则值为6的表达式是()structst{intn;structst*next;};structsta[3],*p;a[0].n=5;a[0].next=a[1];a[1].n=7;a[1].next=a[2];a[2].n=9;a[0].next='\0';p=a[0];本题答案:【++p-n】13、【单选题】当定义一个结构体变量时,系统为它分配的内存空间是()本题答案:【结构中各成员所需内存容量之和】14、【单选题】设有定义:structs{charID[5];charname[10];floatscore[3];floatav;}stu[3];以下正确的赋值语句是()本题答案:【strcpy(stu[0].name,”wang”)】15、【单选题】已知union{inti;charc;floata;}test;则sizeof(test)的值是_____(intcharfloat分别占2、1、4个字节)本题答案:【4】16、【单选题】文本文件file.txt中的内容是字符串“TodayisMonday”,若定义FILE*fp;charstr[80];指向如下语句fp=fopen(“file.txt”,”r”);fscanf(fp,”%s”,str);之后,数组str中的内容是()本题答案:【Today】17、【单选题】若文本文件中的内容是\\\22abcdefg,调用库函数fgets(s,8,f)后的结果是()本题答案:【从文件f中读处\\\22ab字符串存入指针s所指的内存】18、【单选题】以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()本题答案:【rewind(fp)】19、【单选题】C语言中系统的标准输入文件是指()本题答案:【键盘】20、【单选题】关于C语言文件理解正确的是()本题答案:【每一个打开的文件都和文件结构体变量关联,程序通过该变量访问文件】21、【单选题】下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再存放一个空格,例如字符串s为abcdefg,则字符串t为abcdefg,请选择填空。#includestdio.h#includestring.hmain(){intj,k=0;chars[60],t[100],*p;p=s;gets(p);while(*p){for(j=1;j=3*p;【1】)t[k]=*p;if(j==4){t[k]='';k++;}}【2】;puts(t);}其中【1】选择为()本题答案:【p++,k++,j++】22、【单选题】下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再存放一个空格,例如字符串s为abcdefg,则字符串t为abcdefg,请选择填空。#includestdio.h#includestring.hmain(){intj,k=0;chars[60],t[100],*p;p=s;gets(p);while(*p){for(j=1;j=3*p;【1】)t[k]=*p;if(j==4){t[k]='';k++;}}【2】;puts(t);}其中【2】选择为()本题答案:【t[k]='\0'】23、【单选题】以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【1】选择为()H、typedefN10本题答案:【#defineN10】24、【单选题】以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【2】选择为()本题答案:【jN】25、【单选题】以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【3】选择为()本题答案:【k!=i】26、【单选题】以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。age(intn){intc;if(n==1)c=10;elsec=【1】;return(c);}main(){intn=5;printf(age:%d\n,【2】);}其中【1】选择为()本题答案:【2+age(n-1)】27、【单选题】以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。age(intn){intc;if(n==1)c=10;elsec=【1】;return(c);}main(){intn=5;printf(age:%d\n,【2】);}其中【2】选择为()本题答案:【age(5)】28、【单选题】从键盘输入若干行字符,输入后把他们存储到一磁盘文件中。在从该文件中读出这些数据,将其中的小写字母转换成大写字母后在屏幕上输出。#includestdio.h#defineN100main(){FILE*fp;charc,*p,s[N][20];inti,n;printf(n=);scanf(%d,n);if(n1||nN)exit(0);printf(Input%dstring:\n,n);for(i=0;in;i++)scanf(%s,s[i]);fp=fope
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 开封市2024年河南省开封市事业单位联考招聘565名笔试历年参考题库典型考点附带答案详解
- 广西壮族自治区2024广西大学招聘硕士学位非教师专业技术岗位人员15人笔试历年参考题库典型考点附带答案详解
- 广州市2024年4月广东广州市越秀区青年志愿者协会招聘2人笔试历年参考题库典型考点附带答案详解
- 崇明区2024上海崇明区文化旅游公共服务中心招聘3人笔试历年参考题库典型考点附带答案详解
- 山东省2024山东大学辅导员招聘25人笔试历年参考题库典型考点附带答案详解
- 定海区2024上半年浙江舟山市定海区机关事务管理中心第二批招聘编外用工人员1人公笔试历年参考题库典型考点附带答案详解
- 宁夏2026年度内蒙古自治区事业单位公开招聘工作人员笔试历年参考题库典型考点附带答案详解
- 始兴县2023广东韶关市始兴县行政服务中心招聘综合服务窗口工作人员1人笔试历年参考题库典型考点附带答案详解
- 2025铁路上海12306旅客服务中心客户服务实习生招聘笔试历年参考题库附带答案详解
- 2025江西吉安市吉水县吉瑞农贸有限公司面向社会招聘1名营业员笔试历年参考题库附带答案详解
- 基于杜邦分析法的吉利控股集团的盈利能力分析
- 1.1.3集合的基本运算 教学课件 高中数学北师大版必修第一册
- 苹果树上的外婆700字(14篇)
- 智算中心项目资金申请报告(范文模板)
- 设计语言教学课件
- 招标投标动态管理办法
- 深圳市快递车辆管理办法
- 2025年江苏省苏州市中考物理真题(含答案)
- 新疆和山巨力化工有限公司15万t-aTDI项目环评报告
- 2025年希望杯IHC真题-六年级(含答案)
- JT-T1508-2024公路工程施工现场安全防护技术要求宣贯
评论
0/150
提交评论