【MOOC】C编程方法学-武汉理工大学 中国大学慕课MOOC答案_第1页
【MOOC】C编程方法学-武汉理工大学 中国大学慕课MOOC答案_第2页
【MOOC】C编程方法学-武汉理工大学 中国大学慕课MOOC答案_第3页
【MOOC】C编程方法学-武汉理工大学 中国大学慕课MOOC答案_第4页
【MOOC】C编程方法学-武汉理工大学 中国大学慕课MOOC答案_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

【MOOC】C编程方法学-武汉理工大学中国大学慕课MOOC答案【练习】算法与结构化程序设计结构1、【单选题】下列叙述中正确的是()。本题答案:【算法可以没有输入,但必须要有输出操作。】2、【单选题】以下关于程序、数据结构和算法的关系,描述正确的是()。本题答案:【程序=数据结构+算法】3、【单选题】算法的有穷性是指()。本题答案:【算法程序的运行时间是有限的。】4、【单选题】结构化程序由三种基本结构组成,三种基本结构组成的算法()。本题答案:【可以完成任何复杂的任务】【练习】常量与变量1、【单选题】下列()是C语言中的合法常量。本题答案:【'\045'】2、【单选题】下面正确的字符常量是()。本题答案:【'W'】3、【判断题】C语言规定:定义符号常量时必须用大写字母。本题答案:【错误】【练习】算术运算1、【单选题】有如下语句floatx=2.5,y=4.7;inta=7;printf(“%.1f”,x+a%3*(int)(x+y)%2/4);输出结果是()。本题答案:【2.5】2、【单选题】C语言中,运算对象必须是整型数的运算符是()。本题答案:【%】3、【单选题】已知字母A的ASCII码为十进制数65,且ch为字符型变量,则执行语句ch='A'+'6'-'3';后,ch中的值为()。本题答案:【68】【练习】赋值运算1、【单选题】设x、y均为f1oat型变量,则以下不合法的赋值语句是()本题答案:【y=(x%2)/10;】2、【单选题】若x、i、j和k都是int型变量,则执行下面表达式x=(i=4,j=16,k=32)后x的值为()。本题答案:【32】3、【单选题】设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是()。本题答案:【交换x和y中的值】4、【单选题】以下能正确地定义整型变量a、b和c,并为它们赋初值5的语句是()。本题答案:【inta=5,b=5,c=5;】5、【单选题】下列两条语句:inta=1,b=2,c;c=1.0/b*a;执行后变量c中的值是()。本题答案:【0】6、【单选题】下面哪一句是正确的赋值语句?本题答案:【x=y=87;】7、【单选题】设有floata=4,则a+=a/=a*a的值是()。本题答案:【0.5】8、【填空题】设a和n都已定义为整型变量,a=12,n=5,写出表达式a/=a+a运算后a的值()本题答案:【0】【练习】逗号运算符1、【单选题】已知inti,a;执行语句i=(a=2*3,a*5),a+6;后,变量i的值是()。本题答案:【30】【练习】自增自减运算1、【单选题】若有定义#defineT8和inta,b;,下面正确的表达式是()。本题答案:【21+'a'】2、【填空题】设有intx,a;,则执行a=(x=1,x++,x+2)后,a的值为()。本题答案:【4】【练习】输入输出函数的使用1、【单选题】给定:inta,b;以下哪个scanf()的使用是错误的?本题答案:【scanf(%d%d,a,b);】2、【单选题】给定:inta,b,c;scanf(%d,%d,%d,a,b,c);则以下哪个输入方式是正确的?本题答案:【20,30,40】3、【单选题】执行下面的语句:charc1=97,c2=98;printf(%d%c,c1,c2;其输出结果是()。(字符'a'的ASCII码为97)本题答案:【97b】【练习】条件运算符1、【单选题】对条件表达式(M)?(a++):(a--)来说,其中表达式M等价于______。本题答案:【M!=0】【练习】逻辑运算1、【单选题】能正确地用逻辑关系表示:”10a15”的C语言表达式是______。本题答案:【10aa15】2、【单选题】对于intx=10,y=100;以下逻辑表达式的值为0的是()。本题答案:【(x100||y10)y==100】3、【单选题】能正确表示a和b同时为正或同时为负的逻辑表达式是()。本题答案:【a*b0】【练习】短路定理1、【填空题】表达式:a=1||ab+5||a1的值是______。本题答案:【1】【练习】综合运算1、【单选题】以下运算符中优先级最高的运算符是______。本题答案:【!】2、【单选题】设i、j、k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是()本题答案:【!((ij)!k||1)】3、【填空题】有定义:inta=3,b=4,c=5;则表达式a||b+cb-c的值为________。本题答案:【1】4、【填空题】执行以下程序段后的b的值是()。inta=5,b=6,c=1,x=2,y=3,z=4;c=(a=cx)(b=yz);本题答案:【6】【测验1】数据类型、运算符表达式及顺序结构1、【单选题】C语言表达式中,对于实数,下面正确的实型常量指数形式是()。本题答案:【1.0e-6】2、【单选题】设有floata=1;,则a/=a+a的值是()。本题答案:【0.5】3、【单选题】若有定义inta=10;,下面正确的表达式是()。本题答案:【-a++】4、【单选题】以下能正确地定义整型变量a、b和c,并为它们赋初值5的语句是()。本题答案:【inta=5,b=5,c=5;】5、【单选题】如果变量x、y、t已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?本题答案:【x=t,t=y,y=x;】6、【单选题】若变量已正确定义并赋值,符合C语言语法的表达式是()。本题答案:【a=3,5】7、【单选题】若变量已正确定义,表达式(j=3,j-3,j++)执行后,j的值是____。本题答案:【4】8、【单选题】下列叙述中错误的是()。本题答案:【计算机可以直接运行扩展名为c的文件。】9、【单选题】一个字长为8位的无符号二进制数能表示的十进制数值范围是()。本题答案:【0~255】10、【单选题】若有intx=50;,则下列语句()会输出“50%”。本题答案:【printf(%d%%,x);】11、【单选题】若有:inta;doublec;现要按下面格式输入这2个数,以下哪个输入语句是正确的。10012.34本题答案:【scanf(%d%lf,a,c);】12、【单选题】表达式:(int)((double)(34/4)-2.5)%5的值是()。本题答案:【0】13、【单选题】以下程序段执行后,输出结果是()。doublex,y;x=2;y=x+3/2;printf(%lf,y);本题答案:【3.000000】14、【单选题】有表达式:(double)(1/2)+(int)(1/2.0),运算后结果是()。本题答案:【0.0】15、【单选题】有定义:inta=10;floatx=2.8,y=3.9;则,下面算术表达式的值为()。x+a/3*(int)(x+y+0.9)%5/4本题答案:【2.8】16、【判断题】语句printf(%.2f,1/3);输出结果为0.33。本题答案:【错误】17、【判断题】a=b=4+c=6是一个合法的赋值表达式。本题答案:【错误】18、【判断题】C语言规定:定义符号常量时宏名的命名可以用任何符号。本题答案:【错误】19、【填空题】设有intx,a;,则执行a=(x=5,x+2,x++)后,a的值为()。本题答案:【5】20、【填空题】设inta=2;,写出表达式a/=a+a运算后a的值()。本题答案:【0】21、【填空题】inta=10,b=4,c;c=1.0/b*a;执行上面语句后变量c的值是()。本题答案:【2】【练习】if语句1、【单选题】inta=1,b=2,c=3;if(ac)b=a;a=c;c=b;则c的值为_______。本题答案:【2】2、【单选题】inta=3,b=2,c=1;if(abc)a=b;elsea=c;则a的值为_______。本题答案:【1】3、【单选题】假定所有变量均已正确定义,下列程序段运行后x的值是_______。k1=1;k2=2;k3=3;x=15;if(!k1)x--;elseif(k2)x=4;elsex=3;本题答案:【4】4、【单选题】以下程序段运行后的输出结果是()。inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(%d,%d,%d,%d,a,b,c,d);本题答案:【有编译错误】5、【单选题】执行以下代码段后,输出结果是()。floatx=2,y;if(x0)y=0;elseif(x10)y=1.0/10;elsey=1;printf(%.1f\n,y);本题答案:【0.1】6、【判断题】if(a=5)是合法的。本题答案:【正确】7、【判断题】在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式只能用逻辑表达式或关系表达式。本题答案:【错误】【练习】嵌套的if语句1、【单选题】以下程序段运行后的输出结果是()。intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf(%d\n,y);本题答案:【0】2、【单选题】floata,b;scanf(%f,a);if(a0.0)b=0.0;elseif((a0.5)(a!=2.0))b=1.0/(a+2.0);elseif(a10.0)b=1.0/a;elseb=10.0;printf(%f\n,b);若以上程序段运行时输入为2.0(回车),则上面程序的输出结果是()。本题答案:【0.500000】3、【单选题】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是()。if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;本题答案:【2】【练习】switch1、【单选题】下列叙述中正确的是()。本题答案:【在switch语句中,不一定使用break语句。】2、【单选题】若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。本题答案:【switch(a+b){case1:printf(*\n);case2+1:printf(**\n);}】3、【判断题】case语句后如果没有break,则顺序向下执行。本题答案:【正确】【测验2】选择结构1、【单选题】执行下面程序片段后,变量a,b,c的值分别是()。inta,b,c;intx=8,y=10;a=(x++==y--)?x:y;b=++x;c=--y;本题答案:【a=9,b=10,c=8】2、【单选题】分析下面程序片段,下面输出结果正确的是()。inta=0,b=0,c=1;c=a++(b=1);printf(a=%d,b=%d,c=%d\n,a,b,c);本题答案:【a=1,b=0,c=0】3、【单选题】对于intx=10,y=100;以下逻辑表达式的值为0的是()。本题答案:【(x100||y10)y==100】4、【单选题】设i、j、k是int型变量,且i=3,j=4,k=5,则以下值为0的表达式是()。本题答案:【!((ij)!k||1)】5、【单选题】执行以下程序段后的b的值是()。inta=5,b=6,c=1,x=2,y=3,z=4;c=(a=cx)(b=yz);本题答案:【6】6、【单选题】对条件表达式(M)?(a++):(a--)来说,其中表达式M等价于()。本题答案:【M!=0】7、【单选题】能正确表示关系x≤y≤z的C语言表达式为()。本题答案:【(x=y)(y=z)】8、【单选题】若变量x、y都为float型,以下表达式中不能正确表示数学关系|x-y|10的是()。本题答案:【(x-y)-10||(x-y)10】9、【单选题】以下程序段运行后的输出结果是()。intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf(%d\n,y);本题答案:【0】10、【单选题】以下程序段运行后的输出结果是()。inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(%d,%d,%d,%d,a,b,c,d);本题答案:【编译有错】11、【单选题】有如下嵌套的if语句if(ab)if(ac)k=a;elsek=c;elseif(bc)k=b;elsek=c;以下选项中与上述语句等价的语句是()。本题答案:【k=(ab)?((ac)?a:c):((bc)?b:c);】12、【单选题】有以下程序段运行时从键盘输入9回车,则输出结果是()。inta;scanf(%d,a);if(a++9)printf(%d\n,a);elseprintf(%d\n,a+1);本题答案:【11】13、【单选题】若有定义:floatx=1.5;inta=1,b=3,c=2;则正确的switch语句是()。本题答案:【switch(a+b){case1:printf(*\n);case2+1:printf(**\n);}】14、【单选题】下列叙述中正确的是()。本题答案:【在switch语句中,不一定使用break语句。】15、【单选题】设有说明:inta=11,b=10;,执行语句a%=b+(ab);后,a的值为()。本题答案:【0】16、【单选题】能正确表示a和b同时为正或同时为负的逻辑表达式是()。本题答案:【a*b0】17、【单选题】在下面条件语句中(其中S1和S2表示C语言语句),只有()在功能上与其他三个语句不等价。本题答案:【if(a==0)S1;elseS2;】18、【单选题】如果要求:if后一对括号中的表达式表示a不等于0时值为“真”,则不能正确表示这一关系的表达式为()。本题答案:【!a】19、【单选题】以下程序段运行时,输入的x值在()范围时才会有输出结果。intx;scanf(%d,x);if(x=3);elseif(x!=10)printf(%d,x);本题答案:【大于3且不等于10的整数】20、【单选题】表达式()不能用于判断“x和y不同时为零”。本题答案:【!(x==0||y==0)】21、【单选题】下列选项中用于判断ch是否是英文字母的表达式是()。本题答案:【(ch='a'ch='z')||(ch='A'ch='Z')】22、【判断题】case语句后如没有break,顺序向下执行。本题答案:【正确】23、【判断题】if(a=5)是允许的。本题答案:【正确】24、【判断题】在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句本题答案:【正确】25、【填空题】有定义:inta=3,b=4,c=5;则表达式a||b+cb-c的值为________。本题答案:【1】26、【填空题】表达式:a=1||ab+5||a1的值是______。本题答案:【1】27、【填空题】floata,b;scanf(%f,a);if(a0.0)b=0.0;elseif((a0.5)(a!=2.0))b=1.0/(a+2.0);elseif(a10.0)b=1.0/a;elseb=10.0;printf(%f\n,b);若以上程序段运行时输入为2.0(回车),则上面程序的输出结果是。本题答案:【0.500000】28、【填空题】执行以下代码段后,输出结果是。floatx=2,y;if(x0)y=0;elseif(x10)y=1.0/10;elsey=1;printf(%.1f\n,y);本题答案:【0.1】29、【填空题】当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是。if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;elsex=3;elsex=6;elsex=7;本题答案:【2】30、【填空题】表达式863值是()。本题答案:【0】【练习】while1、【单选题】intx=1;while(x5);x++;执行上面程序段,下面说法正确的是()。本题答案:【程序执行出现死循环。】2、【填空题】下面循环结束后x值为。intx=1;while(x++5);本题答案:【6】【练习】do-while语句1、【单选题】执行以下程序段时,()。x=-1;do{x=x*x;}while(!x);本题答案:【循环体将执行1次】【练习】for语句1、【单选题】语句for(表达式1;;表达式3)等价于()。本题答案:【for(表达式1;1;表达式3)】2、【单选题】下面的这个循环的循环次数是()。for(inti=0,j=5;i=j=10;i++,j--)本题答案:【无限次】3、【判断题】在for(exp1;exp2;exp3)中,exp3可以是逗号表达式。本题答案:【正确】4、【填空题】下面的循环语句,循环体执行的次数是次。for(a=0;a10;a++)a++;本题答案:【5】【练习】break+continue1、【判断题】在循环体中如果执行到break语句,则立即结束该循环,而不再判断执行当前循环的条件是否成立。本题答案:【正确】2、【判断题】在循环体中如果执行到continue语句,则立即结束该循环,而不再判断执行当前循环的条件是否成立。本题答案:【错误】【练习】多重循环1、【单选题】以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出。程序运行后结果不正确,调试中发现有1条语句在程序的位置不正确。这条语句是()。#includestdio.hintmain(){intn,k;floatscore,sum,ave;sum=0.0;for(n=1;n=10;n++){for(k=1;k=4;k++){scanf(%f,score);sum+=score;}ave=sum/4.0;printf(NO%d:%f\n,n,ave);}return0;}本题答案:【第6行,sum=0.0;】2、【判断题】对于并列的循环结构中,控制循环执行的变量名字可以相同。本题答案:【正确】3、【判断题】双重循环中,内循环中的continue语句的作用是结束内循环,并继续执行外循环。本题答案:【错误】4、【判断题】在多层循环中,一个break语句只能结束其当前所在层次的循环结构。本题答案:【正确】【测验3】循环结构1、【单选题】下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,请在下划线处填空()?#includestdio.hintmain(){intm=0,n=0;charc;while((_______)!='\n'){if(c='A'c='Z')m++;if(c='a'c='z')n++;}printf(%d%d,m,n);return0;}本题答案:【c=getchar()】2、【单选题】以下程序段运行时,若输入123450回车,输出结果是()?ints;scanf(%d,s);while(s0){switch(s){case1:printf(%d,s+5);case2:printf(%d,s+4);break;case3:printf(%d,s+3);default:printf(%d,s+1);break;}scanf(%d,s);}本题答案:【6566456】3、【单选题】执行while(表达式)循环的条件是()。本题答案:【当表达式的值为非0时】4、【单选题】下面程序段的输出结果是()?intn=9;while(n6){n--;printf(%d,n);}本题答案:【876】5、【单选题】语句for(表达式1;;表达式3)等价于?()本题答案:【for(表达式1;1;表达式3)】6、【单选题】以下不会构成死循环的语句或语句组是?()本题答案:【n=0;do{++n;}while(n=0);】7、【单选题】以下程序段的循环次数是?()for(i=2;i==0;)printf(%d,i--);本题答案:【0次】8、【单选题】若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是哪一个?()本题答案:【for(i=1;i=5;i++){p=1;p*=i;}】9、【单选题】若有以下程序段,正确的描述是什么?()for(m=1;m=100;m++){scanf(%d,y);if(y0)continue;printf(%d,m);}本题答案:【最多允许输出100个非负整数】10、【单选题】下面程序段执行后,n的值是()。inti,n=0;for(i=2;i5;i++){do{if(i%3)continue;n++;}while(!i);n++;}本题答案:【4】11、【单选题】下面程序的功能是输出以下形式的金字塔图案,划线处应该填入的是?()#includestdio.hintmain(){inti,j;for(i=1;i=4;i++){for(j=1;j=4-i;j++)printf();for(j=1;j=_______;j++)printf(*);printf(\n);}return0;}本题答案:【2*i-1】12、【单选题】变量m的初值是55,执行完以下程序段后,m的值为()。for(i=1;i=3;i++)for(j=3;j=i;j++)m=m%j;本题答案:【1】13、【单选题】有整型变量a和b,若运行以下程序段时从键盘输入:18,11回车,循环结束时变量a、b的值分别为()。scanf(%d,%d,a,b);while(a!=b){while(ab)a-=b;while(ba)b-=a;}本题答案:【11】14、【单选题】#includestdio.hintmain(){intk=2;while(k=0){printf(%d,k);k--;}return0;}则下面描述中正确的是?()本题答案:【循环体语句一次也不执行】15、【单选题】运行下面程序段后,输出结果是?()inti=6;while(i--)printf(%d,--i);本题答案:【420】16、【单选题】设intm;,与while(!m)等价的是下面哪个?()本题答案:【while(m==0)】17、【单选题】下面循环的循环次数是()。for(inti=0,j=10;i=j=10;i++,j--)本题答案:【无限次】【练习】一维数组的定义1、【单选题】在C语言中,引用数组元素时,其数组下标的数据类型不允许是()。本题答案:【实型表达式】2、【单选题】对于已定义的数组,以下描述正确的是()。本题答案:【数组的大小是固定的,所有数组元素的类型必须相同。】3、【单选题】有定义:”intx[10]={0,2,4};”,则数组x在内存中所占字节数是_____。本题答案:【40】4、【单选题】执行下面的语句段后,变量k的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;本题答案:【不定值】5、【单选题】若有下面的数组定义,关于数组a元素个数的选项哪个是错误的()。inta[]={0,1,2,3,4,5,6,7,8,9};本题答案:【9】【练习】一维数组引用1、【单选题】下面输出结果正确的是()。inta[5]={1,2,3,4,5};inti;for(i=0;i5;i++)printf(%d,a[i]);本题答案:【12345】2、【单选题】下面程序中有错误的行是()。#includestdio.hintmain(){inta[3]={1};inti;scanf(%d,a);for(i=1;i3;i++){a[0]=a[0]+a[i];printf(a[0]=%d\n,a[0]);}return0;}本题答案:【6】【练习】二维数组定义1、【判断题】二维数组中的数组元素可以是不同的数据类型。本题答案:【错误】2、【填空题】若有以下定义:doublea[3][5];,则数组a占用字节数为()字节。本题答案:【120】随堂练习-二维数组初始化1、【单选题】以下能对二维数组y进行初始化的语句是()。本题答案:【inty[][3]={{1,2,3},{4,5,6}};】2、【单选题】若有说明inta[3][4]={0};,则下面正确的叙述是()。本题答案:【数组a中每个元素均可得到初值0。】3、【填空题】若有定义:inta[][5]={{3,15,6},{11,12}};,则a[0][7]的值为()。本题答案:【0】【练习】二维数组引用1、【单选题】若有说明inta[3][4];,则对a数组元素的正确引用是()。本题答案:【a[1+1][0]】2、【单选题】若有定义:inta[2][2];,则以下赋值语句正确的是()。本题答案:【a[1][1]=5;】3、【判断题】c语言中,二维数组在内存中的存放也是二维的。本题答案:【错误】【测验4】一维与二维数组1、【单选题】若有定义:inta[5]={1,2,3,4,5};charb='c',c;则下面表达式值为2的是_____。本题答案:【a[b-'b']】2、【单选题】下面程序的功能是求数组中所有元素之和,根据现有代码,请问修改哪一行代码可以解决所求问题()。#includestdio.hintmain(){floatarray[5]={0};floatsum=0;inti;for(i=0;i5;i++)scanf(%f,array[i]);for(i=1;i=5;i++)sum+=array[i];printf(sum=%f\n,sum);return0;}本题答案:【第10行sum+=array[i];】3、【单选题】若有以下数组说明,则数值最小的元素和值最大的元素下标分别是()。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};本题答案:【0,11】4、【单选题】若有说明inta[3][4]={0};,则下面正确的叙述是()。本题答案:【数组a中每个元素均可得到初值0】5、【单选题】分析下列程序段的输出结果是()。inta[4][4]={{1,-2,3},{0,5,-7,8},{-3,7,0,4},{9,0,-8,2}};inti,j,s=0;for(i=0;i4;i++)for(j=0;j4;j++){if(a[i][j]0)continue;if(a[i][j]==0)break;s+=a[i][j];}printf(%d,s);本题答案:【20】6、【单选题】有下面的数组定义,a[2][2]的值是()。inta[][3]={1,2,3,4,5,6,7,8,9,10};本题答案:【9】7、【单选题】以下定义语句错误的是()。本题答案:【inty[5]={0,1,3,5,7,9};】8、【单选题】int型占4个字节,若有下面的数组定义,则数组a在内存中占用的字节数是()。inta[][3]={0,1,2,3,4,5,6,7,8,9};本题答案:【48】9、【单选题】若有下面的数组定义,则数组a的元素个数是()。inta[][3]={0,1,2,3,4,5,6,7,8,9};本题答案:【sizeof(a)/sizeof(int)】10、【单选题】下面程序中有错误的行是()。intmain(){intx[3]={1};intk;scanf(%d,x);for(k=1;k3;k++)x[0]=x[0]+x[k];printf(x[0]=%d\n,x[0]);return0;}本题答案:【第5行scanf(%d,x);】11、【单选题】在inta[][3]={{1,4},{3,2},{4,5,6},{0}};中,a[2][1]的值是()。本题答案:【5】12、【单选题】有说明语句inta[4][5];,则a[2]+3表示__。本题答案:【a数组行下标为2、列下标为3的元素的地址】13、【单选题】以下数组定义中错误的是()。本题答案:【intx[2][3]={{1,2},{3,4},{5,6}};】14、【单选题】若二维数组a有m列,则计算任一元素a[i][j]在数组中映射关系为()本题答案:【a[0][i*m+j]】15、【单选题】设数组a中的元素均为正整数,以下程序是求数组a中偶数的个数和偶数的平均值,以下哪个选项能填在划线处?intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};intk,s,i;floatave;for(k=s=i=0;i10;i++){if(a[i]%2!=0)______________;s+=a[i];k++;}if(k!=0){ave=s/k;printf(%d,%f\n,k,ave);}return0;}本题答案:【continue】16、【单选题】若有下面的数组定义,关于数组a元素个数的选项哪个是错误的()。inta[]={0,1,2,3,4,5,6,7,8,9};本题答案:【9】【练习】字符数组定义及初始化1、【判断题】字符'\0'与字符'0'是指同一个字符。本题答案:【错误】2、【判断题】可以通过对数组名赋值的方式为字符数组赋值。例如:chara[10];a=abcde;本题答案:【错误】3、【判断题】字符数组定义后,系统自动为数组各元素赋值为0。本题答案:【错误】4、【填空题】在C语言中,字符串不能存放在一个变量中,而是存放在一个中。本题答案:【数组】5、【填空题】字符'\0'是字符串的结束标记,其ASCII码值为本题答案:【0】6、【填空题】字符'0'的ASCII码值为。本题答案:【48】【练习】字符数组输入输出1、【单选题】下面程序段的运行结果是()charc[5]={'a','b','\0','c','\0'};printf(%s,c);本题答案:【ab】2、【填空题】设有chara[]=ABCD;,则printf(%c,*a)的输出是。本题答案:【A】【练习】字符串函数1、【单选题】执行以下程序段后,输出结果为()。charp[]=def,str[20]=abc;strcpy(str+1,p);printf(%s\n,str);本题答案:【adef】2、【填空题】如果要比较两个字符串是否相同,可使用的库函数是。本题答案:【strcmp】【练习】指向数组的指针1、【单选题】若有定义inta[5],*p=a;,则错误引用数组a[0]元素的表达式是()。本题答案:【p+0】2、【单选题】执行下面程序段后,*p等于()。inta[5]={1,3,5,7,9},*p=a;p++;本题答案:【3】【练习】指针与字符数组1、【单选题】设chars[10],*p=s;,以下不正确的表达式是()。本题答案:【s=p+s】【测验5】字符数组与指针1、【单选题】字符串2019-05-11在存储单元中占()个字节。本题答案:【11】2、【单选题】以下程序段中,会出现编译错误的选项是()。本题答案:【chars[10];s=abcdefg;】3、【单选题】有如下的语句:charp[]=hello!;charq[10]={'h','e','l','l','o','!'};printf(%d%d,strlen(p),strlen(q));则下面输出正确的是()。本题答案:【66】4、【单选题】s1和s2分别表示两个字符串,若要求当s1所指字符串大于s2所指字符串时,输出ok,则以下选项正确的是()。本题答案:【if(strcmp(s1,s2)0)printf(ok);】5、【单选题】以下程序段的输出结果是()charstr[12]={'s','t','d','i','o'};printf(%d\n,strlen(str));本题答案:【5】6、【单选题】若有定义:intx,*p;则以下正确的赋值表达式是()本题答案:【p=x】7、【单选题】执行下列程序段后,*(p+5)的值为()charstr[]=World;char*p;p=str;本题答案:【'\0'】8、【单选题】有定义:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()。本题答案:【*(p+8)】9、【单选题】执行下面程序段后,a的值为()。int*p,a=10,b=1;p=a;a=*p+b;本题答案:【11】10、【单选题】以下程序段执行后,a的值是()。inta,k=4,m=6,*p1=k,*p2=m;a=p1==p2;printf(%d\n,a);本题答案:【0】11、【单选题】若有定义charcc[]=12345,sizeof(cc)的值为()。本题答案:【6】12、【单选题】下述语句中,()可以在字符串s1和s2相等时显示Equal.。本题答案:【if(!strcmp(s1,s2))puts(“Equal.”);】13、【单选题】下列程序片段中不正确的字符串赋值或初始化方式是()。本题答案:【charstr[10];str=”string”;】14、【单选题】有关下面程序段的输出结果,正确的判断是()。chars[]=ABCD,*p=s;printf(%d\n,p[4]);本题答案:【输出0】【练习】函数定义1、【单选题】C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是()。本题答案:【int】【练习】函数的参数与返回值1、【单选题】在一个被调用函数中,关于return语句使用的描述,错误的是()。本题答案:【被调用函数中,一个return语句可以返回多个值给调用函数。】【练习】函数参数传递与调用1、【单选题】有以下函数定义中:voidfunc(intx,floaty){......}若以下选项中的变量都已正确定义并赋值,则对函数func()的调用语句正确的是()。本题答案:【func(n,x);】2、【单选题】下列程序的输出结果是()。#includestdio.hvoidfunc(inta,intb,intc){a=123;b=456;c=789;}intmain(){intx=10,y=20,z=30;func(x,y,z);printf(%d,%d,%d\n,x,y,z);return0;}本题答案:【10,20,30】3、【单选题】下列程序的输出结果是()。#includestdio.hvoidf(intx,inty){intt;t=x;x=y;y=t;}intmain(){intx=10,y=20,z=30;if(xy)f(x,y);elseif(yz)f(y,z);elsef(x,z);printf(%d,%d,%d,x,y,z);return0;}本题答案:【10,20,30】【练习】变量的作用域与存储类别1、【单选题】以下叙述中不正确的是()。本题答案:【在一个函数内的复合语句中定义的变量在本函数范围内有效。】2、【单选题】下列程序中的输出结果是()。intf(intn){staticintm=3;m+=n;returnm;}intmain(){intx=2,y=1,z;z=f(x);z=f(y);printf(%d,z);return0;}本题答案:【6】3、【单选题】下列程序的输出结果是()。#includestdio.hinta=30,b=40;fun(intx,inty){a=x;x=y;y=a;}intmain(){intm=10,n=20;fun(m,n);fun(a,b);printf(%d,%d,%d,%d,m,n,a,b);return0;}本题答案:【10,20,10,40】【测验6】函数与变量存储属性1、【单选题】以下程序的输出结果是____。#includestdio.hinta,b;voidfun(){a=100;b=200;}intmain(){inta=5,b=7;fun();printf(%d,%d,a,b);return0;}本题答案:【5,7】2、【单选题】下面关于形参和实参的说法中,正确的是____。本题答案:【实参与它所对应的形参占用不同的存储单元】3、【单选题】有如下函数调用语句,函数调用语句中,含有的实参个数是____。func(rec1,rec2+rec3,(rec4,rec5));本题答案:【3】4、【单选题】定义的函数有返回值,则以下关于该函数调用的叙述中错误的是____。本题答案:【调用可以作为一个函数的形参。】5、【单选题】以下程序运行后,输出结果是____。intfunc(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}intmain(){intk=4,m=1,p;p=func(k,m);printf(%d,,p);p=func(k,m);printf(%d\n,p);return0;}本题答案:【8,17】6、【单选题】有如下函数定义:longfib(intn){if(n2)return(fib(n-1)+fib(n-2));elsereturn2;}在主函数中执行下面语句,输出结果是()。printf(%d,fib(3));本题答案:【4】7、【单选题】intf(inta){autointb=0;staticintc=3;b=b+1;c=c+1;return(a+b+c);}如果有inti,j;则执行下面两次调用后,i,j值为____。i=f(2);j=f(2);本题答案:【i=7,j=8】8、【单选题】在一个被调用函数中,关于return语句使用的描述,错误的是()。本题答案:【被调用函数中,一个return语句可以返回多个值给调用函数】9、【单选题】C语言中函数返回值的类型是由()决定的。本题答案:【定义函数时所指定的函数类型】10、【单选题】如果要一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,则这个变量的存储类型应该被说明为()。本题答案:【static静态变量】11、【单选题】以下叙述中正确的是()。本题答案:【C语言规定必须用main作为主函数名,程序将从主函数开始执行。】12、【判断题】在不同的函数中可以定义名字相同的变量。本题答案:【正确】13、【判断题】函数的形参都属于全局变量。本题答案:【错误】14、【判断题】定义语句中未赋初值的auto变量和static变量的初值都是随机值。本题答案:【错误】【练习】结构体使用1、【单选题】C语言中,定义结构体的保留字是()。本题答案:【struct】2、【单选题】C语言结构体类型变量在程序执行期间()。本题答案:【所有成员一直驻留在内存中】3、【单选题】结构体类型的定义允许嵌套是指()。本题答案:【成员是已经或正在定义的结构体型】4、【单选题】相同结构体类型的变量之间,可以()。本题答案:【赋值】5、【单选题】以下对结构体类型变量的定义中不正确的是()。本题答案:【struct{intnum;floatage;}student;structstudentstd1;】【练习】共用体1、【单选题】以下对C语言中共用体类型数据的叙述正确的是()。本题答案:【一个共用体变量中不可能同时存放其所有成员】2、【单选题】定义共用体的关键字是()。本题答案:【union】3、【单选题】使用共用体变量,不可以()。本题答案:【同时访问所有成员】【测验7】结构体与共用体1、【单选题】C语言结构体类型变量在程序执行期间()。本题答案:【所有成员一直驻留在内存中】2、【单选题】当定义一个结构体变量时,系统分配给它的内存是()。本题答案:【各成员所需内存量的总和】3、【单选题】相同结构体类型的变量之间,可以()。本题答案:【赋值】4、【单选题】若有以下说明,则对结构体变量stud1中成员age的不正确引用方式为()。structStudent{intage;intnum;}stud1,*p;p=stud1;本题答案:【*p.age】5、【单选题】已知学生记录描述如下,设变量s中的“生日”应是“1984年11月11日”,下列对生日的正确赋值方式是()。structstudent{intno;charname[20];charset;struct{intyear;intmonth;intday;}birth;};structstudents;本题答案:【s.birth.year=1984;s.birth.month=11;s.birth.day=11;】6、【单选题】设有以下说明语句,则下面的叙述不正确的是()。structstu{inta;floatb;}stutype;本题答案:【stutype是用户定义的结构体类型名】7、【单选题】当说明一个共用体变量时系统分配给它的内存是()。本题答案:【成员中占内存量最大者所需的容量】8、【单选题】以下对C语言中共用体类型数据的叙述正确的是()。本题答案:【一个共用体变量中不可能同时存放其所有成员】9、【单选题】若有以下定义和语句,则以下语句正确的是()。uniondata{inti;charc;floatf;}a;intn;本题答案:【a.i=2;】10、【单选题】C语言共用体型变量在程序运行期间()。本题答案:【只有一个成员驻留在内存中】【测验8】文件1、【单选题】在C语言中,从文件将数据传送到计算机内存,称为()。本题答案:【输入】2、【单选题】C语言文件的组成部分是()。本题答案:【字符(字节)序列】3、【单选题】下列语句中,将fp定义为文件型指针的语句是()。本题答案:【FILE*fp;】4、【单选题】设已经正确打开1个已存有数据的文本文件,文件中原有数据为abcdef,新写入的数据为xyz。若文件中的数据最后变为xyzdef,则该文件的打开方式是()。本题答案:【r+】5、【单选题】要打开1个已存在的非空文件file.txt用于修改,正确的语句应为()。本题答案:【fp=fopen(file.txt,r+);】6、【单选题】若fp是指向某文件的指针,且已经读到该文件的末尾,则C语言函数feof(fp)的返回值是()。本题答案:【非0值】7、【单选题】若以“a+”方式打开一个已存在的文件,则以下叙述正确的是()。本题答案:【文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可做添加和读操作。】期末考试-客观题1、【单选题】表达式__的值是0。本题答案:【3/5】2、【单选题】下列运算符中,优先级最低的是____。本题答案:【=】3、【单选题】表达式531值是__.本题答案:【0】4、【单选题】以下关于break语句的描述中正确的是()本题答案:【在switch语句中可以不使用break语句】5、【单选题】本题答案:【y=0;if(x=0);if(x0)y=1;elsey=-1;】6、【单选题】以下程序运行时,输入的x值在()范围时才会有输出结果。本题答案:【大于3且不等于10的整数】7、【单选题】对条件表达式(M)?(a++):(a--)来说,其中表达式M等价于()。本题答案:【M!=0】8、【单选题】定义FILE*fp;则文件指针fp指向的是()。本题答案:【文件在缓冲区上的读写位置】9、【单选题】执行while(表达式)循环的条件是?()本题答案:【当表达式的值为非0时】10、【单选题】以下程序段的循环次数是?()本题答案:【0次】11、【单选题】有如下定义:structStudent{charname[10];intage;chargender;}std[3],*p=std;则以下各输入语句中错误的是()。本题答案:【scanf(%s,);】12、【单选题】C语言中while和do-whil

温馨提示

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

评论

0/150

提交评论