MOOC 高级语言程序设计-南京邮电大学 中国大学慕课答案_第1页
MOOC 高级语言程序设计-南京邮电大学 中国大学慕课答案_第2页
MOOC 高级语言程序设计-南京邮电大学 中国大学慕课答案_第3页
MOOC 高级语言程序设计-南京邮电大学 中国大学慕课答案_第4页
MOOC 高级语言程序设计-南京邮电大学 中国大学慕课答案_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

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

文档简介

MOOC高级语言程序设计-南京邮电大学中国大学慕课答案1.1随堂测验1、问题:“程序存储思想”是__________提出来的。选项:A、DennisM.RitchieB、BellC、VonNeumannD、KenThompsom正确答案:【VonNeumann】2、问题:如果计算机有32根地址总线,则其存储器的最大容量可达____________。选项:A、4GBB、32MC、16GBD、32GB正确答案:【4GB】3、问题:存储器的容量可以通过插入内存条进行无限扩充。选项:A、正确B、错误正确答案:【错误】1.3随堂测验1、问题:以下哪一种是从源程序到目标程序的翻译方式_________。选项:A、编辑B、编译C、链接D、运行正确答案:【编译】2、问题:C语言和JAVA语言都是面向对象的程序设计语言。选项:A、正确B、错误正确答案:【错误】1.4随堂测验1、问题:十进制数346所对应的八进制数为选项:A、235B、532C、237D、732正确答案:【532】2、问题:在进制转换中,一位八进制数相当于三位二进制数,一位十六进制数相当于四位二进制数。选项:A、正确B、错误正确答案:【正确】第一章单元测验1、问题:以下哪个是冯诺伊曼的思想____________。选项:A、计算机应采用二进制B、程序存储的思想C、计算机由硬件和软件组成D、软件分为系统软件和应用软件正确答案:【程序存储的思想】2、问题:关于软件,下列说法不正确的是_____________。选项:A、软件的核心是程序B、软件就是程序C、软件是程序和文档的总和D、软件不能缺少文档正确答案:【软件就是程序】3、问题:以下关于源程序与目标程序的说法,不正确的是____________。选项:A、用机器语言编写的源程序就是目标程序B、汇编语言写的源程序需要汇编为目标程序C、C语言源程序需要编译为目标程序D、所有高级语言的编译器均一样正确答案:【所有高级语言的编译器均一样】4、问题:第一个结构化程序设计语言是_________________。选项:A、PASCALB、CC、BASICD、FORTRAN正确答案:【PASCAL】5、问题:贝尔实验室的DennisM.Ritchie于1973年用C语言重写了__________操作系统。选项:A、DOSB、UNIXC、WINDOWSD、LINUX正确答案:【UNIX】6、问题:如果计算机有32根地址总线,其存储器的最大存储容量为_______________。选项:A、64MBB、32GBC、4GBD、8GB正确答案:【4GB】7、问题:二进制数10101010101所对应的八进制数为________________。选项:A、2525B、5252C、555D、222正确答案:【2525】8、问题:二进制数10101010101所对应的十六进制数为__________________。选项:A、222B、555C、2525D、5252正确答案:【555】9、问题:可运行的C语言程序的扩展名为___________________。选项:A、objB、cppC、exeD、c正确答案:【exe】10、问题:C程序编译之后生成的文件名的扩展名是_________________。选项:A、.exeB、.objC、.cD、.bin正确答案:【.obj】11、填空题:C语言源程序开发的第一步为_____________。正确答案:【编辑】12、填空题:观察本章的“Helloworld”C程序,打印“Helloworld”用的函数为_____________。正确答案:【printf】13、填空题:十进制数348所对应的八进制数为______________。正确答案:【534】14、填空题:C程序的完整开发过程包括:编辑、_________、链接和运行。正确答案:【编译】15、填空题:观察本章的“Hellowolrd”C源程序,每条语句以_______结束。正确答案:【分号##%_YZPRLFH_%##;##%_YZPRLFH_%##;】2.1随堂测验1、问题:_____可以作为正确的变量名。选项:A、RDB、_filenameC、forD、$X;正确答案:【_filename】2、填空题:C程序的执行从_________开始。正确答案:【main##%_YZPRLFH_%##主函数##%_YZPRLFH_%##main函数】3、填空题:一个C程序有______个主函数。正确答案:【1##%_YZPRLFH_%##一】2.2随堂测验1、问题:sizeof是一个函数名。选项:A、正确B、错误正确答案:【错误】2、问题:在C语言中,对于任何一种数据类型,都要严格规定该类数据的存储结构、取值范围和能对其进行的操作。选项:A、正确B、错误正确答案:【正确】3、问题:单精度和双精度都是实型,所以是一样的。选项:A、正确B、错误正确答案:【错误】4、填空题:在C语言中,用关键字____定义单精度实型变量。正确答案:【float】2.3随堂测验1、问题:下列_____数值最大?选项:A、012B、0x12C、12D、120正确答案:【120】2、问题:下列______是合法的实型常量?选项:A、234E3.1B、E3C、234.D、234正确答案:【234.】3、问题:______不同于其他三个字符?选项:A、‘a’B、‘A’C、‘\x41'D、'\101'正确答案:【‘a’】4、问题:________是C语言中合法的字符串常量?选项:A、Howareyou?B、Howareyou?C、'Howareyou?'D、$Howareyou?$正确答案:【Howareyou?】2.4随堂测验1、问题:有变量定义如下:doublenum;要使得num的值为3.14159,则正确的输入语句为:________。选项:A、scanf("%lf",num);B、scanf("%lf",num);C、scanf("%d",num);D、scanf(%f,num);正确答案:【scanf("%lf",num);】2、问题:阅读以下程序#includeintmain(){intcase;floatprintF;printf(“请输入2个数:”);scanf(“%d%f”,case,printF);printf(“%d%f\n”,case,printF);return0;}该程序编译时产生错误,其出错原因是________。选项:A、定义语句出错,case不能用作用户自定义标识符B、定义语句出错,printF不能用作用户自定义标识符C、定义语句无错,scanf不能作为输入函数使用D、定义语句无错,printf不能输出case的值正确答案:【定义语句出错,case不能用作用户自定义标识符】3、问题:#includestdio.hintmain(){scanf(%3d%f,x,y);printf(“%d,%f\n”,x,y);return0;}该段代码编译没有错误,可正常运行。选项:A、正确B、错误正确答案:【错误】4、填空题:请写出下面程序的输出结果。#includestdio.hintmain(){charch='A'+10;printf("C=%c,C=%d,c=%c,c=%d\n",ch,ch,ch+32,ch+32);return0;}正确答案:【C=K,C=75,c=k,c=107##%_YZPRLFH_%##C=K,C=75,c=k,c=107】2.5随堂测验1、问题:C语言short型数据占2个字节,则unsignedshort型数据的取值范围是______。选项:A、0~255B、0~65535C、-256~255D、-32768~32767正确答案:【0~65535】2、填空题:请写出下面程序的输出结果。#includestdio.hintmain(){shortinta=32767,b;b=a+1;printf("a=%d,b=%d\n",a,b);return0;}正确答案:【a=32767,b=-32768##%_YZPRLFH_%##a=32767,b=-32768】第二章单元测验1、问题:下列不正确的转义字符是______。选项:A、'\v'B、'\'C、'\68'D、'\0'E、'\t'F、'\x4f'正确答案:【'\68'】2、问题:下列不正确的常量表示是_______。选项:A、0x33FFB、1.2e0.5C、2LD、'\72'E、'HelloWorld!'F、我爱中国正确答案:【1.2e0.5#'HelloWorld!'】3、问题:若函数中有定义语句:intk;,则下列说法正确的是_______。选项:A、系统将自动给k赋初值0B、这时k中有值但是无意义C、系统将自动给k赋初值-1D、这时k中无任何值正确答案:【这时k中有值但是无意义】4、问题:关于C语言中数的表示,以下叙述正确的是________。选项:A、只有整型数在允许范围内能精确无误地表示,实型数会有误差B、只要在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误地表示,整型数会有误差D、只有八进制表示的数才不会有误差正确答案:【只有整型数在允许范围内能精确无误地表示,实型数会有误差】5、问题:C语言中,"\x5d"在内存中占用的字节数是_______。选项:A、2B、3C、4D、1E、5正确答案:【2】6、问题:C语言中,一个字符型变量在内存中占用的字节数是_______。选项:A、1B、3C、4D、2正确答案:【1】7、问题:以下正确的C语言变量名是_______。选项:A、forB、excise_1C、a+bD、5test正确答案:【excise_1】8、问题:下列选项中,正确的整型常量是________.选项:A、018B、0xfaC、12,345D、01aE、0171F、33ff正确答案:【0xfa#0171】9、问题:下列选择中为C语言中非法常量的是_______.选项:A、'as'B、'\\'C、01177D、.2e5E、'\x61'F、1E-2正确答案:【'as'】10、问题:下列哪个选项属于C语言中的合法字符串常量。选项:A、$abc$B、howareyouC、"china"D、'hello'E、/*上课了*/正确答案:【"china"】11、问题:#includestdio.hintmain(){doublei=3.1415926;printf("%.4f,%4.3f,%6.2f",i,i,i);return0;}选项:A、输出错误B、3.14,.142,3.14C、3.1416,3.142,3.14D、0.1415,3.141,3.14E、3.14,3.141,3.1416正确答案:【3.1416,3.142,3.14】12、问题:有以下程序段charch;ch='a';printf("%c,%d",ch,ch);已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是选项:A、因变量类型与格式描述符的类型不匹配输出无定值B、输出项与格式描述符个数不符,输出为零值或不定值C、a,97D、'a',aE、'a',97F、97,a正确答案:【a,97】13、问题:若有以下定义和语句,charc1=‘b’,c2=‘e’;ꢀꢀprintf("%d,%c\n",c2-c1,c2-‘a’+’A’);则输出结果是___选项:A、3,EB、类型不匹配,编译报错C、无法计算,输出乱码D、3,eE、4,EF、b,E正确答案:【3,E】14、填空题:语句printf(“Youare\rA\x20niceE\bboy!”);的输出结果是______。正确答案:【Aniceboy!##%_YZPRLFH_%##Aniceboy!】15、填空题:有scanf输入一个double型变量时,需要使用格式转换说明符为%。正确答案:【lf】16、填空题:程序中定义的一个字符型变量在内存中占用___个字节。正确答案:【1】17、填空题:C语言程序中需要进行输入/输出处理时,必须包含的头文件是。正确答案:【stdio.h##%_YZPRLFH_%##】18、填空题:C语言源程序名的后缀是_____。正确答案:【C##%_YZPRLFH_%##c##%_YZPRLFH_%##.C##%_YZPRLFH_%##.c】19、填空题:需要从键盘给一个字符型变量ch输入一个字符,使用的输入语句是:ch=();。正确答案:【getchar##%_YZPRLFH_%##getch】20、填空题:使用标准输出函数输出一个double型的变量x,要求输出数值占6列,即6个数字位,并保留2位小数位,则输出语句为printf(%_____f,x);。如:x=123.4567,要求输出在屏幕上为123.46;x=3.45678,则输出为□□3.46;□表示空格。正确答案:【6.2l##%_YZPRLFH_%##6.2l##%_YZPRLFH_%##6.2##%_YZPRLFH_%##6.2】3.1随堂测验1、问题:单目运算符的优先级高于双目算术运算符。选项:A、正确B、错误正确答案:【正确】2、问题:数值368不是一个合法的C语言表达式。选项:A、正确B、错误正确答案:【错误】3.2随堂测验1、问题:下列运算符号的结合性是从右往左的是______。选项:A、==B、()C、?:正确答案:【?:】2、问题:运算符“()”的优先级高于运算符“++”选项:A、正确B、错误正确答案:【正确】3.3随堂测验1、问题:以下运算符中优先级最低的是_______。选项:A、赋值运算符B、关系运算符C、逻辑运算符D、逗号运算符正确答案:【逗号运算符】2、问题:设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m、n的值是。选项:A、0,0B、0,1C、1,0D、1,1正确答案:【1,0】3、问题:设floatm=4.0,n=4.0;使m为10.0的表达式是____。选项:A、m-=n*2.5B、m/=n+9C、m*=n-6D、m+=n+2正确答案:【m+=n+2】4、填空题:设有语句:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是_______。正确答案:【2.5##%_YZPRLFH_%##2.500000】5、填空题:定义intx,y;执行y=(x=1,++x,x+2);语句后,y=________。正确答案:【4】3.4随堂测验1、问题:以下结果为整数的表达式(设有inti;charc;floatf;)____。选项:A、i+fB、i*cC、c+fD、i+c+f正确答案:【i*c】2、填空题:a+b%3*(int)(a-b)/4(设doublea=13.6;intb=8)结果为:正确答案:【15.600000##%_YZPRLFH_%##15.6】3.5随堂测验1、问题:设a=2,b=3;则表达式a^b2的值是____.选项:A、00000011B、00000110C、00000100D、00000010正确答案:【00000010】2、问题:变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是_______。选项:A、a^bB、a|bC、abD、a4正确答案:【a^b】第三章编程第三章单元测验1、问题:sizeof是一个_____。选项:A、运算符B、常量C、变量D、函数正确答案:【运算符】2、问题:有以下变量定义:intk=9,x=14;,则执行语句k=(x%=k)-(k%=4)后,k的值为_____。选项:A、3B、5C、1D、4正确答案:【4】3、问题:判断char型变量c1是否为大写字母的正确表达式是_____。选项:A、'A'=c1='Z'B、(c1='A')(c1='Z')C、(c1='A')(c1='Z')D、('A'=c1)AND('Z'=c1)E、('A'=c1)('Z'=c1)正确答案:【(c1='A')(c1='Z')#('A'=c1)('Z'=c1)】4、问题:设doublem=4.0,n=4.0;使m为10.0的表达式是____。选项:A、m-=n*2.5B、m/=n+9C、m*=n-6D、m+=n+2正确答案:【m+=n+2】5、问题:设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是_______。选项:A、x++;printf(“%d\n”,x);B、n=++x;printf(“%d\n”,n);C、++x;printf(“%d\n”,x);D、n=x++;printf(“%d\n”,n);正确答案:【n=x++;printf(“%d\n”,n);】6、问题:若有变量定义:doublex=4.5,y=2.5;则表达式(x+y)/2+(int)x%(int)y结果为_____。选项:A、3.5B、5.5C、3.0D、5.0正确答案:【3.5】7、问题:定义intx,y;执行y=(x=1,++x,x+2);语句后,x=_____,y=_____。选项:A、24B、13C、23D、44正确答案:【24】8、问题:表达式13/4*sqrt(6.25)/8值的数据类型为__________。选项:A、intB、doubleC、floatD、不确定正确答案:【double】9、问题:在以下的运算符中,运算对象都必须是整型数的是。选项:A、%B、+C、++D、()正确答案:【%】10、问题:设x是double型变量,则能将x的值四舍五入保留到小数点后两位的表达式是。选项:A、(x*100.0+0.5)/100.0B、(int)(x*100+0.5)/100.0C、x*100+0.5/100.0D、(x/100+0.5)*100.0正确答案:【(int)(x*100+0.5)/100.0】11、问题:若有定义:inta=1,b=1,c,d;,则语句c=(a++)+(++b);执行后a=________;b=_________,c=_________。选项:A、224B、223C、112D、123正确答案:【223】12、问题:将计算半周长的数学公式:知a、b、c均为整型变量,不正确的是________。选项:写成如下各种形式,已A、x=0.5*(a+b+c)B、x=1/2*(a+b+c)C、x=(a+b+c)/2.0D、x=(float)(a+b+c)/2E、x=1.0/2*(a+b+c)F、x=(float)((a+b+c)/2)正确答案:【x=1/2*(a+b+c)#x=(float)((a+b+c)/2)】13、问题:设有语句:inta=3,b=5,m;则执行语句:m=a=3a+b8后,m的值为_____。选项:A、0B、1C、2D、3正确答案:【0】14、问题:需要将一个三位数字的整型数x中的十分位数字b2(如368中的6)提取出来,下列C语句________不能实现。选项:A、b2=x%100/10B、b2=x/10%10C、b2=x/100;b2=(x-b2*100)/10D、b2=x%10/10正确答案:【b2=x%10/10】15、问题:请将三角形面积公式:达式_______。选项:写成合法的C语言表A、sqrt(s(s-a)(s-b)(s-c))B、sqrt(s*(s-a)*(s-b)*(s-c))C、sqrt(s*(s-a)(s-b)(s-c))D、sqrt(s.(s-a).(s-b).(s-c))正确答案:【sqrt(s*(s-a)*(s-b)*(s-c))】16、问题:设已定义字符型变量ch,执行语句:ch=’D’+32-3;后ch的值为__________。选项:A、dB、aC、bD、AE、B正确答案:【a】17、问题:在C语言的赋值表达式中,赋值符号左边必须是已经定义过的_________。选项:A、变量B、变量名C、表达式D、常量E、函数F、任意符号正确答案:【变量#变量名】18、填空题:设有语句:inta=7;floatx=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是。(小数点后面保留一位)正确答案:【2.5】19、填空题:若有intx=1,y=1,表达式(!x||y--)的值等于。正确答案:【1】20、填空题:若有intn=2;执行语句:n+=n-=n*n后,n=。正确答案:【-4】21、填空题:若有intn=2;执行语句:n+=n-=n*=n后,n=。正确答案:【0】22、填空题:设有语句:inta=3,b=5,m;则执行语句:(m=a=3)a+b8后,m的值为___。正确答案:【1】4.1随堂测验1、问题:C语言的语句分为____类选项:A、5B、4C、6D、3正确答案:【5】2、问题:用流程图描述一个只有顺序结构而没有选择结构和循环结构的算法时,一定用不到的流程图框型是______。?选项:A、起止框B、输入/输出框C、处理框D、判断框正确答案:【判断框】3、问题:下列可以控制循环结构的控制语句是:______选项:A、for语句B、while语句C、do...while语句D、switch语句正确答案:【for语句#while语句#do...while语句】4.2随堂测验1、问题:下列可能出现在顺序结构程序中的控制语句是__________选项:A、if语句B、for语句C、while语句D、return语句正确答案:【return语句】2、问题:可以将例4.1中的两条语句:area=sqrt(p*(p-edge1)*(p-edge2)*(p-edge3));printf(area=%lf\n,area);合并为一条语句:printf(area=%lf\n,sqrt(p*(p-edge1)*(p-edge2)*(p-edge3)));同时删除area变量的定义。选项:A、正确B、错误正确答案:【正确】4.3随堂测验1、问题:以下关于单分支if和双分支if的描述中不正确的是_____________.选项:A、单分支if和双分支if都可以用于处理存在两种可能选择的情况B、单分支if和双分支if在if后的条件满足时都只允许执行一条语句C、单分支if和双分支if在if后的条件不满足时都不执行任何语句D、单分支if和双分支if在语法上都看成是一条语句正确答案:【单分支if和双分支if在if后的条件不满足时都不执行任何语句】2、问题:下列四段代码,哪一段的执行效果与其他三种不同__________.选项:A、if(x0)y=1;elseif(x0)y=-1;elsey=0;B、if(x=0)if(x0)y=1;elsey=0;elsey=-1;C、y=1;if(x==0)y=0;if(x0)y=-1;D、y=1;if(x==0)y=0;elsey=-1;正确答案:【y=1;if(x==0)y=0;elsey=-1;】3、问题:关于嵌套if语句与switch语句的关系描述中不正确的是__________.选项:A、二者都可以处理三种及以上可能的选择B、二者的适用范围完全相同C、switch语句总是可以用嵌套if语句来完全等效替代,反之不然D、二者都是控制选择结构的语句,语法上都是一条语句正确答案:【二者的适用范围完全相同】4、问题:关于switch语句的描述中不正确的是__________.选项:A、switch后的表达式类型不可以是实型B、每一个case后的常量只能有一个C、default分支必须要有,用于处理swith后的表达式结果与所有常量均不相等时的情况D、在每个分支处理结束后配合使用break语句才能真正实现逻辑上的多分支处理正确答案:【default分支必须要有,用于处理swith后的表达式结果与所有常量均不相等时的情况】4.4随堂测验1、问题:C语言中while和do-while循环的主要区别是__。选项:A、do-while的循环体至少无条件执行一次而while的循环体可能一次也不执行B、while的循环控制条件比do-while的循环控制条件严格C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句正确答案:【do-while的循环体至少无条件执行一次而while的循环体可能一次也不执行】2、问题:以下程序段__。x=-1;do{x=x*x;}while(!x);选项:A、是死循环B、循环体执行二次C、循环体执行一次D、有语法错正确答案:【循环体执行一次】3、问题:若k是int类型变量,有以下for语句:for(k=-1;k=1;k++)printf(*****\n);下面关于语句执行情况的叙述中正确的是________。选项:A、循环体执行两次B、循环体执行一次C、循环体一次也不执行D、死循环正确答案:【死循环】4、问题:假设程序中已有定义:ints=0,i;下列哪一段代码无法正确实现求1到10的和______。选项:A、for(i=1;i=10;i++)s+=i;B、for(i=1;;i++){if(i10)break;s+=i;}C、i=1;while(i=10)s+=i++;D、i=1;do{s+=++i;}while(i=10);正确答案:【i=1;do{s+=++i;}while(i=10);】4.5随堂测验1、问题:下面程序段中,循环语句的循环次数是______。intx=0;while(x6){if(x%2)continue;if(x==4)break;x++;}选项:A、1B、4C、6D、死循环正确答案:【死循环】2、问题:设有变量定义:inti;下列两段代码的执行效果完全相同。第一段代码:for(i=1;i=5;i++){if(i%2)printf(*);elsecontinue;printf(#);}第二段代码:for(i=1;i=5;i++)if(i%2){printf(*);printf(#);}选项:A、正确B、错误正确答案:【正确】4.6随堂测验1、问题:有语句定义:intx,y;,则程序段中“{…循环体….}”的执行次数是。for(i=5;i;i--)for(j=0;j4;j++){…循环体….}选项:A、20B、24C、25D、30正确答案:【20】2、问题:打印一个规则图形需要用到两层循环,外层控制行变化,第一层的循环体内最多需要完成三个功能:处理前导空格(可能要用到内层循环)、打印本行图形(可能要用到内层循环)、换行。选项:A、正确B、错误正确答案:【正确】第四章编程第四章单元测验1、问题:下列程序段执行后,m的值为______。inta=0,b=20,c=40,m=60;if(a)m=a;elseif(b)m=b;elseif(c)m=c;选项:A、0B、20C、40D、60正确答案:【20】2、问题:已有定义“intx=0,y=3;”,对于下面if语句,说法正确的是______。if(x=y)printf(“X与Y相等\n”);选项:A、输出:X与Y相等,且执行完后x等于yB、无输出C、输出:X与Y相等,但执行完后x不等于yD、编译出错正确答案:【输出:X与Y相等,且执行完后x等于y】3、问题:关于switch语句,下列说法中不正确的是______。选项:A、case语句必须以break结束B、default分支可以没有C、switch后面的表达式可以是整型或字符型D、case后面的常量值必须唯一正确答案:【case语句必须以break结束】4、问题:下面程序段的运行结果是______。inta,b=0;for(a=0;a++=2;);b+=a;printf(%d,%d\n,a,b);选项:A、3,6B、3,3C、4,4D、语法错误正确答案:【4,4】5、问题:下面程序段中,循环语句的循环次数是______。intx=0;while(x6){if(x%2)continue;if(x==4)break;x++;}选项:A、死循环B、1C、4D、6正确答案:【死循环】6、问题:若变量已正确定义,有以下程序段:inta=3,b=5,c=7;if(ab)a=b;c=a;if(c!=a)c=b;printf(%d,%d,%d\n,a,b,c);其输出结果是________。选项:A、程序段有语法错B、3,5,3C、3,5,5D、3,5,7正确答案:【3,5,3】7、问题:下列错误的语句是__。选项:A、if(ab)printf(%d,a);B、if(a)printf(%d,a);C、if(1)printf(%d,a);D、if(a);a++;elsea--;正确答案:【if(a);a++;elsea--;】8、问题:下列__循环不是无限循环。选项:A、for(y=0;x=1;++y);B、for(;;x=0);C、while(x=1){x=1;}D、for(y=1,x=1;x=++y;x++);正确答案:【for(y=1,x=1;x=++y;x++);】9、问题:若a、b已定义为int类型的变量,则执行以下语句后b的值是__。a=1;b=10;do{b-=a;a++;}while(b--0);选项:A、9B、-2C、-1D、8正确答案:【8】10、问题:设所有的变量均为整型,下列循环执行结束后,变量m的值为__。for(i='a';i='e';i++){m=1;for(j=5;j=0;j--)m+=(i-100)*j;}选项:A、1B、0C、16D、15正确答案:【16】11、问题:有下列程序段:inti,sum=0;for(i=1;;sum++){if(sum10)break;sum+=++i;}该程序段执行结束后,sum和i的值分别是______选项:A、11,4B、12,4C、16,5D、11,5正确答案:【12,4】12、问题:要求读入一个整数n,其值的范围是[1,10],即:n大于等于1,同时小于等于10.如果输入的n不在这个有效范围,则重新输入,直到满足范围规定为止。则可以用do...while语句控制。intn;do{scanf(%d,n);}while(________________________);下列哪一个条件填入后无法正确控制?选项:A、n1||n10B、!(n=1n=10)C、!(n0n11)D、n=1||n=10正确答案:【n=1||n=10】13、问题:有以下程序段,while循环的循环体执行的次数是。intk=0;while(k!=1)k++;选项:A、0次B、1次C、有语法错D、无限次正确答案:【1次】14、问题:下列程序段执行结束后,k的值为______inti,j,k=0;for(i=1;i=3;i++)for(j=1;j=i;j++)k+=i*j;选项:A、25B、20C、30D、36正确答案:【25】15、问题:有如下程序段:intx;scanf(%d,x);switch(x){case9:x++;break;case10:x++;case11:x++;break;default:x++;}如果最初输入的x的值为10,则switch语句结束后x的值为________,选项:A、10B、11C、12D、13正确答案:【12】16、填空题:#includestdio.hintmain(){intx=1,y=1,z=1;switch(x){case1:switch(y){case1:printf(!!);break;case2:printf(@@);break;case3:printf(##);break;}case0:switch(z){case0:printf($$);case1:printf(^^);case2:printf();}default:printf(**);}return0;}该程序的运行结果是________(提示:输出的各字符之间没有空格,在英文半角输入状态下输入的字符有效)正确答案:【!!^^&&**##%_YZPRLFH_%##!!^^&&**】17、填空题:#includestdio.hintmain(){intm=0,n=4521;do{m=m*10+n%10;n/=10;}while(n);printf(%d\n,m);return0;}该程序的运行结果是________正确答案:【1254##%_YZPRLFH_%##1254】18、填空题:#includestdio.hintmain(){intx,y=0,z=0;for(x=1;x=5;x++){y=y+x;z=z+y;}printf(%d\n,z);return0;}该程序的运行结果是________正确答案:【35】19、填空题:#includestdio.hintmain(){inta=1,b=2;for(;a8;a++){a+=2;if(a==6)continue;if(a7)break;b++;}printf(%d,%d\n,a,b);return0;}该程序的运行结果是________正确答案:【9,3##%_YZPRLFH_%##9,3】20、填空题:#includestdio.hintmain(){intx=5,y=4,z=3;if(xyz)printf(right);elseprintf(wrong);return0;}该程序的运行结果是________正确答案:【wrong##%_YZPRLFH_%##wrong】21、填空题:循环的终止一般是在while后的表达式或for语句的表达式2的值为假的时候不再进入循环体,如果希望从循环体中直接退出循环,则可以通过在循环体内使用_____语句实现。正确答案:【break##%_YZPRLFH_%##break】22、填空题:switch语句中的______分支是可选项,表示switch后的表达式与任何case后的常量都不相等时执行此分支。正确答案:【default##%_YZPRLFH_%##default】5.1随堂测验1、问题:在C语言中,模块化程序设计中的子模块通常是指??。选项:A、子程序B、子过程C、函数D、方法正确答案:【函数】2、填空题:C程序的函数主要分为库函数和??函数。正确答案:【自定义##%_YZPRLFH_%##用户自定义】5.2随堂测验1、问题:以下不是函数首部的三要素。选项:A、函数名B、形式参数表C、返回值类型D、函数体正确答案:【函数体】2、问题:函数的返回值类型由________决定。选项:A、return后的表达式类型B、定义函数时指定的返回值类型C、调用函数时临时决定D、主调用函数的类型正确答案:【定义函数时指定的返回值类型】3、问题:函数声明的作用是把函数的首部信息通知编译系统,以便在调用该函数时进行对照检查。选项:A、正确B、错误正确答案:【正确】5.3随堂测验1、问题:若有函数原型:doublef(int,double);主函数中有变量定义:intx=1;doublem=1.6,n;下列主函数中对f函数的调用错误的是。选项:A、n=f(x,m+1);B、printf(%f,f(x+2,2.4));C、f(x,m);D、n=f(x);正确答案:【n=f(x);】2、问题:若主函数有变量定义:intx=1;doubley=2.3;且有合法的函数调用语句f(y,x);则下列关于函数f的原型声明中一定错误的是。选项:A、voidf(double,int);B、intf(int,int);C、intf(double,double);D、voidf(double,int,int);正确答案:【voidf(double,int,int);】3、问题:以下程序的运行结果是。#includestdio.hintMin(intx,inty){returnxy?x:y;}intmain(){intx=13,y=5,z=22;printf(%d\n,Min(x,Min(y,z)));return0;}选项:A、3B、4C、5D、6正确答案:【5】5.4随堂测验1、问题:下面关于函数的理解,不正确的是。选项:A、函数可以嵌套定义?B、函数可以嵌套调用C、函数可以没有形式参数D、函数的缺省返回类型为int型正确答案:【函数可以嵌套定义?】2、问题:在C语言中,一个函数可以直接或间接地调用自己。选项:A、正确B、错误正确答案:【正确】5.5随堂测验1、问题:下面哪一种变量一定不是局部变量?。?选项:A、静态变量B、形式参数变量C、外部变量D、自动变量正确答案:【外部变量】2、问题:下面关于静态局部变量的描述,不正确的是。选项:A、静态局部变量只被初始化一次B、静态局部变量作用域为整个程序C、静态局部变量生命期为整个程序D、静态局部变量作用域为当前函数或语句块正确答案:【静态局部变量作用域为整个程序】3、问题:关于同名问题,下列哪一种理解不正确。选项:A、不同函数的局部变量可以同名B、形式参数可以与对应的实在参数变量同名C、外部变量可以与局部变量同名D、形式参数可以与函数体内的局部变量同名正确答案:【形式参数可以与函数体内的局部变量同名】4、问题:关于作用域的描述,下列哪一种说法是正确的。选项:A、形式参数的作用域一定是它所在的整个函数B、全局变量的作用域一定是整个程序C、局部变量的作用域一定是整个函数D、静态局部变量的作用域不仅限于本函数正确答案:【形式参数的作用域一定是它所在的整个函数】5.6随堂测验1、问题:模块化程序设计的基本思想是自底向上、不断组合。选项:A、正确B、错误正确答案:【错误】2、填空题:C语言程序的基本单位是??。正确答案:【函数】第五章编程第五章单元测验1、问题:函数的返回值类型由________决定。选项:A、return后的表达式类型B、定义函数时指定的返回值类型C、调用函数时临时决定D、主调用函数的类型正确答案:【定义函数时指定的返回值类型】2、问题:以下选项中叙述错误的是________。选项:A、C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值B、C程序的复合语句内可以定义变量,其作用域仅限本复合语句内C、C程序函数中定义的自动变量,系统不自动赋确定的初值D、C程序函数的形参不可以说明为static型变量正确答案:【C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值】3、问题:对于C语言的函数,下列叙述中正确的是________。选项:A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义和调用都不能嵌套C、函数的定义可以嵌套,但函数调用不能嵌套D、函数的定义和调用都可以嵌套正确答案:【函数的定义不能嵌套,但函数调用可以嵌套】4、问题:以下函数调用语句中含有________个实参。func((exp1,exp2),(exp3,exp4,exp5));选项:A、1B、2C、4D、5正确答案:【2】5、问题:若主函数有变量定义:intx=1;doublem=2.3;且有合法的函数调用语句f(m,x);则下列关于函数f的原型声明中一定错误的是。选项:A、voidf(double,int);B、intf(int,int);C、voidf(double,int,int);D、intf(double,double);正确答案:【voidf(double,int,int);】6、问题:关于return语句的理解,下列哪一种说法是错误的。选项:A、当函数具有非void的返回值类型时,函数体中一定要有return语句B、当函数的返回值类型为void时,函数体中可以没有return语句C、return后的表达式若与函数返回类型不一致时,一定会在编译时出错D、当执行return语句时,系统自动生成一个无名变量,获取return后的表达式的值正确答案:【return后的表达式若与函数返回类型不一致时,一定会在编译时出错】7、问题:有以下程序intfun(intx,inty){return(x+y);}intmain(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf(%d\n,sum);return0;}执行后的输出结果是________。选项:A、5B、6C、8D、9正确答案:【8】8、问题:若已定义一个返回值为void型的函数,则调用该函数的叙述中正确的是________。选项:A、函数调用只能作为独立的函数调用语句存在B、函数调用可以出现在表达式中C、函数调用可以作为一个函数实参D、函数调用可以作为一个函数形参正确答案:【函数调用只能作为独立的函数调用语句存在】9、问题:设有下列程序段:staticcharb=2;voidY(){staticfloatd=4;.......}inta=1;voidX(){intc=3;......}关于程序段中各变量的属性,以下叙述中错误的是________。选项:A、a是全局变量,函数X可以访问,函数Y不能访问B、b是全局变量,函数X和函数Y都可以访问C、c是自动局部变量,函数X可访问,函数Y不可访问D、d是静态变量,函数X和函数Y都可以访问正确答案:【d是静态变量,函数X和函数Y都可以访问】10、问题:关于同名问题,下列哪一种理解不正确。选项:A、不同函数的局部变量可以同名B、形式参数可以与对应的实在参数变量同名C、外部变量可以与局部变量同名D、形式参数可以与函数体内的局部变量同名正确答案:【形式参数可以与函数体内的局部变量同名】11、问题:在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是?。选项:A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式有用户指定正确答案:【单向值传递】12、问题:若函数定义时不指明函数类型,则其默认的返回值类型是?。选项:A、voidB、任意类型C、intD、double正确答案:【int】13、问题:以下存储类型在变量未赋值的情况下,系统自动初始化为0。选项:A、autoB、registerC、staticD、省略不表明正确答案:【static】14、问题:以下叙述中正确的是。选项:A、给函数名命名时允许用数字开头B、在函数体中只能出现一次return语句C、函数调用时,不必区分函数名称的大小写D、调用函数时,函数名必须与被调用函数定义时的函数名完全一致正确答案:【调用函数时,函数名必须与被调用函数定义时的函数名完全一致】15、问题:下面关于静态局部变量的描述,不正确的是______。选项:A、静态局部变量存储在静态数据区B、静态局部变量全局可见C、静态局部变量还是局部可见D、静态局部变量只会被初始化一次正确答案:【静态局部变量全局可见】16、填空题:C语言程序的基本单位是。正确答案:【函数】17、填空题:一个函数的完整定义由函数首部和组成。正确答案:【函数体】18、填空题:在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是________(传值或传地址这两种之间选填一个)。正确答案:【传值】19、填空题:若函数定义时不指明函数类型,则其默认的返回值类型是________。(用表达类型的关键字来描述)正确答案:【int】20、填空题:定义静态局部变量的关键字是。正确答案:【static】21、填空题:每一个C语言源程序必须有一个__________函数。正确答案:【主##%_YZPRLFH_%##main】22、填空题:C语言中,表示函数返回的关键字是?。正确答案:【return】23、填空题:按作用域变量可分为两类,分别是局部变量和??变量。正确答案:【全局】6.1随堂测验1、问题:若有说明:inta[10];则对a数组元素的正确引用是________。选项:A、a[10]B、a[3.5]C、a(5)D、a[10-10]正确答案:【a[10-10]】2、问题:C语言中,数组名代表________。选项:A、数组全部元素的值B、数组首地址C、数组第一个元素的值D、数组元素的个数正确答案:【数组首地址】3、问题:以下不能对二维数组a进行正确初始化的语句是________。选项:A、inta[2][3]={0};B、inta[][3]={{1,2},{0}};C、inta[2][3]={{l,2},{3,4},{5,6}};D、inta[][3]={1,2,3,4,5,6};正确答案:【inta[2][3]={{l,2},{3,4},{5,6}};】4、问题:若有以下说明:intarray[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;则数值为4的表达式是__。选项:A、array['d'-'c']B、array['d'-c]C、array[g-c]D、array[4]正确答案:【array['d'-c]】6.2随堂测验1、问题:以下程序编译运行后输出。#includestdio.hdoubleF(intx){return(3.14*x*x);}intmain(){inta[3]={1,2,3};printf(%5.2f\n,F(a[1]));return0;}选项:A、3.14B、12.56C、28.26D、编译出错正确答案:【12.56】2、问题:以下程序运行后的输出结果是。#includestdio.h#defineN20voidfun(inta[],intn,intm){inti,j;for(i=m;i=n;i--)a[i+1]=a[i];}intmain(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i5;i++)printf(%d,a[i]);return0;}选项:A、10234B、12344C、12334D、12234正确答案:【12334】6.3随堂测试1、问题:以下定义数组的语句中错误是的。选项:A、intnum[]={1,2,3,4,5,6};B、intnum[][3]={{1,2},3,4,5,6};C、intnum[2][4]={{1,2},{3,4},{5,6}};D、intnum[][4]={1,2,3,4,5,6};正确答案:【intnum[2][4]={{1,2},{3,4},{5,6}};】2、问题:以下对二维数组a的说明正确的是。选项:A、inta[3][];B、floata(3,4);C、doublea[1][4];D、floata(3)(4);正确答案:【doublea[1][4];】3、问题:以下对二维数组a进行正确初始化的语句是。选项:A、inta[2][]={0};B、inta[][3]={{1,0,1},{5,2,3}};C、inta[2][4]={{1,0,1},{5,2},{3}};D、inta[][3]={{1,0,1,0},{},{5,2}};正确答案:【inta[][3]={{1,0,1},{5,2,3}};】6.4随堂测验1、填空题:以下程序的运行结果是:。#includestdio.h#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;iN;i++)b[i]=a[i][i]-a[i][N-1-i];}intmain(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;iN;i++)printf(%d,,y[i]);printf(\n);return0;}正确答案:【-3,-1,1,3,】2、填空题:以下程序的运行结果是:。#includestdio.hintmain(){inta[4][4]={{1,4,3,2},{8,5,6,7},{4,9,2,1},{3,2,5,1}},i,j,k,t;for(i=0;i4;i++)for(j=0;j3;j++)for(k=j+1;k4;k++)if(a[j][i]a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}for(i=0;i4;i++)printf(%d,,a[i][i]);return0;}正确答案:【1,4,5,7,】6.5随堂测验1、问题:以下程序段的作用是:。inta[]={4,0,2,3,1},i,j,t;for(i=1;i5;i++){t=a[i];j=i-1;while(j=0ta[j]){a[j+1]=a[j];j--;}a[j+1]=t;}选项:A、对数组a进行插入排序(升序)B、对数组a进行插入排序(降序)C、对数组a进行选择排序(升序)D、对数组a进行选择排序(降序)正确答案:【对数组a进行插入排序(降序)】2、填空题:若输入52CR,则下面程序的运行结果是。#includestdio.hintmain(){inta[8]={6,12,18,42,46,52,67,73};intlow=0,mid,high=7,x;printf("Inputx:");scanf("%d",x);while(low=high){mid=(low+high)/2;if(xa[mid])low=mid+1;elseif(xa[mid])high=mid-1;elsebreak;}if(low=high)printf("%d\n",mid);elseprintf("error!\n");return0;}正确答案:【5】3、填空题:以下程序的运行结果为。#includestdio.hvoidfun(inta[],intn){intt,i,j;for(i=0;in-1;i++)for(j=0;jn-i-1;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}intmain(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c,5);for(i=0;i10;i++)printf(%d,,c[i]);printf(\n);return0;}正确答案:【5,4,3,2,1,6,7,8,9,0,##%_YZPRLFH_%##5,4,3,2,1,6,7,8,9,0##%_YZPRLFH_%##5,4,3,2,1,6,7,8,9,0,##%_YZPRLFH_%##5,4,3,2,1,6,7,8,9,0】第六章编程第六章单元测验1、问题:在C语言中,引用数组元素时,其数组下标的数据类型不允许的是________。选项:A、整型常量B、字符型常量C、整型常量或整型表达式D、实型数正确答案:【实型数】2、问题:shortint类型变量占用两个字节,有如下定义:shortintarray[10]={0,2,4};,则数组array在内存中所占字节数是________。选项:A、3B、6C、10D、20正确答案:【20】3、问题:若有说明:inta[3][4];则对a数组元素的非法引用是________。选项:A、a[0][2*1]B、a[1][3]C、a[4-2][0]D、a[0][4]正确答案:【a[0][4]】4、问题:下面程序中有错误的行是(每行程序前面的数字表示行号)________。1intmain()2{inta[3]={1};3inti;4scanf(%d,a);5for(i=1;i=3;i++)a[0]=a[0]+a[i];6printf(a[0]=%d\n,a[0]);7return0;8}选项:A、2B、5C、6D、4正确答案:【5】5、问题:以下程序给数组所有元素输入数据,填入能完成该功能。#includestdio.hintmain(){intarray[5],i=0;while(i5)scanf(%d,___);return0;}选项:A、array[i++]B、array[i+1]C、array+iD、array[++i]正确答案:【array[i++]】6、问题:若定义inta[][4]={1,2,3,4,5,6,7,8};a[1][0]的值是。选项:A、3B、4C、5D、1正确答案:【5】7、问题:以下错误的定义语句是。选项:A、intx[][3]={{0},{1},{1,2,3}};B、intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C、intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D、intx[][3]={1,2,3,4};正确答案:【intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};】8、问题:以下程序的输出结果是。#includestdio.hintmain(){intn[2]={0},i,j,k=2;for(i=0;ik;i++)for(j=0;jk;j++)n[j]=n[i]+1;printf(%d\n,n[k-1]);return0;}选项:A、不确定的值B、3C、2D、1正确答案:【3】9、问题:下列正确的一维数组初始化是。选项:A、inta[5]={1,2};B、inta[2]={1,2,3,4,5};C、inta[5]={,,1,2};D、inta{5}={1,2,3,4,5};正确答案:【inta[5]={1,2};】10、问题:若定义intm[10]={9,4,12,8,2,10,7,5,1,3};则m[m[4]+m[8]]的值是。选项:A、8B、12C、10D、7正确答案:【8】11、问题:在C语言中,数组名代表。选项:A、数组全部元素的值B、数组首地址C、数组首个元素的值D、数组元素的个数正确答案:【数组首地址】12、问题:若有说明:inta[10];则对a数组元素的正确引用是。选项:A、a[10]B、a[3.5]C、a(5)D、a[0]正确答案:【a[0]】13、问题:下面程序如果只有一个错误,是有错。intmain()//1{doublea[3]={0};//2inti;//3for(i=0;i3;i++)scanf(%d,a[i]);//4for(i=1;i3;i++)a[0]=a[0]+a[i];//5printf(%f\n,a[0]);//6return0;//7}//8选项:A、第2行B、第6行C、第4行D、没有错误正确答案:【第4行】14、问题:若有说明:inta[][4]={0};则下面叙述正确的是。选项:A、只有元素a[0][0]可得到初值0B、数组a中各元素都可以得到初值,但其值不一定是0C、数组a中每个元素都可得到初值0D、此说明语句不正确正确答案:【数组a中每个元素都可得到初值0】15、问题:若有定义intb[5][7];根据数组存储顺序,b[0][0]为第1个元素,则第10个元素是。选项:A、b[2][5]B、b[2][4]C、b[1][2]D、b[1][5]正确答案:【b[1][2]】16、填空题:当输入a回车bc回车def回车时,下面程序输出的第三行是。#includestdio.hintmain(){charX[6];inti;for(i=0;i6;i++)X[i]=getchar();for(i=0;i6;i++)putchar(X[i]);return0;}正确答案:【d】17、填空题:如下程序执行后输出。#includestdio.hintmain(){staticinta[3][3];inti,j;for(i=0;i3;i++)for(j=0;j3;j++)a[i][j]=a[j][i]+i*j;printf(%d,%d,a[1][2],a[2][1]);return0;}正确答案:【2,4】18、填空题:写出程序的运行结果。#includestdio.hintfun(ints[],intt[]){inti,j=0;for(i=0;i10;i++)if(i%2){t[j]=s[i];j++;}returnj;}intmain(){intX[10]={1,2,3,4,5,6,7,8,9,10};intY[10];intm,i;m=fun(X,Y);for(i=0;im;i++)printf(%d,Y[i]);printf(\n);return0;}正确答案:【246810】19、填空题:写出程序的运行结果的第二行输出:。#includestdio.hintmain(){intX[4][4]={{11,2,31,14},{5,16,7,4},{18,9,6,10},{17,1,3,12}};inti,j,k,t;for(i=0;i4;i++)for(j=0;j4;j++)for(k=j+1;k4;k++){if(X[i][j]X[i][k]){t=X[i][j];X[i][j]=X[i][k];X[i][k]=t;}}for(i=0;i4;i++){for(j=0;j4;j++)printf(%d,X[i][j]);printf(\n);}return0;}正确答案:【45716】20、填空题:有以下C程序程序运行后的输出结果是。#includestdio.h#defineN20voidfun(inta[],intn,intm){inti,j;for(i=m;i=n;i--)a[i+1]=a[i];}intmain(){inti,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i5;i++)printf(%d,a[i]);return0;}正确答案:【12334】21、填空题:若有定义inta[3][5],则sizeof(a)的值是。正确答案:【60】22、填空题:若有定义inta[3][5],则sizeof(a[0][0])的值是。正确答案:【4】23、填空题:下列程序的输出结果是。#includestdio.hvoidfun(intp[]){printf(%d\n,p[5]);}intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10};fun(a[3]);return0;}正确答案:【9】7.1随堂测验1、问题:有变量定义:int*p,q;表示定义了______选项:A、指针变量p和整型变量qB、两个指针变量p和qC、两个整型变量p和qD、这样定义有语法错正确答案:【指针变量p和整型变量q】2、问题:设变量定义为intx,*p=x;,则*p相当于________。选项:A、xB、*pC、xD、*x正确答案:【x】3、问题:已有定义intk=2,m=3;int*ptr1=k,*ptr2=m;,下面不能正确执行的赋值语句是__选项:A、k=*ptr1+*ptr2;B、ptr2=k;C、ptr2=ptr1;D、ptr2=k;正确答案:【ptr2=k;】7.2随堂测验1、问题:若有定义及赋值:inta[10]={0,1,2,3,4,5,6,7,8,9},*p;p=a+1;,则不能表示数组a中元素值为4的那个元素地址的表达式是______。选项:A、a[4]B、p+4C、a+4D、p+3正确答案:【p+4】2、问题:若有说明inta[5][4];,则对a数组的i行j列(假设i,j已正确说明)元素值的引用正确的是______(说明:0行0列元素为a[0][0])。选项:A、*(*(a+i)+j)B、(a+i)[j]C、*(a+i+j)D、*(a+i)+j正确答案:【*(*(a+i)+j)】3、问题:若有以下定义和语句:inta[2][3],(*p)[3]=a;则对a数组元素地址的正确引用为______。选项:A、*(p+2)B、p[2]C、p[1]+1D、(p+1)+2正确答案:【p[1]+1】4、问题:若有定义:int*p[4];,则标识符p______。选项:A、是一个指向整型变量的指针B、是一个指针数组名C、是一个指针,指向一个含有4个整型元素的一维数组D、说明不合法正确答案:【是一个指针数组名】7.3随堂测验1、问题:有函数原型声明:voidf(int*);主函数中有变量定义:inta,b[3],*p=a;下列函数调用语句错误的是_______选项:A、f(a);B、f(b+1);C、f(a);D、f(p);正确答案:【f(a);】2、问题:想要通过一个指针形参改变对应实参变量的值,在写程序的时候需要符合几个条件,下列哪一个条件是错误的_______选项:A、形参设为指针参数B、对应实参为需要改变值的实参变量的地址C、在函数体中通过间接访问方式修改指针形参所指向的内容D、在函数体中对指针形参本身进行修改正确答案:【在函数体中对指针形参本身进行修改】3、问题:函数中用指针形参接受数组实参,其优点不包括下列哪一条______选项:A、可以直接使用实参数组的空间B、可以直接操作实参数组的元素C、只需要存放一个指针的空间开销,而不必复制整个数组空间D、书写代码简单正确答案:【书写代码简单】4、问题:如果一个函数想“返回”3个整数值,前两个参数是需要提供的原始数据,则函数原型可以写成:intf(int,int,int*,int*);选项:A、正确B、错误正确答案:【正确】7.4随t堂测验1、问题:关于选择法排序(由小到大排序),以下说法不正确的是________选项:A、n个元素共需要进行n-1趟排序B、每一趟排序最多只做一次两个元素的互换操作C、每一趟排序时是比较相邻元素的大小D、每一趟排序时首先寻找本趟最小元素所在的下标正确答案:【每一趟排序时是比较相邻元素的大小】2、问题:有变量定义:inta[10],s;有函数调用语句s=f(a,10);则以下的函数原型声明中错误的是____________选项:A、intf(inta[],intn);B、intf(int*a,int

温馨提示

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

评论

0/150

提交评论