MOOC C语言程序设计(下)-北京理工大学 中国大学慕课答案.pdf
《MOOC C语言程序设计(下)-北京理工大学 中国大学慕课答案.pdf》由会员分享,可在线阅读,更多相关《MOOC C语言程序设计(下)-北京理工大学 中国大学慕课答案.pdf(27页珍藏版)》请在文库网上搜索。
1、MOOC C 语言程序设计语言程序设计(下下)-北京理工大学北京理工大学 中国大学慕课答案中国大学慕课答案小测验小测验 1:1、问题:C语言是由()构成。选项:A、主程序和子程序B、主函数和子函数C、一个主函数和若干功能函数D、主函数和子程序正确答案:【一个主函数和若干功能函数】2、问题:以下对 C语言函数的有关描述中,正确的是()。选项:A、调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C 函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C 程序中有调用关系的所有函数必须放在同一个源程序文件中正确答案:【调用函数时,只能把实参的值传送给形参,形参的
2、值不能传送给实参】3、问题:以下说法中正确的是()。选项:A、C 语言程序总是从第一个的函数开始执行B、在 C 语言程序中,要调用的函数必须在 main()函数中定义C、C 语言程序总是从 main()函数开始执行D、C 语言程序中的 main()函数必须放在程序的开始部分正确答案:【C语言程序总是从 main()函数开始执行】小测验小测验 2:1、问题:C语言程序中,如果变量做函数参数,则当函数调用时()。选项:A、实参和形参各占一个独立的存储单元B、实参和形参共用一个存储单元C、可以由用户指定是否共用存储单元D、计算机系统自动确定是否共用存储单元正确答案:【实参和形参各占一个独立的存储单元
3、】2、问题:一个函数返回值的类型是由()决定的。选项:A、return语句中表达式的类型B、在调用函数时临时指定C、定义函数时指定的函数类型D、调用该函数的主调函数的类型正确答案:【定义函数时指定的函数类型】3、问题:在 C语言的函数中,下列正确的说法是()。选项:A、必须有形参B、形参必须是变量名C、可以有也可以没有形参D、数组名不能作形参正确答案:【可以有也可以没有形参】小测验小测验 31、问题:若函数的形参为一维数组,则下列说法中正确的是()。选项:A、调用函数时的对应实参必为数组名B、形参数组可以不指定大小C、形参数组的元素个数必须等于实参数组的元素个数D、形参数组的元素个数必须多于实
4、参数组的元素个数正确答案:【形参数组可以不指定大小】2、问题:若调用一个函数,且此函数中没有 return语句,则正确的说法是()。选项:A、该函数没有返回值B、该函数返回若干个系统默认值C、该函数能返回一个用户所希望的函数值D、该函数返回一个不确定的值正确答案:【该函数返回一个不确定的值】3、问题:在函数的说明和定义时若没有指出函数的类型,则()。选项:A、系统自动地认为函数的类型为整型B、系统自动地认为函数的类型为字符型C、系统自动地认为函数的类型为实型D、编译时会出错正确答案:【系统自动地认为函数的类型为整型】4、问题:下面叙述中正确的是()。选项:A、对于用户自己定义的函数,在使用前必
5、须加以说明B、说明函数时只需要说明返回类型C、函数必须返回一个值D、空函数不完成任何操作,所以在程序设计中没有用处正确答案:【对于用户自己定义的函数,在使用前必须加以说明】5、问题:C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是()。选项:A、float型B、int 型C、long 型D、double型正确答案:【int 型】第一周编程作业第一周编程作业小测验小测验 11、问题:在下列结论中,有一个是错误的,它是()选项:A、C 语言允许函数的递归调用B、有些递归程序是不能用非递归算法实现的C、C 语言不允许在函数定义中再定义函数D、递归函数就是函数中可以定义其他函数正确答案:
6、【有些递归程序是不能用非递归算法实现的】2、问题:如果有个递归函数是求 2*4*6*(2n)的积,则递归的公式和条件可以表达为()选项:A、f(n)=2*n*f(n-1)边界条件 当 n=1 f(n)=2B、f(n)=2*f(2*n-1)边界条件 当 n=0 f(n)=1C、f(n)=2*nf(2*n-1)边界条件 当 n=1 f(n)=1D、f(n)=2*f(2*n-1)边界条件 当 n=0 f(n)=2正确答案:【f(n)=2*n*f(n-1)边界条件 当 n=1 f(n)=2】小测验小测验 21、问题:一段楼梯有 N 阶,可以一次上 1 阶,也可以一次上 2阶,用递归函数调用实现,计算多
7、少种走法。则递归公式和边界条件是()选项:A、fn=fn-1+fn-2 边界条件 当 n=1 f1=0,当 n=2 f2=1B、fn=fn-1+fn-2 边界条件 当 n=1 f1=1,当 n=2 f2=2C、fn=fn-1 边界条件 当 n=1 f1=1D、fn=fn-2 边界条件 当 n=2 f2=1正确答案:【fn=fn-1+fn-2 边界条件 当 n=1 f1=1,当 n=2 f2=2】2、问题:一只小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一个;第二天吃了剩下水果的一半,又多吃了一个;依次类推.到第十天,发现只剩下了 10个水果,请问这只猴子到底摘了多少个水果?写成递归函数
8、。选项:A、B、C、D、正确答案:【】第二周编程作业第二周编程作业小测验小测验 11、问题:在一个 C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是()选项:A、externB、registerC、autoD、static正确答案:【extern】2、问题:如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为()选项:A、静态变量B、动态变量C、外部变量D、内部变量正确答案:【静态变量】小测验小测验 21、问题:以下程序的输出结果是:intf(inta)autointb=0;staticintc=3;
9、b+;c+;returna+b+c;main()intc,a=1;for(c=1;c3;c+)printf(“%3d”,f(a);选项:A、5 5B、5 6C、6 6D、6 7正确答案:【6 7】2、问题:以下程序的输出结果是:voidfun(int*s)staticintj=0;do sj+=sj+1;while(+j2);main()intk,a10=1,2,3,4,5;for(k=1;k3;k+)fun(a);for(k=0;k5;k+)printf(“%d”,ak);选项:A、34756B、23445C、35745D、12345正确答案:【35745】小测验小测验 31、问题:以下程序
10、的输出结果是:#defineADD(x)x+x main()intm=1,n=2,k=3,sum;sum=ADD(m+n)*k;printf(“sum=%dn”,sum);选项:A、sum=9B、sum=10C、sum=12D、sum=18正确答案:【sum=10】2、问题:以下程序的输出结果是:#defineN1#defineMN+2#defineNUM2*M+1 main()inti;for(i=1;i=NUM;i+)printf(“%3d”,i);选项:A、1 2 3 4 5B、1 2 3 4 5 6 7C、1 2 3 4 5 6D、程序出错正确答案:【1 2 3 4 5】3、问题:已知
11、宏定义#define N 3#define Y(n)(N+1)*n)执行语句 z=2*(N+Y(5+1);后,z的值是()。选项:A、42B、48C、52D、出错正确答案:【48】第三周编程作业第三周编程作业小测验小测验 11、问题:若有说明:int*p1,*p2,m=5,n;以下均是正确赋值语句的选项是。选项:A、p1=m;p2=p1;B、p1=m;*p2=*p1C、p1=m;p2=p1;D、p1=m;*p1=*p2;正确答案:【p1=m;p2=p1;】2、问题:以下叙述中正确的是。选项:A、指针定义后,可以指向同类型的任何变量。B、指针定义后,可以指向任何类型变量。C、指针定义后,可以用整
12、型数据为指针初始化。D、指针定义后,只能指向一个变量。正确答案:【指针定义后,可以指向同类型的任何变量。】3、问题:变量的指针,其含义是指该变量的。选项:A、值B、地址C、名D、一个标志正确答案:【地址】小测验小测验 21、问题:如果有定义 int a30,*p=a;则数组 a中下标为 i 的元素的地址为。选项:A、p+i*2B、p+(i-1)*2C、p+(i-1)D、p+i正确答案:【p+i】2、问题:若有如下定义,则_是对数组元素的正确的引用。int a10,*p=a;选项:A、*a10B、*a0C、*(p-11)D、*(a+11)正确答案:【*a0】3、问题:若有定义:int x10=0
13、,1,2,3,4,5,6,7,8,9,*p1;则数值不为 3 的表达式是。选项:A、x3B、p1=x+3,*p1+C、p1=x+2,*(p1+)D、p1=x+2,*+p1正确答案:【p1=x+2,*(p1+)】小测验小测验 31、问题:下面函数的功能是。strlen1(char*s)char*p=s;while(*p!=0)p+;returnp-s;选项:A、字符串反向B、字符串比较C、字符串连接D、字符串求长度正确答案:【字符串求长度】2、问题:已知 int a=1,3,5,7,y,*p=a;为了使变量 y的值为 3,下列语句正确的是。选项:A、y=+*p+;B、y=+(*p+);C、y=(
14、+*p)+;D、y=(*+p)+;正确答案:【y=(*+p)+;】3、问题:下面函数的功能是。void(char*s1,char*s2)while(*s2+=*s1+);选项:A、字符串反向B、字符串比较C、字符串连接D、字符串复制正确答案:【字符串复制】第四周编程作业第四周编程作业小测验小测验 11、问题:运行以下程序时输入 HELLO WORLDCR(CR代表 Enter 键),则输出的结果是()#includestdio.h charfun(char*c)if(*c=Z*c=A)*c-=A-a;return*c;intmain()chars81,*p=s;gets(s);while(*p
15、)*p=fun(p);putchar(*p);p+;putchar(“n“);return0;选项:A、heLLO wORldB、hello worldC、HELLO WORLDD、Hello World正确答案:【hello world】2、问题:以下程序输出的结果是()#includestdio.h#includestring.h voidfun(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);选项:A、7
16、654321B、1711717C、1711771D、7177171正确答案:【1711717】3、问题:库函数 strcpy用以复制字符串。若有以下定义和语句:char str1=GREETING,str28,*str3,*str4=GREETING;则对库函数 strcpy的不正确调用是()选项:A、strcpy(str2,HELLO2);B、strcpy(str3,HELLO3);C、strcpy(str4,HELLO4);D、都不正确正确答案:【strcpy(str3,HELLO3);】小测验小测验 21、问题:下面程序的运行结果是()intmain()intaa33=2,4,6,i,*
17、p=aa00;for(i=0;i2;i+)if(i=0)aaii+1=*p+1;else+p;printf(%d,*p);printf(n);return0;选项:A、23B、26C、33D、36正确答案:【23】2、问题:若有定义语句 int(*p)M;其中的标识符是()选项:A、M 个指向整型变量的指针B、指向 M 个整型变量的函数指针C、一个指向具有 M 个整型元素的一维数组指针D、具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量正确答案:【一个指向具有 M个整型元素的一维数组指针】3、问题:下面程序的运行结果是()int main()int a34=1,3,5,7,9,11
18、,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(%dn,k);return 0;选项:A、60B、68C、99D、108正确答案:【60】第五周编程作业第五周编程作业小测验小测验 11、问题:以下程序的输出结果是():#includestdio.h intfuna(inta,intb)returna+b;intfunb(inta,intb)returna-b;intsub(int(*t)(int,int),intx,inty)return(*t)(x,y);intma
19、in()intx,(*p)(int,int);p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf(%dn,x);选项:A、12B、15C、17D、19正确答案:【17】2、问题:若有以下说明和定义,则对 fun函数的正确调用语句是()intmain()int(*a)(int*),*b(),w10,c;:return0;intfun(int*c).选项:A、a=fun;a(w);B、a=fun;(*a)(c);C、b=fun;*b(w);D、fun(b);正确答案:【a=fun;(*a)(c);】3、问题:以下程序的输出结果是():voidfun(intn,i
20、nt*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(%dn,x);return0;选项:A、4B、6C、8D、12正确答案:【8】小测验小测验 21、问题:下面程序运行结果():intmain()charch25=6937,8254,*p2;inti,j,s=0;for(i=0;i2;i+)pi=chi;for(i=0;i2;i+)for(j=0;pij0pij=9;j+=2)s=10*s+pij-0;printf(%dn,s);return0;选项:
21、A、6385B、69825C、63825D、693825正确答案:【6385】2、问题:以下程序的输出结果是():intmain()char*p=PROGRAM,BASIC,C,JAVA;inti;for(i=3;i=0;i-,i-)printf(%c,*pi);printf(n);return0;选项:A、JVCBSPOB、JAVAC、JBD、JAVABASIC正确答案:【JB】3、问题:以下程序运行结果是():intmain()char*alpha6=ABCD,EFGH,IJKL,MNOP,QRST,UVWX;char*p;inti;p=alpha;for(i=0;i6;i=i+2)pri
22、ntf(%s,*(p+i);printf(n);return0;选项:A、ACEGIKMNQSUWB、AIQC、ABCDIJKLQRSTD、AEIMQU正确答案:【ABCDIJKLQRST】第六周编程作业第六周编程作业小测验小测验 11、问题:以下定义错误的是()。选项:A、structc intx;inty;s;B、struct intx;inty;s;C、structcs intx;inty;D、structc intx;inty;Structcs;正确答案:【structcs intx;inty;】2、问题:当定义一个结构体变量时,系统为它分配的内存空间是()。选项:A、结构中一个成员所
23、需的内存容量B、结构中第一个成员所需的内存容量C、结构中占内存最大的成员所需的内存容量D、结构中各成员所需内存容量之和正确答案:【结构中各成员所需内存容量之和】小测验小测验 21、问题:定义以下结构体类型 struct c int x;float y;a3sizeof(a)的结果是()。选项:A、4B、12C、18D、6正确答案:【6】2、问题:定义以下结构体数组 struct c int x;int y;s2=1,3,2,7语句printf(“%d”,s0.x*s1.x)的输出结果为()。选项:A、14B、6C、2D、21正确答案:【2】小测验小测验 41、问题:有以下程序段 struct
24、st int x;int*y;*pt;int a=1,2;int b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式为 11 的是()。选项:A、*pt-yB、pt-xC、+pt-xD、(pt+)-x正确答案:【+pt-x】2、问题:运行下列程序段,输出结果是()。structcountry intnum;charname10;x5=1,”China”,2,”USA”,3,”France”,4,”England”,5,”Spanish”;structcountry*p;p=x+2;printf(“%d,%c”,p-num,(*p).name2);选项:A、3,
25、aB、4,gC、2,UD、5,S正确答案:【3,a】小测验小测验 41、问题:以下哪种方式进行结构体数据的传递是错误的()?选项:A、通过结构体变量成员的引用B、通过结构体变量的引用C、通过结构体类型的引用D、通过结构体变量的指针正确答案:【通过结构体类型的引用】小测验小测验 51、问题:以下说法错误的是()。选项:A、联合与结构的引用方法是一样的B、联合与结构的定义除了关键字以外都是一样的C、联合与结构的初始化方法是一样的D、联合与结构的内存占用与成员内存占用间的关系是不一样的正确答案:【联合与结构的初始化方法是一样的】第七周编程作业第七周编程作业小测验小测验 11、问题:设有如下说明 ty
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MOOC C语言程序设计下-北京理工大学 中国大学慕课答案 语言程序设计 北京理工大学 中国 大学 答案