MOOC C语言程序设计(上)-北京理工大学 中国大学慕课答案_第1页
MOOC C语言程序设计(上)-北京理工大学 中国大学慕课答案_第2页
MOOC C语言程序设计(上)-北京理工大学 中国大学慕课答案_第3页
MOOC C语言程序设计(上)-北京理工大学 中国大学慕课答案_第4页
MOOC C语言程序设计(上)-北京理工大学 中国大学慕课答案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

MOOCC语言程序设计(上)-北京理工大学中国大学慕课答案1.1-测试题1、问题:算法的描述方法除了自然语言之外,还包括:选项:A、流程图B、NS流程图C、伪代码D、程序语言正确答案:【流程图#NS流程图#伪代码#程序语言】2、问题:结构化程序设计方法包含三种基本结构:选项:A、顺序结构B、选择结构C、循环结构D、跳转结构正确答案:【顺序结构#选择结构#循环结构】3、问题:goto语句很方便,应该随意使用选项:A、正确B、错误正确答案:【错误】4、问题:程序设计包括以下五个步骤:(1)确定问题可计算;(2)建立问题的数学模型;(3)设计算法和数据结构;(4)选择合适的计算机语言编写程序;(5)调试运行程序分析结果。这种说法正确吗?选项:A、正确B、错误正确答案:【正确】5、问题:算法的特征包括:有穷性,确定性,有效性,有零或多个输入,有一或多个输出。这种说法正确吗?选项:A、正确B、错误正确答案:【正确】6、填空题:计算复杂度包括【】复杂度和空间复杂度。正确答案:【时间】小测验2.11、问题:以下程序的输出结果是____。#includestdio.hmain(){intx=10,y=10;printf(%d%d\n,x--,--y);}选项:A、1010B、99C、910D、109正确答案:【109】小测验2.21、问题:已知:x=10,y=2;表达式x-5=x+y的值是____选项:A、0B、1C、11D、9正确答案:【1】第二周作业1、问题:已知:chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是____选项:A、floatB、intC、charD、double正确答案:【float】2、问题:已知inti=5;执行语句i+=++i;i的值是____选项:A、12B、10C、11D、其他答案都不对正确答案:【12】3、问题:已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是____选项:A、5B、0C、1D、6正确答案:【5】4、问题:下列可以正确表示字符型常数的是____选项:A、'\t’B、aC、\nD、297正确答案:【'\t’】5、问题:字符串\\\065a,\n的长度是____选项:A、5B、8C、7D、6正确答案:【5】6、问题:把算术表达式表示为一个C语言表达式,正确的写法是____选项:A、–(31.6*a*8+1.0/7)*12B、–(31.6a*8+1/7)*12C、–(31.6a*8.0+1.0/7.0)*12D、–31.6*a*8+1.0/7*12正确答案:【–(31.6*a*8+1.0/7)*12】7、问题:温度华氏和摄氏的关系是:C=5(F-32)/9。已知:floatC,F;由华氏求摄氏的正确的赋值表达式是____选项:A、C=5*(F-32)/9B、C=5/9(F-32)C、C=5/9*(F-32)D、三个表达式都正确正确答案:【C=5*(F-32)/9】8、问题:已知inti=10;表达式“20-0=i=9”的值是____选项:A、1B、0C、19D、20正确答案:【1】9、问题:已知:intx,y;doublez;则以下语句中错误的函数调用是____选项:A、scanf(%x%o%6.2f,x,y,z)B、scanf(%d,%lx,%le,x,y,z)C、scanf(%2d%d%lf,x,y,z)D、scanf(%x%*d%o,x,y)正确答案:【scanf(%x%o%6.2f,x,y,z)】10、问题:已知”inta=5,b=5,c;”,则执行表达式”c=a=ab”后变量a的值为____选项:A、0B、1C、4D、5正确答案:【0】本节测验1、问题:表示算术关系12≤x≤y的C语言表达式为。选项:A、(12=x)||(x=y)B、(12!=x)|(x!=y)C、(12=x)(x=y)D、(12=x)(x=y)正确答案:【(12=x)(x=y)】本节作业1、填空题:假设a和b都是16位二进制整数,它们的值分别是:a:1010,1001,0101,0111b:0110,0000,1111,1011则c=(a2)|~b运算后,c的二进制表示为。正确答案:【1011111101010101##%_YZPRLFH_%##1011,1111,0101,0101】本节测验1、问题:已知inti,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是。选项:A、6B、12C、30D、36正确答案:【30】本节测验1、填空题:已知:charw;intx;floaty;doublez;则表达式w*x+z-y结果的类型是。正确答案:【double##%_YZPRLFH_%##双精度型##%_YZPRLFH_%##double型##%_YZPRLFH_%##双精度型实数】本节测验1、问题:[4]选项:A、x1,x2B、x1;x2C、x1,x2D、x1;x2正确答案:【x1,x2】2、问题:[3]选项:A、(-b-q)/(2*a)B、-b-q/2*aC、(-b-q)/2aD、(-b-q)/2*a正确答案:【(-b-q)/(2*a)】3、问题:请选择正确的语句来完善程序,完成如下的功能:求一元二次方程的根。#includemath.hintmain(){floata,b,c,x1,x2,q;printf(Pleaseinputa,b,c\n);scanf(%f,%f,%f,a,b,[1]);q=sqrt([2]);x1=(-b+q)/(2*a);x2=[3];printf(x1=%.0f,x2=%.0f\n,[4]);}[1]选项:A、cB、cC、%cD、f正确答案:【c】4、问题:[2]选项:A、b*b-4*a*cB、4*a*c-b*bC、b^2-4acD、4ac-b^2正确答案:【b*b-4*a*c】第三周编程作业小测验11、问题:执行下列程序段后,x、y和z的值分别是intx=10,y=20,z=30;if(xy)z=x;x=y;y=z;选项:A、10,20,30B、20,30,30C、20,30,10D、20,30,20正确答案:【20,30,30】小测验21、问题:if语句的控制条件。选项:A、只能用关系表达式B、只能用关系表达式或逻辑表达式C、只能用逻辑表达式D、可以用任何表达式正确答案:【可以用任何表达式】小测验31、问题:下面的程序片段所表示的数学函数关系是y=-1;if(x!=0){if(x0)y=1;}elsey=0;选项:A、B、C、D、正确答案:【】小测验41、问题:若a和b均是整型变量,以下正确的switch语句是选项:A、A.switch(a/b){case1:case3.2:y=a+b;break;case0:case5:y=a-b;}B、B.switch(a*a+b*b);{case3:case1:y=a+b;break;case0:y=b-a;break;}C、C.switcha{default:x=a+b;case10:y=a-b;break;case11:y=a*d;break;}D、D.switch(a+b){case10:x=a+b;break;case11:y=a-b;break;}正确答案:【D.switch(a+b){case10:x=a+b;break;case11:y=a-b;break;}】小测验51、问题:以下程序的输出结果是____main(){intw=4,x=3,y=2,z=1;if(xy!(z==w))printf(”%d\n”,(wx?w:zy?z:x));elseprintf(”%d\n”,(wx?w:zy?z:x));}选项:A、1B、2C、3D、4正确答案:【1】2、填空题:if(!k)a=3;语句中的!k可以改写为,使其功能不变。正确答案:【k==0】3、填空题:以下程序的输出是main(){inta=0,b=0,c=0;if(a=b+c)printf(”***a=%d\n”,a);elseprintf(”$$$a=%d\n”,a);}正确答案:【$$$a=0】第四周编程作业第四周作业1、问题:下面程序的输出是#includestdio.hmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf(a=%d,b=%d\n,a,b);}选项:A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2正确答案:【a=2,b=1】2、问题:以下程序的输出结果是main(){floatx=2,y;if(x0)y=0;elseif(x5!x)y=1/(x+2);elseif(x10)y=1/x;elsey=10;printf(”%f\n”,y);}选项:A、0.500000B、0.000000C、0.250000D、10.000000正确答案:【0.500000】3、填空题:若下列程序执行后t的值为4,则执行时输入a,b的值范围是#include”stdio.h”main(){inta,b,s=1,t=1;scanf(”%d,%d”,a,b);if(a0)s+=1;if(ab)t+=s;elseif(a==b)t=5;elset=2*s;printf(”s=%d,t=%d\n”,s,t);}正确答案:【0】4、填空题:下列程序段当a的值为014和0x14时的执行结果分别是if(a=0xA|a12)if(01110==a)printf(”%d!\n”,a);elseprintf(”Right!%d\n”,a);elseprintf(”Wrong!%d\n”,a);正确答案:【10!Right!11】小测验11、问题:下列程序执行的结果是a=1;b=2;c=3;while(abc){t=a;a=b;b=t;c--;}printf(”%d,%d,%d”,a,b,c);选项:A、1,2,0B、2,1,0C、1,2,1D、2,1,1正确答案:【1,2,1】小测验21、问题:指出程序结束之时,j、i、k的值分别是main(){inta=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;ab;++b)i++;while(a++c)j++;dok++;while(ad++);}选项:A、j=5,i=4,k=6;B、i=5,j=4,k=6;C、j=6,i=5,k=7;D、j=6,i=6,k=6;正确答案:【i=5,j=4,k=6;】2、问题:下列程序段x=3;do{y=x--;if(!y){printf(”x”);continue;}printf(”#”);}while(1=x=2);选项:A、输出D、输出F、xG、是死循环H、有语法错正确答案:【是死循环】小测验31、问题:下面程序的功能是计算1-3+5-7+……-99+101的值。①main(){inti,t=1,s=0;for(i=1;i=101;i+=2){①;s=s+t;②;}printf(”%d\n”,s};}选项:A、t=i*tB、t=i*(t+1)C、t=(i+1)*tD、t=(i-1)*t正确答案:【t=i*t】2、问题:②选项:A、t=sB、t=-sC、t=s0?-1:1D、t=s0?-1:1正确答案:【t=s0?-1:1】3、问题:for语句的三个表达式都是必须的。选项:A、正确B、错误正确答案:【错误】小测验41、问题:下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。①main(){floatx,amax,amin;scanf(”%f”,x);amax=x;amin=x;while(①){if(xamax)amax=x;if(②)amin=x;scanf(”%f”,x);}printf(”\namax=%f\namin=%f\n”,amax,amin);}选项:A、x=0B、x=0C、x0D、x0正确答案:【x=0】2、问题:②选项:A、x=aminB、xaminC、xaminD、x=amin正确答案:【xamin】第五周编程作业小测验11、问题:下面程序的输出结果是#includestdio.hintmain(){inti,j;floats;for(i=6;i4;i--){s=0.0;for(j=i;j3;j--)s=s+i*j;}printf(”%f\n”,s);}选项:A、135.000000B、90.000000C、45.000000D、60.000000正确答案:【45.000000】小测验21、问题:下列说法中正确的是选项:A、break可以用在任何选择和循环结构与居中B、break可以用在switch结构和任何循环结构中C、continue可以用在switch结构和任何循环结构中D、continue的功能是结束当前所在的循环正确答案:【break可以用在switch结构和任何循环结构中】第六周编程作业第六周作业1、问题:求取满足式的n,正确的语句是____选项:A、for(i=1,s=0;(s=s+i*i)=1000;n=i++)B、for(i=1,s=0;(s=s+i*i)=1000;n=++i)C、for(i=1,s=0;(s=s+i*++i)=1000;n=i)D、for(i=1,s=0;(s=s+i*i++)=1000;n=i)正确答案:【for(i=1,s=0;(s=s+i*i)=1000;n=i++)】2、问题:下面的for语句for(x=0,y=10;(y0)(x4);x++,y--)选项:A、循环执行4次B、是无限循环C、循环次数不定D、循环执行3次正确答案:【循环执行4次】3、问题:已知inti=1;执行语句while(i++4);后,变量i的值为选项:A、5B、3C、4D、6正确答案:【5】4、问题:下面程序的输出结果是____main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j-3;j++){if(j%2)continue;x++;}x++;}printf(”x=%d\n”,x);}选项:A、x=4B、x=8C、x=6D、x=12正确答案:【x=4】5、问题:假定从键盘上输入“3.6,2.4回车”,下面程序的输出是____#includemath.hmain(){floatx,y,z;scanf(”%f,%f”,x,y);z=x/y;while(1){if(fabs(z)1.0){x=y;y=z;z=x/y;}elsebreak;}printf(”%f\n”,y);}注:fabs()是浮点数绝对值函数。选项:A、1.600000B、1.500000C、2.000000D、2.400000正确答案:【1.600000】小测验11、问题:下面程序的输出结果是____。#includestdio.hmain(){inti,k,a[10],p[3];k=5;for(i=0;i10;i++)a[i]=i;for(i=0;i3;i++)p[i]=a[i*(i+1)];for(i=0;i3;i++)k+=p[i]*2;printf(”%d\n”,k);}选项:A、20B、21C、22D、23正确答案:【21】小测验21、问题:以下程序的功能:输入30个人的年龄,统计18岁、19岁、……、25岁各有多少人。填空,使程序正确。main(){inti,n,age,a[30]={0};for(i=0;i30;i++){scanf(”%d”,age);__(1)__;}printf(”agenumber\n”);for(__(2)__;i++)printf(”%5d%6d\n”,i,a[i]);}选项:A、(1)for(n=18;n25;n++){if(age==n)a[n]++;}(2)i=18;i=25B、(1)for(n=18;n=25;n++){if(age==n)a[n]++;}(2)i=18;i=25C、(1)for(n=18;n25;n++){if(age=n)a[n]++;}(2)i=18;i=25D、(1)for(n=18;n25;n++){if(age==n)a[n]++;}(2)i=18;i25正确答案:【(1)for(n=18;n=25;n++){if(age==n)a[n]++;}(2)i=18;i=25】小测验31、问题:以下程序的功能:在给定数组中查找某个数,若找到,则输出该数在数组中的位置,否则输出“cannotfound!”。填空,使程序正确。main(){inti,n,a[8]={25,21,57,34,12,9,4,44};scanf(”%d”,n);for(i=0;i8;i++)if(n==a[i]){printf(”Theindexis%d\n”,i);__(1)__;}if(__(2)__)printf(”cannotfound!\n”);}选项:A、(1)end(2)i==8B、(1)break(2)i==0C、(1)break(2)i==8D、(1)end(2)i==0正确答案:【(1)break(2)i==8】第七周编程作业第七周作业小测验11、问题:以下正确的数组定义语句是____。选项:A、inty[2][3]={1,2,3,4,5,6};B、floatx[3][]={{1},{2},{3}};C、longs[2][3]={{1},{1,2},{1,2,3}};D、doublet[][3]={0};正确答案:【inty[2][3]={1,2,3,4,5,6};】2、问题:若有说明:inta[][4];则a[i][j]前有____个元素。选项:A、j*4+iB、i*4+jC、i*4+j-1D、i*4+j+1正确答案:【i*4+j】小测验21、填空题:求出如下所示矩阵中各行元素之和,并以矩阵形式输出原矩阵及相应行元素之和。请填空,使程序正确。#includestdio.hintmain(){inti,j;staticinta[3][4]={{3,5,6,0},{2,1,4,0},{8,7,1,0}};for(i=0;i3;i++)for(j=0;j3;j++)a[i][3]+=__(1)__;for(i=0;i3;i++)for(_(2)___){printf(”%3d”,a[i][j]);if(_(3)___)printf(__(4)__);}}正确答案:【(1)a[i][j](2)j=0;j<4;j++(3)j==3(4)"\n"】小测验31、问题:以下程序的输出是___。main(){chara[2][5]={”6937”,”8254”};inti,j,s=0;for(i=0;i2;i++)for(j=0;a[i][j]’0’a[i][j]=’9’;j+=2)s=10*s+a[i][j]-’0’;printf(”s=%d\n”,s);}选项:A、6385B、69825C、63825D、693825正确答案:【6385】2、填空题:以下程序的功能:输入10个字符串,找出每个字符串的最大字符,并依次存入一维数组中,然后输出该一维数组。请填空使程序正确。#include”stdio.h”main(){intj,k;chara[10][80],b[10];for(j=0;j10;j++)gets(a[i]);for(j=0,j10;j++){_(1)___;for(k=1;a[j][k]!=’\0’;k++)if(b[j]a[j][k])_(2)___;}for(j=0,j10;j++)printf(”%d%c\n”,j,b[j]);}正确答案:【(1)b[j]=a[j][0](2)b[j]=a[j][k]】小测验41、填空题:有一名室内装潢工程队的配料员,他很擅长采用“之”字型的方式铺大理石地砖,图案如下:12671535814164913172210121821231119202425以下是生成这样图形的程序,请帮助补充完整:#includestdio.hintmain(){inta[10][10],s=0,n,i=1,j=1,t=0;scanf(%d,n);while(in||jn){s+=1;a[i-1]__(1)_____=s;if(t)if(j==1){t=0;if(n==i)j+=1;elsei+=1;}elseif(n==i){t=0;j+=1;}else{i+=1;j-=1;}elseif(i==1){t=1;if(n==j)i+=1;elsej+=1;}elseif(n==j){t=1;i+=1;}else{i-=1;j+=1;}}a[n-1][n-1]=s+1;if(n1)for(i=1;i=n;i++){printf(%2d,a[i-1][0]);for(j=2;j=n;j++)printf(%3d,a[i-1][j-1]);___(2)____;}elseprintf(1\n);return0;}正确答案:【(1)[j-1](2)printf("\n")】第八周编程作业单项选择题1、问题:在C语言中,关于表达式10/4的结果是:_____。选项:A、2B、2.5C、2.500000D、2.50正确答案:【2】2、问题:在C语言中,已知’a’字符的ASCII编码是97,那么大写C的编码应该是:______。选项:A、67B、68C、97D、99正确答案:【67】3、问题:二维数组a有m行n列,则在a[i][j]之后的元素个数为______。选项:A、m*n-(i*n+j+1)B、m*n-(j*n+i)C、m*n-(i*n+j)D、m*n-(i*n+j–1)正确答案:【m*n-(i*n+j+1)】4、问题:已知:chars='\\';则s的值_____。选项:A、有错误B、包含1个字符C、包含3个字符D、包含2个字符正确答案:【包含1个字符】5、问题:设a为某个字符,判断a的取值范围不可能是字母的判断表达式是_____。选项:A、a=65a=97B、a65a97C、a65a122D、a65a122正确答案:【a65a122】6、问题:下列常数中不能作为C的常量的是_____。选项:A、2.5e-2B、0xA5C、3e2D、0582正确答案:【0582】7、问题:至少循环一次的语句片段是______。选项:A、for(inti=0;i0;i++)B、for(inti=1;i1;i--)C、for(inti=0;i1;i++)D、for(inti=1;i1;i--)正确答案:【for(inti=0;i1;i++)】8、问题:已知intx=2;连续执行两次x*=x后,变量x的值是______。选项:A、8B、16C、4D、程序运行有错误正确答案:【16】9、问题:已知intx,哪个表达式不可以求得x的绝对值选项:A、x=(x0)?x:-xB、x0?x:-x;C、x0?x=x:x=-x;D、x0?x=-x:x=x;正确答案:【x0?x:-x;】10、问题:已有定义inti;floatf1,f2;执行scanf(“%2f%3d%f”,f1,i,f2)时,输入“1234.5678↙”,则i,f1和f2的值应该是()选项:A、f1=12.000000,i=34,f2不确定B、f1=12.000000,i=34,f2=0.567800C、f1=1234.5,i=678;f2不确定D、输入格式有误正确答案:【f1=1234.5,i=678;f2不确定】11、问题:根据以下宏定义,执行语句“z=Y(5)*Y(5);”后,变量z的值是:#defineY(n)2+n选项:A、17B、语

温馨提示

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

评论

0/150

提交评论