




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【MOOC】C语言程序设计-华中科技大学中国大学慕课MOOC答案第一周单元测试1、【单选题】以下关于C语言说法错误的是()。本题答案:【C语言程序习惯使用大写英文字母】2、【单选题】以下不正确的C语言标识符是()。本题答案:【xy.z】3、【单选题】以下正确的C语言标识符是()。本题答案:【x123】4、【单选题】一个C语言程序的执行是从()。本题答案:【main()函数开始,直到main()函数结束】5、【单选题】在C语言程序中,main()函数的位置()。本题答案:【可以任意】6、【单选题】一个C程序是由()。本题答案:【一个或多个函数组成】7、【单选题】C语言源程序的基本单位()。本题答案:【函数】8、【单选题】编辑程序的功能是()。本题答案:【建立并修改程序】9、【单选题】C编译程序是()。本题答案:【将C源程序编译成目标程序】10、【单选题】C编译程序能发现源程序的()。本题答案:【语句的语法错误】11、【单选题】带C语言编译器的CodeBlocks集成开发环境不能完成()。本题答案:【设计C程序】12、【单选题】CodeBlocks调试程序进入调试状态后,可以()。本题答案:【查看当前函数中有效作用域的变量】13、【判断题】一个C语言程序可以有多个main()函数本题答案:【错误】14、【判断题】C语言程序区分大小写本题答案:【正确】15、【判断题】C语言程序的变量名可以是关键字本题答案:【错误】16、【判断题】C语言编译程序可以发现注释错误本题答案:【错误】17、【判断题】CodeBLocks集成开发环境,可以设计C程序本题答案:【错误】第二周单元测验1、【单选题】已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。执行语句“printf(%d,%d,c1,c2-2);”后,输出的结果是()。本题答案:【65,66】2、【单选题】字符串\\\ABC\\\的长度是()。本题答案:【7】3、【单选题】设有整型变量i,其值为020;整型变量j,其值为20。执行语句:printf(%d,%d\n,i,j);后,输出结果是()。本题答案:【16,20】4、【单选题】设整型变量x为5,y为2,结果值为1的表达式是()。本题答案:【x!=y||x=y】5、【单选题】二进制加法10010100+00110010的和为()。本题答案:【11000110】6、【单选题】属于整型常量的是()。本题答案:【14】7、【单选题】x,a,b均为整型变量,执行语句“x=a=3,b=(a--);”后,x、a、b的值依次为()。本题答案:【3,2,3】8、【单选题】设整型变量x的值为35,则表达式“(x15)(x|15)”的值是()。本题答案:【1】9、【单选题】属于实型常量的是()。本题答案:【1E-1】10、【单选题】设整型变量a为5,使整型变量b不为2的表达式是()。本题答案:【b=a%2;】11、【单选题】设有整型变量n1、n2,其值均为3,执行语句“n2=(n1++,n2++,++n1);”后,n2的值是()。本题答案:【5】12、【单选题】设单精度型变量f、g均为5.0,使f为10.0的表达式是()。本题答案:【f+=g;】13、【单选题】表达式“1?(0?3:2):(10?1:0)”的值为()。本题答案:【2】14、【单选题】设x、y、z均为实型变量,代数式“x/(yz)”的C表达式写法正确的是()。本题答案:【x/(y*z)】15、【单选题】下面程序的输出是()。#includestdio.hvoidmain(){intx=10,y=3;printf(%d\n,y=x/y);}本题答案:【3】16、【单选题】下列不正确的转义字符是()。本题答案:【'\084'】17、【单选题】若有以下定义:chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为()。本题答案:【double】18、【单选题】以下程序的输出结果是()。#includestdio.hvoidmain(){inta=10,b=10;printf(%d,%d\n,--a,++b);}本题答案:【9,11】19、【单选题】表达式1.5-7/2+4.3+5%2的值是()。本题答案:【3.8】20、【单选题】若有以下程序:#includestdio.hvoidmain(){intk=2,i=2,m;m=(k+=i*=k);printf(%d,%d\n,m,i);}执行后的输出结果是()。本题答案:【6,4】21、【单选题】能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()。本题答案:【a=10‖a=0】22、【单选题】已知unsignedintx=012,y=0x0f;则表达式xy的结果为()。本题答案:【10】23、【单选题】已知unsignedintx=012,y=0x0f;则表达式x|y的结果为()。本题答案:【15】24、【单选题】已知unsignedintx=012,y=0x0f;则表达式x^y的结果为()。本题答案:【5】25、【单选题】已知unsignedintx=012,y=0x0f;则表达式x(y^y)的结果为()。本题答案:【0】26、【单选题】已知unsignedintx=012,y=0x0f;则表达式(x3)(y4)的结果为()。本题答案:【0】27、【单选题】已知inta=5,b=4;则表达式!a++b运行后,变量a,b的值分别为()。本题答案:【5,4】28、【单选题】已知inta=5,b=3;则表达式a||(b+4)((++a)*(b++))运行后,表达式、变量a与b的值分别为()。本题答案:【1,5,3】29、【单选题】已知inta=10,b=20,c;max=b;则表达式c=(ab)(max=a)运行后,变量c与max的值分别为()。本题答案:【0,20】30、【单选题】已知unsignedinta=1,b=2,c=3,d=4;floatf=1.0;则表达式f=(((a-bd-c)?a++:b++),a*b)运行后,变量f的值为()。本题答案:【4.0】31、【单选题】在C语言中,表达式“56”的值为()。本题答案:【1】32、【单选题】有以下程序#includestdio.hvoidmain(){inta,b,c=290;a=(c/100)%9;b=(-1)(-1);printf(%d,%d\n,a,b);}输出结果是()。本题答案:【2,1】33、【单选题】下面程序的输出是()。#includestdio.hvoidmain(){inta=-1,b=4,k;k=(a++0)(!(b--=0));printf(%d,%d,%d%\n,k,a,b);}本题答案:【1,0,3】34、【单选题】有以下程序#includestdio.hvoidmain(){inta,b,d=25;a=d/10%9;b=a(-1);printf(%d,%d\n,a,b);}程序运行后的输出结果是()。本题答案:【2,1】35、【判断题】在C语言程序中对用到的所有变量都必须先进行定义并指定其数据类型。本题答案:【正确】36、【判断题】一个变量在内存中占据一定的存储单元。本题答案:【正确】37、【判断题】在C语言程序中语句”floata=b=c=1.0;”是合法的。本题答案:【错误】38、【判断题】自增运算符(++)或自减运算符(--)不能用于常量。本题答案:【正确】39、【判断题】在C程序的表达式中,为了明确表达式的运算次序,提倡使用小括号”()”。本题答案:【正确】40、【判断题】%运算符要求运算的操作数必须是整型数。本题答案:【正确】41、【判断题】关系表达式的值可以是任意整数。本题答案:【错误】42、【判断题】在C语言中,逗号运算符的优先级最低。本题答案:【正确】43、【判断题】C语言允许混合类型数据之间进行运算。本题答案:【正确】44、【判断题】转义字符表示法只能表示字符不能表示数字。本题答案:【错误】45、【判断题】在C语言标识符定义中,大小写字母是不加区分的。本题答案:【错误】第三周单元测验1、【单选题】C语言的结构化程序设计所包含的结构是()。本题答案:【顺序结构、选择结构和循环结构】2、【单选题】下面哪个语句不便于C语言结构化编程的是()。本题答案:【goto语句】3、【单选题】C语言的流程控制语句不包括()。本题答案:【表达式语句】4、【单选题】C语言的辅助控制语句不包括()。本题答案:【swicth...case语句】5、【单选题】关于C语言的复合语句,下面哪种说法是正确的()。本题答案:【将若干条语句用括弧{}括起来就构成了复合语句;】6、【单选题】关于C语言的空语句,下面哪种说法是正确的()。本题答案:【只有分号的语句就叫空语句;】7、【单选题】关于表达式语句,下面哪种说法是正确的()。本题答案:【任何一个表达式加上一个分号就是一条表达式语句;】8、【单选题】关于while循环,下面哪种说法是错误的()。本题答案:【while循环的循环体不能为空语句;】9、【单选题】阅读以下程序:#includestdio.hvoidmain(){intx;scanf(%d,x);if(x--5)printf(%d,x);elseprintf(%d,x++);}程序运行后,如果从键盘上输入5,则输出结果是()。本题答案:【4】10、【单选题】有如下程序,该程序的输出结果是()。#includestdio.hvoidmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(a=%d,b=%d\n,a,b);}本题答案:【a=2,b=1】11、【单选题】有以下程序#includestdio.hvoidmain(){inta=16,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}}printf(%d\n,m);}程序运行后的输出结果是()。本题答案:【3】12、【单选题】有以下程序#includestdio.hvoidmain(){inta=5,b=4,c=3,d=2;if(abbc)printf(%d\n,d);elseif(c-1=d)printf(%d\n,d+1);elseprintf(%d\n,d+2);}执行后输出结果是()。本题答案:【2】13、【单选题】有以下程序#includestdio.hvoidmain(){inta=3,b=4,c=5,d=2;if(ab){if(bc)printf(%d,d+++1);elseprintf(%d,++d+1);}printf(%d\n,d);}程序运行后的输出结果是()。本题答案:【43】14、【单选题】有以下程序#includestdio.hvoidmain(){inti,s=0;for(i=1;i10;i+=2)s+=i+1;printf(%d\n,s);}程序运行后的输出结果是()。本题答案:【数1~10中的偶数之和】15、【单选题】以下程序段的输出结果是()。intx=3;do{printf(%3d,x-=2);}while(!(--x));本题答案:【1-2】16、【单选题】以下程序中,while循环的循环次数是()。#includestdio.hvoidmain(){inti=0;while(i10){if(i1)continue;if(i==5)break;i++;}......}本题答案:【死循环,不能确定次数】17、【单选题】有以下程序#includestdio.hvoidmain(){inta=12,b=-34,c=-56,min;min=a;if(minb)min=b;if(minc)min=c;printf(min=%d,min);}输出结果是()。本题答案:【min=-56】18、【单选题】有以下程序#includestdio.hvoidmain(){inta;scanf(%d,a);if(a=0){if(a%2==0)printf(%disapositiveevennumber.\n,a);elseprintf(%disapositiveoddnumber.\n,a);}else{if(a%2==0)printf(%disanegativeevennumber.\n,a);elseprintf(%disanegativeoddnumber.\n,a);}}若通过键盘输入-11,则运行结果是()。本题答案:【-11isanegativeoddnumber.】19、【单选题】有以下程序#includestdio.hvoidmain(){charc;while((c=getchar())!='$'){if('A'=cc='Z')putchar(c+32);elseif('a'=cc='z')putchar(c);}}当输入为abc*%ABC#!$时,运行结果是()。本题答案:【abcabc】20、【单选题】输入一个字符,判断该字符是数字、字母、空格还是其它字符。请选择正确的答案填空()。#includestdio.hvoidmain(){charc;c=getchar();if(____________________________)printf(ItisanENGLISHcharacter.\n);elseif('0'=cc='9')printf(ItisaDIGITALcharacter.\n);elseif(c==32)printf(ItisaSPACEcharacter.\n);elseprintf(Itisothercharacter.\n);}当输入为abc*%ABC#!$时,运行结果是()。本题答案:【('A'=cc='Z')||('a'=cc='z')】21、【单选题】程序读入10个整数,统计其中非负数的个数,并计算非负数之和。请选择正确的答案填空()。#includestdio.hvoidmain(){inti,a,s=0,count=0;for(i=0;i10;i++){scanf(%d,a);if(a0)continue;____________________}printf(s=%d\tcount=%d\n,s,count);}本题答案:【s+=a;count++;】22、【判断题】C语言程序的结构和版式是没有任何规律的;本题答案:【错误】23、【判断题】初学者编写C语言的程序不需要养成加注释的习惯;本题答案:【错误】24、【判断题】使用复合语句便于程序的结构化;本题答案:【正确】25、【判断题】结构化程序设计的三种基本结构是顺序结构、选择结构和循环结构。本题答案:【正确】26、【判断题】break语句的功能只是用于退出循环;本题答案:【错误】27、【判断题】C语言中一般情况下不推荐使用goto语句;本题答案:【正确】28、【判断题】switch多分支选择语句的功能可以用条件分支嵌套语句来实现本题答案:【正确】29、【判断题】空语句就是程序中没有什么作用的语句;本题答案:【错误】30、【判断题】while循环和for循环可以相互替代;本题答案:【正确】31、【判断题】在一些特定的应用中,用switch多分支选择语句代替条件分支嵌套语句可以提高程序的可读性。本题答案:【正确】第四周单元测验1、【单选题】如下程序,求序列:1、3、5、7.......的前20项之和,请选择正确的答案填空()。#includestdio.hvoidmain(){inti;intsum,t;//sum代表和,t代表某项sum=0;t=1;for(i=1;___________;i++){sum+=t;t+=2;}printf(sum=%d,sum);}本题答案:【i=20】2、【单选题】计算2+4+6+8+......+100的值,请选择正确的答案填空()。#includestdio.hvoidmain(){inti;ints,t;//s代表和,t代表某项s=0;t=2;for(i=1;i=50;i++){_____________;t+=2;}printf(sum=%d,s);}本题答案:【s=s+t】3、【单选题】如下程序,求序列:1!,2!,3!,4!………..的前八项之和.请选择正确的答案填空()。#includestdio.hvoidmain(){inti;________________;//sum代表和,t代表某项sum=0;t=1;for(i=1;i=8;i++){sum+=t;t*=(i+1);}printf(sum=%ld,sum);}本题答案:【longsum,t】4、【单选题】求序列:2!+3!+4!+5!+……+11!的值.请选择正确的答案填空()。#includestdio.hvoidmain(){inti;longsum,t;//sum代表和,t代表某项sum=0;t=2;for(i=1;i=10;i++){sum+=t;_________________;}printf(sum=%ld,sum);}本题答案:【t*=(i+2)】5、【单选题】编一程序,求100-999之间所有的水仙花数,所谓水仙花数就是说数的百位。十位和个位数的立方和恰好等于它本身。请选择正确的答案填空()。#includestdio.hvoidmain(){inti,a,b,c;for(_______________________){a=i/100;//求百位数b=(i-a*100)/10;//求十位数c=i%10;//求个位数if(a*a*a+b*b*b+c*c*c==i){printf(%6d,i);}}}本题答案:【i=100;i=999;i++】6、【单选题】有以下程序#includestdio.hvoidmain(){inta=1,b;for(b=1;b=10;b++){if(a=8)break;if(a%2==1){a+=5;continue;}a-=3;}printf(%d\n,b);}程序运行后的输出结果是()。本题答案:【4】7、【单选题】有以下程序#includestdio.hvoidmain(){inti;for(i=0;i3;i++){switch(i){case1:printf(%3d,i);case2:printf(%3d,i);default:printf(%3d,i);}}}执行后输出结果是()。本题答案:【011122】8、【单选题】下面程序的输出是()。#includestdio.hvoidmain(){inty=9;for(;y0;y--){if(y%3==0){printf(%3d,--y);continue;}}}本题答案:【852】9、【单选题】有以下程序#includestdio.hvoidmain(){intx,i;for(i=1;i=50;i++){x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf(%d,i);}}输出结果是()。本题答案:【41】10、【单选题】以下程序为求序列:1/2、3/4、5/8、7/16、9/32、……所有大于或等于0.000001的数据项之和。请选择正确的答案填空()。#includestdio.hvoidmain(){floatsum,a,b;//sum代表和,a代表分子,b代表分母sum=0.0;a=1;//分子赋初值b=2;//分母赋初值while(a/b=1e-6){_________________;a=a+2;//求下一项分子b=b*2;//求下一项分母}printf(sum=%f\n,sum);}本题答案:【sum+=(a/b)】11、【单选题】已知abc+cba=1333,a,b,c,为一位数,以下程序为求所有可能的a,b,c的程序。请选择正确的答案填空()。#includestdio.hvoidmain(){inti,a,b,c;for(i=100;i=999;i++){a=i/100;//求百位数b=(i-a*100)/10;//求十位数c=i%10;//求个位数if(_______________________){printf(a=%d,b=%d,c=%d\n,a,b,c);}}}本题答案:【(a*100+b*10+c+c*100+b*10+a)==1333】12、【单选题】以下程序为求两个正整数的最大公约数的程序。请选择正确的答案填空()。#includestdio.hvoidmain(){inti,a,b;scanf(%d%d,a,b);for(_______________________;i0;i--){if((a%i==0)(b%i==0)){printf(themax=%d,i);break;}}}本题答案:【i=(ab?a:b)】13、【单选题】以下程序为判断一个正整数是否为素数的程序。请选择正确的答案填空()。#includestdio.hvoidmain(){inti,a;scanf(%d,a);for(i=2;ia;i++){if(________________){break;}}if(i=a){printf(%disasushu.\n,a);}else{printf(%disnotasushu.\n,a);}}本题答案:【a%i==0】14、【单选题】用100元钱买100只鸡,其中母鸡每只3元,公鸡每只2元,小鸡1元3只,且每种鸡至少买1只。以下程序为计算百钱买百鸡所有可能购买方案的程序。请选择正确的答案填空()。#includestdio.hvoidmain(){inta,b,c;//a,b,c分别代表母鸡、公鸡和小鸡数for(a=1;a=98;a++){for(b=1;b=98;b++){for(c=1;c=98;c++){if(_______________________________________){printf(muji:%d,gongji:%d,xiaoji:%d\n,a,b,c);}}}}}本题答案:【(a+b+c==100)(a*3+b*2+c/3==100)(c%3==0)】15、【单选题】计算1!,2!,3!,……,10!的值,并输出结果。请选择正确的答案填空()。#includestdio.hvoidmain(){inti;longints=1;//s代表阶乘的结果for(i=1;i=10;i++){______________________;printf(%d!=%ld,i,s);}}本题答案:【s*=i】16、【判断题】for循环语句中的三个表达式起着不同的作用,表达式1一般用于进入循环前给某些变量赋初值;本题答案:【正确】17、【判断题】在for循环语句中,表达式1、表达式2和表达式3都是逗号运算表达式;本题答案:【错误】18、【判断题】在C语言编程中应该尽量少用空格或者空行;本题答案:【错误】19、【判断题】在C语言编程中,如果出现嵌套的大括弧对{},使用缩进对齐的格式能增强程序的可读性;本题答案:【正确】20、【判断题】C语言的辅助控制语句包括break,continue、return和goto语句;本题答案:【正确】21、【判断题】C语言编程中,不提倡把多个语句写在一行中,提倡一行只写一条语句;本题答案:【正确】22、【判断题】在C语言编程时,要养成修改代码同时修改相应注释的习惯,以保证注释与代码的一致性。本题答案:【正确】23、【判断题】在C语言编程中,相对独立的程序块之间、变量说明之后加上空行可以增加程序的可读性。本题答案:【正确】第五周单元测试1、【单选题】下列关于C语言程序的结构化设计,说法错误的是()本题答案:【只有一个源文件,对函数大小没有限制】2、【单选题】定义函数voidfun()函数,函数的返回值类型为()本题答案:【函数无返回值】3、【单选题】下面关于函数描述正确的是()本题答案:【函数的定义不可以嵌套,但是调用可以嵌套】4、【单选题】若定义函数时函数的返回类型缺省,则函数的默认数据类型为()本题答案:【int】5、【单选题】一个函数返回值的类型是由()决定的本题答案:【定义函数时指定的函数数据类型】6、【单选题】下面叙述中正确的是()本题答案:【对于用户自己定义的函数,在使用前必须加以说明】7、【单选题】函数的形参可以是()本题答案:【局部自动变量】8、【单选题】有如下定义的函数:func(inta){printf(%d,a);}则该函数的返回值类型是()本题答案:【int类型】9、【单选题】函数内部的局部静态变量,下列说法正确的是()本题答案:【在函数退出后不被释放,程序执行结束释放】10、【单选题】局部自动变量,下列说法正确的是()本题答案:【进入函数分配内存,退出函数,释放内存】11、【单选题】下列说法不正确的是()本题答案:【全局静态变量和局部静态变量,作用域和寿命相同】12、【单选题】下面程序段运行的结果为()#includestdio.hintf();intf(){staticinti=0;ints=1;s+=i;i++;returns;}voidmain(){inti,a=0;for(i=0;i5;i++)a+=f();printf(%d\n,a);}本题答案:【15】13、【单选题】下面程序段运行的结果为()#includestdio.hinttry1();inttry1(){staticintx=3;x++;returnx;}voidmain(){inti,x;for(i=0;i=2;i++)x=try1();printf(%d\n,x);}本题答案:【6】14、【单选题】下面程序的运算结果为()#includestdio.hvoidfun();intmain(){inta=10;fun();printf(%3d,a);return0;}voidfun(){inta=20;printf(%3d,a);}本题答案:【2010】15、【单选题】以下正确的函数形式是()本题答案:【intfun(intx,inty){doublez;z=x+y;returnz;}】16、【单选题】以下程序的输出结果是()#includestdio.hinti=10;intfunc();voidmain(){intj=1;j=func();printf(%3d,j);j=func();printf(%3d,j);}intfunc(){intk=0;k=k+i;i=i+10;returnk;}本题答案:【1020】17、【判断题】函数内定义的局部变量可以在函数运行结束后继续被调用本题答案:【错误】18、【判断题】变量根据其作用域的范围可以分作局部变量和全局变量本题答案:【正确】19、【判断题】当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区本题答案:【错误】20、【判断题】在一个函数内定义的静态局部变量不能被另外一个函数所调用本题答案:【正确】21、【判断题】函数调用语句:func(rec1,rec2+rec3,(rec4,rec5));中,含有的实参个数是5本题答案:【错误】22、【判断题】变量被定义后,它的作用域和寿命就被确定了,并且不可改变。本题答案:【正确】23、【判断题】在同一个作用域不可定义同名变量,在不同的作用域可以定义同名变量本题答案:【正确】24、【判断题】函数内部的静态变量,在函数退出后不被释放本题答案:【正确】25、【判断题】C语言中函数返回值的类型由return语句中的表达式的类型决定本题答案:【错误】26、【判断题】C语言中一般全局变量与静态全局变量生存期不同本题答案:【错误】27、【判断题】程序进行编译时,不为形式参数分配存储空间本题答案:【正确】28、【判断题】编译器根据函数的原型来检查函数的调用正确与否本题答案:【正确】第六周单元测验1、【单选题】下列说法中正确的是()本题答案:【函数原型是一条语句,不包括函数体】2、【单选题】在调用函数时,如果实参是整型变量,它与对应形参之间的数据传递方式是()本题答案:【单向值传递】3、【单选题】若定义函数float*fun(),则函数fun的返回值为()本题答案:【一个指向变量的指针】4、【单选题】C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是()本题答案:【同名的局部变量】5、【单选题】以下结论中只有()是正确的本题答案:【所有的递归程序均可以采用非递归算法实现】6、【单选题】main()函数的数据类型,可以是()本题答案:【void】7、【单选题】下面程序段运行的结果为()#includestdio.hintfun(floatx,floaty);intfun(floatx,floaty){returnxy?x:y;}voidmain(){printf(%d,%d\n,fun(3,5),fun(4.8,4.6));}本题答案:【5,4】8、【单选题】下面程序的运算结果为()#includestdio.hintfun(intn);intfun(intn){if(n==1||n==2)return1;returnfun(n-1)+fun(n-2);}voidmain(){printf(%d\n,fun(6));}本题答案:【8】9、【单选题】以下程序运行结果是()#includestdio.hvoidf(inta,intb);voidf(inta,intb){intt;t=a;a=b;b=t;}voidmain(){intx=3,y=2,z=1;if(xy)f(x,y);if(yz)f(y,z);if(xy)f(x,y);printf(%d,%d,%d,x,y,z);}本题答案:【3,2,1】10、【单选题】以下程序的输出结果是()#includestdio.hintfunc(ints);voidmain(){inti,x=0;for(i=0;i4;i++){x=func(i+1);printf(%3d,x);}printf(\n);}intfunc(ints){intx;staticintt=3;x=s+t;t++;returnx;}本题答案:【46810】11、【单选题】以下程序的执行结果是()#includestdio.hintswap(inta,intb);voidmain(){inta,b;a=3,b=10;swap(a,b);printf(a=%d,b=%d\n,a,b);}intswap(inta,intb){inttemp;temp=a;a=b;b=temp;return0;}本题答案:【a=3,b=10】12、【单选题】以下程序的执行结果是()#includestdio.hintsum(intk);voidmain(){ints,i;for(i=1;i=10;i++)s=sum(i);printf(s=%d\n,s);}intsum(intk){intx=0;return(x+=k);}本题答案:【s=10】13、【单选题】以下程序的执行结果是()#includestdio.hintfunc(int);voidmain(){inta=1,i;for(i=0;i4;i++){printf(%3d,func(a+i));}}intfunc(intb){staticinti;returnb+i;}本题答案:【1234】14、【单选题】以下程序的执行结果是()#includestdio.hintmulti(intx,inty);voidmain(){inta,b,c;a=10,b=12;c=mult(a,b);printf(%d*%d=%d,a,b,c);}intmulti(intx,inty){returnx*y;}本题答案:【10*12=120】15、【单选题】以下程序的执行结果是()#includestdio.hintn;voidfunc();voidmain(){staticintx=6;inty;y=n;func();printf(x=%d,y=%d,n=%d\n,x,y,n);}voidfunc(){staticintx;inty=10;x=x+20;n=n+2;y=y+n;}本题答案:【x=6,y=0,n=2】16、【判断题】C语言中,函数调用时,形参与实参的个数可以不必保持一致本题答案:【错误】17、【判断题】C语言函数间使用值传递数据时,对形参进行写操作,会影响主调函数里相关变量的值本题答案:【错误】18、【判断题】C语言中,一个函数可以有多个返回值本题答案:【错误】19、【判断题】C语言函数间使用传址方式传递数据时,对形参进行写操作,可以影响主调函数里相关变量的值本题答案:【正确】20、【判断题】C语言中,使用全局变量可以使程序设计简单,移植性好本题答案:【错误】21、【判断题】函数的递归调用是一个函数直接或间接地调用它自身本题答案:【正确】第七周单元测验1、【单选题】下列一维数组定义正确的是()本题答案:【inta[3];】2、【单选题】下列一维数组定义与初始化错误的是()本题答案:【inta[3]=0;】3、【单选题】下列二维数组定义和初始化错误的是()本题答案:【inta[3][];】4、【单选题】在下列语句条件下,二维数组的定义和初始化错误的是()#defineSIZE9本题答案:【inta[][SIZE];】5、【单选题】假定int型变量在内存中占2个字节,那么二维数组inta[3][4]所占的字节数为()本题答案:【24】6、【单选题】若有说明:inta[][3]={{1,2,3},{4,5},{6,7}};则数组a的第一维的大小为()本题答案:【3】7、【单选题】下列关于数组概念的描述中,错误的是()本题答案:【数组定义后,它的元素个数是可以改变的】8、【单选题】已知doubledd[][3]={{1.2,2.4,3.6},{4.8,5.2},{6.4}};dd[2][2]的值为()本题答案:【0.0】9、【单选题】若有定义语句:intm[][3]={1,2,3,4,5,6,7};,则与该语句等价的是()本题答案:【intm[][3]={{1,2,3},{4,5,6},{7}};】10、【单选题】程序填空。程序功能:求矩阵的最小值,并记录最小值的行列号。#includestdio.hvoidmain(){inti,j,min;introw=0,column=0;inta[3][3]={{1,2,3},{2,-3,4},{9,4,7}};min=a[0][0];for(i=0;i3;i++){for(j=0;j3;j++){if(___________){min=a[i][j];row=i+1;column=j+1;}}}printf(min=%d,row=%d,column=%d\n,min,row,column);}程序中空白处所填语句正确的为()本题答案:【mina[i][j]】11、【单选题】若有定义语句inta[10];以下叙述中正确的是()本题答案:【a[0]是合法的数组元素,a[10]不是合法的数组元素】12、【单选题】下列有一行是错误的(每行程序前的数字表示行号),程序有错误的行数是()1includestdio.h2voidmain()3{4inta[3]={2*3};5inti,sum=0;6for(i=0;i3;i++)7{8scanf(%d,a[i]);9sum+=a[i];10}11printf(%d\n,sum);12}本题答案:【第8行有错误】13、【单选题】若有以下数组说明,则a[a[i]]元素数值是()。inta[12]={1,4,7,10,2,5,8,11,3,6,9,12},inti=10;本题答案:【6】14、【单选题】以下叙述中正确的是()本题答案:【语句inta[8]={0};是合法的】15、【单选题】程序填空。程序功能:计算两个矩阵的乘积。#includestdio.hvoidmain(){intvalueA[3][4]={{2,3,-5,0},{12,-1,2,8},{1,12,-2,1}};intvalueB[4][5]={{5,13,0,1,5},{-2,0,4,1,5},{5,3,2,1,0},{0,1,2,0,1}};intvalueC[3][5]={{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};inti,j,k;for(i=0;i3;i++)for(j=0;j5;j++)for(k=0;k4;k++)__________________;for(i=0;i3;i++){printf(\n);for(j=0;j5;j++)printf(%5d,valueC[i][j]);}}程序中空白处所填语句正确的为()本题答案:【valueC[i][j]+=valueA[i][k]*valueB[k][j]】16、【判断题】一维数组在内存中的存储空间是连续的;二维数组在存储中的存储空间每一行是连续,不同行之间则不连续。本题答案:【错误】17、【判断题】数组可以动态指定大小。本题答案:【错误】18、【判断题】数组初始化时可以仅初始化部分元素的值。本题答案:【正确】19、【判断题】数组所占的元素取决于数组的大小,如果数组大小为N,则在该数组所占内存大小为N个字节。本题答案:【错误】20、【判断题】同一个数组可以存放不同数据类型的数值。本题答案:【错误】21、【判断题】二维数组初始化语句inta[2][2]={{0},{2}};是正确的。本题答案:【正确】第八周单元测验1、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){inta[5]={1,3,5};inti,sum=0;for(i=0;i5;i++){sum+=a[i];}printf(sum=%d\n,sum);}本题答案:【sum=9】2、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){inta[5]={1,2,3,4,5};inti,j,temp;for(i=0,j=4;ij;i++,j--){temp=a[i];a[i]=a[j];a[j]=temp;}for(i=0;i5;i++)printf(%d,a[i]);}本题答案:【54321】3、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};inti,j,sum=0;for(i=0;i3;i++){sum+=a[i][i];}printf(sum=%d\n,sum);}本题答案:【sum=15】4、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){intk=3,s[2]={0};s[0]=k;k=s[0]*s[1]*10;printf(%d\n,k);}本题答案:【0】5、【单选题】利用选择排序(边比较边交换)算法对一个大小为N的一维数组进行排序,外循环需要()次操作。本题答案:【N-1】6、【单选题】利用冒泡排序算法对一个大小为N的一维数组进行排序,在第M轮外循环中(M从1开始),内循环需要()次比较操作。本题答案:【N-M】7、【单选题】有下列一组数据,现利用选择排序(边比较边交换)算法对其进行从小到大排序,在排序的过程中需要()次交换。3582本题答案:【3】8、【单选题】有下列一组数据,现利用冒泡排序算法对其进行从大到小排序,在排序的过程中需要()次交换。3582本题答案:【3】9、【单选题】程序填空。程序功能:将一组整数从大到小排序。#includestdio.h#defineN5voidmain(){inti,j,temp,score[N]={12,4,25,8,3};for(i=0;___________;i++){for(j=i+1;jN;j++){if(score[i]score[j]){temp=score[i];score[i]=score[j];score[j]=temp;}}}for(i=0;iN;i++)printf(%d\t,score[i]);}上面程序代码中空白处所填语句正确的为()本题答案:【iN-1】10、【单选题】程序填空。程序功能:将一组整数从大到小排序。#includestdio.h#defineN5voidmain(){inti,j,temp,score[N]={12,4,25,8,3};for(i=0;iN-1;i++){for(j=i+1;__________;j++){if(score[i]score[j]){temp=score[i];score[i]=score[j];score[j]=temp;}}}for(i=0;iN;i++)printf(%d\t,score[i]);}上面程序代码中空白处所填语句正确的为()本题答案:【jN】11、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){inti,j,min;intx=0,y=0;inta[3][3]={{1,2,3},{2,-3,4},{7,4,7}};min=a[0][0];for(i=0;i3;i++){for(j=0;j3;j++){if(a[i][j]=min){min=a[i][j];x=i+1;y=j+1;}}}printf(min=%dat(x,y):(%d,%d)\n,min,x,y);}本题答案:【min=7at(x,y):(3,3)】12、【单选题】有下列一组数据(3582),现利用选择排序(边比较边交换)算法对其进行从小到大排序,第二轮排序(i=1)结束之后数组中的值为()。本题答案:【2385】13、【单选题】有下列一组数据(3582),现利用冒泡排序算法对其进行从小到大排序,第二轮排序(i=1)结束之后数组中的值为()。本题答案:【3258】14、【单选题】下列程序的输出结果为()。#includestdio.h#defineN4voidprint(inta[],intn);voidInsertSort(inta[],intn);voidprint(inta[],intn){intj;for(j=0;jn;j++){printf(%d,a[j]);}printf(\n);}voidInsertSort(inta[],intn){inti;for(i=1;in;i++){if(a[i]a[i-1]){intj=i-1;intx=a[i];while(j-1xa[j]){a[j+1]=a[j];j--;}a[j+1]=x;}}}intmain(){inta[N]={3,1,7,5};InsertSort(a,N);print(a,N);return0;}本题答案:【1357】15、【单选题】下列程序的输出结果为()。#includestdio.hvoidmain(){inta[]={1,2,3,4,5},i;for(i=1;i5;i++){printf(%d,a[i]-a[i-1]);}}本题答案:【1111】第九周单元测验1、【单选题】在“inta=3,*p=a;”语句中,*p的值为()。本题答案:【3】2、【单选题】下面关于指针的运算中,描述()是错误的。本题答案:【两个指针在一定的条件下可以相加】3、【单选题】若有下面语句“inti,a[5];int*p;p=a;”,则()是对数组元素的错误表示。本题答案:【p+i】4、【单选题】将二维数组名作为主调函数传入的实参,则被调函数的形参可以是()。本题答案:【一维数组指针】5、【单选题】下面程序的运算结果为()。#includestdio.hvoidswap(char*px,char*py);voidswap(char*px,char*py){intt;t=*px;*px=*py;*py=t;}voidmain(){chara=3,b=5;swap(a,b);printf(%d,%d\n,a,b);}本题答案:【5,3】6、【单选题】下面程序的运算结果为()。#includestdio.hint*fun(intn);int*fun(intn){staticinti,a;for(i=0;in;i++){a=a+i+1;}returna;}voidmain(){int*p;p=fun(3);printf(%d\n,*p);}本题答案:【6】7、【单选题】下面程序段运行的结果为()。#includestdio.hintfun(int*px,int*py);intfun(int*px,int*py){return(*px*py?*px:*py);}voidmain(){inta=3,b=5;printf(%d-%d\n,fun(a,b),fun(b,a));}本题答案:【5-5】8、【单选题】有以下C语言程序语句:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a[3],b;b=p[5];运行后b中的值是:()。本题答案:【9】9、【单选题】有如下C语言程序段的输出结果为:()。intarr[]={6,7,8,9};int*ptr;ptr=arr;*(ptr+2)+=2;Printf(“%d,%d\n”,*ptr,*(ptr+2));本题答案:【6,10】10、【单选题】设已有定义:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列语句中正确的是:()。本题答案:【for(p=a;p(a+10);p++){printf(%d\t,*p);}】11、【单选题】若有定义:intx[5],*p=x;,则不能代表x数组首地址的是:()。本题答案:【x】12、【单选题】若有定义:intx[10],*p=x;,则*(p+5)表示:()。本题答案:【数组元素x[5]的值】13、【单选题】下面程序的运行结果是:()。#includestdio.hvoidmain(){inta[5]={1,2,3,4,5};int*p=a;printf(%d-%d,*p,*(p+4));}本题答案:【1-5】14、【单选题】将数组名作为函数传入的实参,则形参接收到的是()。本题答案:【数组的首地址】15、【单选题】若定义函数float*fun(),则函数fun的返回值为()。本题答案:【一个指向变量的指针】16、【单选题】若main()函数带参数,参数个数最多是()。本题答案:【2】17、【单选题】以下程序运行结果是()。#includestdio.hvoidf(int*a,int*b);voidf(int*a,int*b){intt;t=*a;*a=*b;*b=t;}voidmain(){intx=3,y=2,z=1;if(xy)f(x,y);if(yz)f(y,z);if(xy)f(x,y);printf(%d,%d,%d,x,y,z);}本题答案:【1,2,3】18、【单选题】以下程序的输出结果是()。#includestdio.hintfunc(ints);voidmain(){inta[]={1,2,3,4},i,x=0;for(i=0;i4;i++){x=func(a[i]);printf(%d-,x);}printf(\n);}intfunc(ints){intx;staticintt=3;x=s+t;t++;returnx;}本题答案:【4-6-8-10-】19、【单选题】以下程序的执行结果是()。#includestdio.hvoidfunc(int*b,intn);voidmain(){inta[]={5,6,7,8};func(a,4);for(i=0;i4;i++)printf(%3d,a[i]);}voidfunc(int*b,intn){inti;for(i=0;in;i++)b[i]=2*i;}本题答案:【0246】20、【判断题】指针变量和C语言的其它变量不一样,它没有数据类型和存储类型;本题答案:【错误】21、【判断题】指针常量和普通的整型常量一样,它是一个整型值;本题答案:【错误】22、【判断题】在C语言编程中应该尽量使用数组,少使用指针;本题答案:【错误】23、【判断题】变量的地址是指针常量;本题答案:【正确】24、【判断题】空指针就是没有什么作用的指针;本题答案:【错误】25、【判断题】C语言的指针可以进行关系运算;本题答案:【正确】26、【判断题】C语言的指针可以进行任意算术运算;本题答案:【错误】27、【判断题】2个C语言的指针不能进行加法运算,加法运算没有意义。本题答案:【正确】28、【判断题】2个相同类型的C语言指针,如果它们指向同一片连续的存储空间,如数组,则他们各自可以进行自加或者自减运算;之间也可以进行减法运算;本题答案:【正确】29、【判断题】在C语言的指针中,无论是变量还是常量,可以是一级也可以是多级的。本题答案:【正确】30、【判断题】数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值。本题答案:【错误】31、【判断题】调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是地址传递。本题答案:【正确】32、【判断题】C程序的main函数可以有参数,但参数不能是指针类型。本题答案:【错误】第十周测验题1、【单选题】下面语句()是错误的。本题答案:【inta[10],*p;p=a++;】2、【单选题】对于语句int*p[5];,下面的描述()是正确的本题答案:【p是一个具有5个元素的指针数组,每一个元素是一个int型指针】3、【单选题】如有下面语句void*fun(int);声明的函数,则函数返回值是()本题答案:【地址】4、【单选题】关于指针型函数,哪种说法()是正确的。本题答案:【函数的返回值是地址】5、【单选题】C语言程序中,如果指针变量做函数的形参,则当函数调用时()是正确的说法。本题答案:【实参和形参都应该具有相同的数据类型】6、【单选题】关于函数指针变量,下面叙述中正确的是()。本题答案:【定义的指针变量,用于存放函数的入口地址】7、【单选题】若函数的形参为一维数组指针,则下列说法中正确的是()。本题答案:【调用函数时对应实参一般为对应的二维数组名】8、【单选题】关于指针变量的存储类型,下面哪种说法是正确的()。本题答案:【其它选项的类型均有可能】9、【单选题】关于二级指针,以下说法正确的是()。本题答案:【二级指针指向的目标对象是一级指针】10、【单选题】对于存储类型缺省的局部指针变量,则其存储类型为()。本题答案:【auto型】11、【单选题】在调用指针型函数时,如果被调函数的形参是指针变量,则主调和被调函数之间的的数据传递方式是:()。本题答案:【地址值传递,返回值也是地址值】12、【单选题】下面程序的输出结果为()。#includestdio.hintmain(){inta[5][2]={{0,1},{2,3},{4,5},{6,7},{8,9}};int*p[5]={a[0],a[1],a[2],a[3],a[4]};printf(%d-,**(p+1));printf(%d,*(*p+1));return0;}本题答案:【2-1】13、【单选题】下面程序的输出结果为()#includestdio.hintmain(){inta[2][3]={{1,2,3},{4,5,6}};intm,*p[2]={a[1],a[0]};printf(%d-,p[0][0]);printf(%d-,*(*(p+1)));printf(%d,*(*p+1));return0;}本题答案:【4-1-5】14、【单选题】下面程序运行的结果为()#includestdio.hint*fun(int*px,int*py);int*fun(int*px,int*py){return(*px*py?px:py);}voidmain(){inta=5,b=8;int*p1=fun(a,b),*p2=fun(b,a);printf(%d-%d\n,*p1,*p2);}本题答案:【8-8】15、【单选题】如下程序的输出结果如下()#includestdio.hvoidmain(){inta[5][2]={{0,1},{2,3},{4,5},{6,7},{8,9}};int*p[]={a[0],a[1],a[2],a[3],a[4]};int**pp[]={p+4,p+3,p+2,p+1,p};int***ppp=pp;printf(%d---,***++ppp);printf(---%d---,**pp[2]);printf(---%d,**--*++ppp+1);}本题答案:【6------4------3】16、【单选题】下面程序的输出结果为()。#includestdio.hintmain(){inta[2][3]={{1,2,3},{4,5,6}};intm,(*p)[3]=a+1;printf(%d-,p[0][0]);printf(%d-,*(*(p-1)));printf(%d,*(*p-1));return0;}本题答案:【4-1-3】17、【单选题】下面程序的输出结果为()。#includestdio.hintmain(){inta[5][2]={{0,1},{2,3},{4,5},{6,7},{8,9}};int*p=a[0];int(*p2)[2]=a;++p;++p2;printf(%d-,*p);printf(%d-,**p2);printf(%d,p2[1][1]);return0;}本题答案:【1-2-5】18、【判断题】int**p,*pa[5];p=pa;本题答案:【正确】19、【判断题】int**p,(*pa)[5],a[5][5];p=pa=a;本题答案:【错误】20、【判断题】char*str[5];scanf(%s,str[0]);本题答案:【错误】21、【判断题】intx,*p=x,a[5][5];*p=a[0][0];本题答案:【正确】22、【判断题】floata[10];int*p=a;本题答案:【错误】23、【判断题】char*p=hust66;gets(p);本题答案:【错误】24、【判断题】charstr[]=hust66;printf(%c,*(str+2));本题答案:【正确】25、【判断题】floata=1,*b=a,**c=b;本题答案:【错误】26、【判断题】float*p,a[2][3];p=*a+2;本题答案:【正确】27、【判断题】int*p,a[3][4];p=a;本题答案:【错误】第十一周测验题1、【单选题】下面程序的运行结果是:#includestdio.hvoidmain(){char*s=hello;s++;printf(%d,*s);}本题答案:【101】2、【单选题】若有语句char*s1=abcd,*s2=abcd;则下列描述不正确的是:本题答案:【s1与s2是完全相同的指针】3、【单选题】若有语句charstring[20];则此数组存储字符串的最大长度是:本题答案:【19】4、【单选题】下面程序的运行结果是:#includestdio.hvoidmain(){chars[]=ABCD,*p;for(p=s+1;ps+4;p++)printf(%s,p);}本题答案:【BCDCDD】5、【单选题】下述哪个库函数可以将字符串转换为整数:本题答案:【intatoi(char*nPtr)】6、【单选题】下列能正确定义字符串的语句是:本题答案:【charstr[]=\0;】7、【单选题】下列字符数组长度为5的是:本题答案:【charc[]={'h','a','b','c','\0'};】8、【单选题】以下关于字符串的叙述中正确的是:本题答案:【空串不是空格字符串】9、【单选题】定义了字符串charstr[10]=stronger;下面叙述正确的是:本题答案:【通过printf(%s,str);输出这个字符串】10、【单选题】下面程序的功能是:#includestdio.hvoidmain(){charch[80]=123abcdEFG*;intj;longs=0;puts(ch);for(j=0;ch[j]'\0';j++){if(ch[j]='A'ch[j]='Z')ch[j]=ch[j]+'e'-'E';}puts(ch);}本题答案:【将字符数组ch中的大写字母转换成小写】11、【单选题】已知charx[]=hello,y[]={'h','e','a','b','e'};则关于两个数组长度的正确描述是:本题答案:【x大于y】12、【单选题】下面各语句中,能正确进行字符串赋值操作的语句是:本题答案:【char*s=ABCDE;】13、【单选题】已知:chara[]=program;char*p=a+1;则执行以下语句,不会输出字符a的是:本题答案:【putchar(*p+4);】14、【单选题】已知:chars[20]=programming,*ps=s;则不能读取字符串中第3个字符的表达式是:本题答案:【ps+2】15、【单选题】已知:charc[8]=beijing,*s=c;inti;则下面的输出语句中,错误的是:本题答案:【printf(%s\n,*s);】16、【单选题】已知:chars[100];inti=10;则在下列引用数组元素的语句中,错误的表示形式是:本题答案:【*((s++)+i)】17、【单选题】以下程序的运行结果是:#includestdio.hvoidabc(char*p);voidmain(){charstr[]=morning;abc(str);puts(str);}voidabc(char*p){inti,j;for(i=j=0;*(p+i)!='\0';i++){if(*(p+i)'n'){*(p+j)=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省菏泽市重点高中2024-2025学年高三化学试题5月最后一卷试题含解析
- 江苏省泰兴市达标名校2024-2025学年初三年级第十一次网考生物试题含解析
- 江苏省南京市鼓楼区重点达标名校2024-2025学年中考预测金卷数学试题理(湖南卷)含解析
- 西昌学院《秘书礼仪》2023-2024学年第二学期期末试卷
- 辽宁省丹东第十中学2025届初三第二学期期初模拟训练一英语试题含答案
- 宿舍文化节活动流程
- 技能培训经典案例分享
- 上海市金山区2025届高三二模语文试题(含答案)
- 下肢血管溃疡的治疗和护理
- 2025年建筑工程流动资金借款合同示例
- 四川自贡九鼎大楼“7·17”重大火灾事故调查报告学习警示教育
- 小学生国家安全教育日学习课件
- 2025标准金融服务合同范本
- 农业环境与可持续发展试题及答案
- 洗涤机械生产过程质量控制考核试卷
- 2025年中国安防视频监控镜头市场竞争态势及投资方向研究报告
- 画龙点睛成语故事
- 电信行业用户欠费催收策略与措施
- 银行资格考试分析与策略试题及答案
- 多式联运风险管理与优化-全面剖析
- 2025年博士思政面试题及答案
评论
0/150
提交评论