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

下载本文档

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

文档简介

MOOCC语言程序设计(下)-北京理工大学中国大学慕课答案小测验1:1、问题:C语言是由()构成。选项:A、主程序和子程序B、主函数和子函数C、一个主函数和若干功能函数D、主函数和子程序正确答案:【一个主函数和若干功能函数】2、问题:以下对C语言函数的有关描述中,正确的是()。选项:A、调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否则不能使用函数D、C程序中有调用关系的所有函数必须放在同一个源程序文件中正确答案:【调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参】3、问题:以下说法中正确的是()。选项:A、C语言程序总是从第一个的函数开始执行B、在C语言程序中,要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须放在程序的开始部分正确答案:【C语言程序总是从main()函数开始执行】小测验2:1、问题:C语言程序中,如果变量做函数参数,则当函数调用时()。选项:A、实参和形参各占一个独立的存储单元B、实参和形参共用一个存储单元C、可以由用户指定是否共用存储单元D、计算机系统自动确定是否共用存储单元正确答案:【实参和形参各占一个独立的存储单元】2、问题:一个函数返回值的类型是由()决定的。选项:A、return语句中表达式的类型B、在调用函数时临时指定C、定义函数时指定的函数类型D、调用该函数的主调函数的类型正确答案:【定义函数时指定的函数类型】3、问题:在C语言的函数中,下列正确的说法是()。选项:A、必须有形参B、形参必须是变量名C、可以有也可以没有形参D、数组名不能作形参正确答案:【可以有也可以没有形参】小测验31、问题:若函数的形参为一维数组,则下列说法中正确的是()。选项:A、调用函数时的对应实参必为数组名B、形参数组可以不指定大小C、形参数组的元素个数必须等于实参数组的元素个数D、形参数组的元素个数必须多于实参数组的元素个数正确答案:【形参数组可以不指定大小】2、问题:若调用一个函数,且此函数中没有return语句,则正确的说法是()。选项:A、该函数没有返回值B、该函数返回若干个系统默认值C、该函数能返回一个用户所希望的函数值D、该函数返回一个不确定的值正确答案:【该函数返回一个不确定的值】3、问题:在函数的说明和定义时若没有指出函数的类型,则()。选项:A、系统自动地认为函数的类型为整型B、系统自动地认为函数的类型为字符型C、系统自动地认为函数的类型为实型D、编译时会出错正确答案:【系统自动地认为函数的类型为整型】4、问题:下面叙述中正确的是()。选项:A、对于用户自己定义的函数,在使用前必须加以说明B、说明函数时只需要说明返回类型C、函数必须返回一个值D、空函数不完成任何操作,所以在程序设计中没有用处正确答案:【对于用户自己定义的函数,在使用前必须加以说明】5、问题:C语言允许函数返回值类型缺省定义,此时该函数隐含的返回值类型是()。选项:A、float型B、int型C、long型D、double型正确答案:【int型】第一周编程作业小测验11、问题:在下列结论中,有一个是错误的,它是()选项:A、C语言允许函数的递归调用B、有些递归程序是不能用非递归算法实现的C、C语言不允许在函数定义中再定义函数D、递归函数就是函数中可以定义其他函数正确答案:【有些递归程序是不能用非递归算法实现的】2、问题:如果有个递归函数是求2*4*6*……*(2n)的积,则递归的公式和条件可以表达为()选项:A、f(n)=2*n*f(n-1)边界条件当n==1f(n)=2B、f(n)=2*f(2*n-1)边界条件当n==0f(n)=1C、f(n)=2*nf(2*n-1)边界条件当n==1f(n)=1D、f(n)=2*f(2*n-1)边界条件当n==0f(n)=2正确答案:【f(n)=2*n*f(n-1)边界条件当n==1f(n)=2】小测验21、问题:一段楼梯有N阶,可以一次上1阶,也可以一次上2阶,用递归函数调用实现,计算多少种走法。则递归公式和边界条件是()选项:A、f[n]=f[n-1]+f[n-2]边界条件当n=1f[1]=0,当n=2f[2]=1B、f[n]=f[n-1]+f[n-2]边界条件当n=1f[1]=1,当n=2f[2]=2C、f[n]=f[n-1]边界条件当n=1f[1]=1D、f[n]=f[n-2]边界条件当n=2f[2]=1正确答案:【f[n]=f[n-1]+f[n-2]边界条件当n=1f[1]=1,当n=2f[2]=2】2、问题:一只小猴子,摘了一堆水果,第一天吃了水果的一半,又多吃了一个;第二天吃了剩下水果的一半,又多吃了一个;依次类推….到第十天,发现只剩下了10个水果,请问这只猴子到底摘了多少个水果?写成递归函数。选项:A、B、C、D、正确答案:【】第二周编程作业小测验11、问题:在一个C源程序文件中,ꢀ若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是()选项:A、externB、registerC、autoD、static正确答案:【extern】2、问题:如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为()选项:A、静态变量B、动态变量C、外部变量D、内部变量正确答案:【静态变量】小测验21、问题:以下程序的输出结果是:intf(inta){autointb=0;staticintc=3;b++;c++;returna+b+c;}main(){intc,a=1;for(c=1;c3;c++)printf(“%3d”,f(a));}选项:A、55B、56C、66D、67正确答案:【67】2、问题:以下程序的输出结果是:voidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j2);}main(){intk,a[10]={1,2,3,4,5};for(k=1;k3;k++)fun(a);for(k=0;k5;k++)printf(“%d”,a[k]);}选项:A、34756B、23445C、35745D、12345正确答案:【35745】小测验31、问题:以下程序的输出结果是:#defineADD(x)x+xmain(){intm=1,n=2,k=3,sum;sum=ADD(m+n)*k;printf(“sum=%d\n”,sum);}选项:A、sum=9B、sum=10C、sum=12D、sum=18正确答案:【sum=10】2、问题:以下程序的输出结果是:#defineN1#defineMN+2#defineNUM2*M+1main(){inti;for(i=1;i=NUM;i++)printf(“%3d”,i);}选项:A、12345B、1234567C、123456D、程序出错正确答案:【12345】3、问题:已知宏定义#defineN3#defineY(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、指针定义后,可以用整型数据为指针初始化。D、指针定义后,只能指向一个变量。正确答案:【指针定义后,可以指向同类型的任何变量。】3、问题:变量的指针,其含义是指该变量的。选项:A、值B、地址C、名D、一个标志正确答案:【地址】小测验21、问题:如果有定义inta[30],*p=a;则数组a中下标为i的元素的地址为。选项:A、p+i*2B、p+(i-1)*2C、p+(i-1)D、p+i正确答案:【p+i】2、问题:若有如下定义,则________是对数组元素的正确的引用。inta[10],*p=a;选项:A、*a[10]B、*a[0]C、*(p-11)D、*(a+11)正确答案:【*a[0]】3、问题:若有定义:intx[10]={0,1,2,3,4,5,6,7,8,9},*p1;则数值不为3的表达式是。选项:A、x[3]B、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、问题:已知inta[]={1,3,5,7},y,*p=a;为了使变量y的值为3,下列语句正确的是。选项:A、y=++*p++;B、y=++(*p++);C、y=(++*p)++;D、y=(*++p)++;正确答案:【y=(*++p)++;】3、问题:下面函数的功能是。void(char*s1,char*s2){while(*s2++=*s1++);}选项:A、字符串反向B、字符串比较C、字符串连接D、字符串复制正确答案:【字符串复制】第四周编程作业小测验11、问题:运行以下程序时输入HELLOWORLDCR(CR代表Enter键),则输出的结果是()#includestdio.hcharfun(char*c){if(*c='Z'*c='A')*c-='A'-'a';return*c;}intmain(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}putchar(“\n“);return0;}选项:A、heLLOwORldB、helloworldC、HELLOWORLDD、HelloWorld正确答案:【helloworld】2、问题:以下程序输出的结果是()#includestdio.h#includestring.hvoidfun(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、7654321B、1711717C、1711771D、7177171正确答案:【1711717】3、问题:库函数strcpy用以复制字符串。若有以下定义和语句:charstr1[]=GREETING,str2[8],*str3,*str4=GREETING;则对库函数strcpy的不正确调用是()选项:A、strcpy(str2,HELLO2);B、strcpy(str3,HELLO3);C、strcpy(str4,HELLO4);D、都不正确正确答案:【strcpy(str3,HELLO3);】小测验21、问题:下面程序的运行结果是()intmain(){intaa[3][3]={{2},{4},{6}},i,*p=aa[0][0];for(i=0;i2;i++){if(i==0)aa[i][i+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、问题:下面程序的运行结果是()intmain(){inta[3][4]={1,3,5,7,9,11,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(%d\n,k);return0;}选项:A、60B、68C、99D、108正确答案:【60】第五周编程作业小测验11、问题:以下程序的输出结果是():#includestdio.hintfuna(inta,intb){returna+b;}intfunb(inta,intb){returna-b;}intsub(int(*t)(int,int),intx,inty){return(*t)(x,y);}intmain(){intx,(*p)(int,int);p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf(%d\n,x);}选项:A、12B、15C、17D、19正确答案:【17】2、问题:若有以下说明和定义,则对fun函数的正确调用语句是()intmain(){int(*a)(int*),*b(),w[10],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,int*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(%d\n,x);return0;}选项:A、4B、6C、8D、12正确答案:【8】小测验21、问题:下面程序运行结果():intmain(){charch[2][5]={6937,8254},*p[2];inti,j,s=0;for(i=0;i2;i++)p[i]=ch[i];for(i=0;i2;i++)for(j=0;p[i][j]'\0'p[i][j]='9';j+=2)s=10*s+p[i][j]-'0';printf(%d\n,s);return0;}选项:A、6385B、69825C、63825D、693825正确答案:【6385】2、问题:以下程序的输出结果是():intmain(){char*p[]={PROGRAM,BASIC,C,JAVA};inti;for(i=3;i=0;i--,i--)printf(%c,*p[i]);printf(\n);return0;}选项:A、JVCBSPOB、JAVAC、JBD、JAVABASIC正确答案:【JB】3、问题:以下程序运行结果是():intmain(){char*alpha[6]={ABCD,EFGH,IJKL,MNOP,QRST,UVWX};char**p;inti;p=alpha;for(i=0;i6;i=i+2)printf(%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、结构中一个成员所需的内存容量B、结构中第一个成员所需的内存容量C、结构中占内存最大的成员所需的内存容量D、结构中各成员所需内存容量之和正确答案:【结构中各成员所需内存容量之和】小测验21、问题:定义以下结构体类型structc{intx;floaty;}a[3]sizeof(a)的结果是()。选项:A、4B、12C、18D、6正确答案:【6】2、问题:定义以下结构体数组structc{intx;inty;}s[2]={1,3,2,7}语句printf(“%d”,s[0].x*s[1].x)的输出结果为()。选项:A、14B、6C、2D、21正确答案:【2】小测验41、问题:有以下程序段structst{intx;int*y;}*pt;inta[]={1,2};intb[]={3,4};structstc[2]={10,a,20,b};pt=c;以下选项中表达式为11的是()。选项:A、*pt-yB、pt-xC、++pt-xD、(pt++)-x正确答案:【++pt-x】2、问题:运行下列程序段,输出结果是()。structcountry{intnum;charname[10];}x[5]={1,”China”,2,”USA”,3,”France”,4,”England”,5,”Spanish”};structcountry*p;p=x+2;printf(“%d,%c”,p-num,(*p).name[2]);选项:A、3,aB、4,gC、2,UD、5,S正确答案:【3,a】小测验41、问题:以下哪种方式进行结构体数据的传递是错误的()?选项:A、通过结构体变量成员的引用B、通过结构体变量的引用C、通过结构体类型的引用D、通过结构体变量的指针正确答案:【通过结构体类型的引用】小测验51、问题:以下说法错误的是()。选项:A、联合与结构的引用方法是一样的B、联合与结构的定义除了关键字以外都是一样的C、联合与结构的初始化方法是一样的D、联合与结构的内存占用与成员内存占用间的关系是不一样的正确答案:【联合与结构的初始化方法是一样的】第七周编程作业小测验11、问题:设有如下说明typedefstructDATA{inta;longb;}OLD;则下列叙述中正确的是()选项:A、以上说明形式非法B、OLD是一个结构体类型C、OLD是一个结构体变量D、DATA是一个结构体变量正确答案:【OLD是一个结构体类型】2、问题:有如下说明typedefint(*p)[9],p的含义是()选项:A、一个指针B、一个数组C、一个指向数组的指针D、一个指针数组正确答案:【一个指向数组的指针】小测验2:1、问题:定义以下枚举类型enumname{zhang=2,wang=4,li=6,chen};则枚举量chen的值为()选项:A、0B、1C、7D、8正确答案:【7】2、问题:下面程序输出结果是()#includestdio.hmain(){enumname{a,b=2,c,d=c+10};printf(“%d%d%d%d”,a,b,c,d);}选项:A、1234B、0123C、02313D、编译出错正确答案:【02313】小测验3:1、问题:下述哪一条是顺序存储结构的优点?()选项:A、存储密度大B、插入运算方便C、删除运算方便D、可方便地用于各种逻辑结构的存储表示正确答案:【存储密度大】2、问题:链表不具有的特点是()选项:A、插入、删除不需要移动元素B、可随机访问任一元素C、不必事先估计存储空间D、链表空间可以减小正确答案:【可随机访问任一元素】小测验4:1、问题:在一个以h为头的单循环链中,p指针指向链尾的判断条件是()选项:A、p^.next=NILB、p^.next.^next=hC、p^.next=hD、p^.data=-1正确答案:【p^.next=h】2、问题:非空的循环单链表head的尾结点p↑满足()。选项:A、p↑.link=NULLB、p↑.link=headC、p=NULLD、p=head;正确答案:【p↑.link=head】3、问题:在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。选项:A、p-next=s;s-next=p-next;B、s-next=p-next;p-next=s;C、p-next=s;p-next=s-next;D、p-next=s-next;p-next=s;正确答案:【s-next=p-next;p-next=s;】第八周编程作业小测验11、问题:关于文件理解不正确的为()选项:A、C语言把文件看作是字节的序列,即由一个个字节的数据顺序组成;B、每个打开文件都和文件结构体变量相关联,程序通过该变量中访问该文件;C、所谓文件一般指存储在外部介质上数据的集合;D、系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区;正确答案:【系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区;】2、问题:关于二进制文件和文本文件描述正确的为()选项:A、文本文件把每一个字节放成一个ASCII代码的形式,只能存放字符或字符串数据;B、二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;C、二进制文件可以节省外存空间和转换时间,不能存放字符形式的数据;D、一般中间结果数据需要暂时保存在外存上,以后又需要输入内存的,常用文本文件保存;正确答案:【二进制文件把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放;】小测验1、问题:系统的标准输入文件操作的数据流向为选项:A、从键盘到内存B、从显示器到磁盘文件C、从硬盘到内存D、从内存到硬盘正确答案:【从键盘到内存】2、问题:文件指针指向的概念正确的是选项:A、文件数据在硬盘的首地址B、文件数据在内存的首地址C、文件缓冲区结构的首地址D、文件路径名的首地址正确答案:【文件缓冲区结构的首地址】小测验1、问题:若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是选项:A、ab+B、wb+C、rb+D、ab正确答案:【wb+】2、问题:利用fopen(fname,mode)函数实现的操作不正确的为选项:A、正常返回被打开文件的文件指针,若执行fopen函数时发生错误则函数的返回NULL;B、以缓冲区方式打开一个文件;C、若找不到由fname指定的相应文件,则按指定的名字建立一个新文件;D、调用操作系统提供的打开或建立新文件功能;正确答案:【若找不到由fname指定的相应文件,则按指定的名字建立一个新文件;】小测验1、问题:函数fgets(chars[],intsize,FILE*fp)的说法正确的是选项:A、该函数最多可以一次读取size个字符组成的字符串B、读取正确则返回字符数组的首地址C、读取过程中遇到’\n’结束D、读取过程中遇到EOF结束正确答案:【该函数最多可以一次读取size个字符组成的字符串】2、问题:利用fwrite(buffer,sizeof(Student),3,fp)函数描述不正确的选项:A、将3个学生的数据块按二进制形式写入文件B、将由buffer指定的数据缓冲区内的3*sizeof(Student)个字节的数据写入指定文件C、返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;D、若由fp指定的文件不存在,则返回0值正确答案:【返回实际输出数据块的个数,若返回0值表示输出结束或发生了错误;】小测验1、问题:若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是。fseek(fp,0,2);i=ftell(fp);printf(i=%ld\n,i);选项:A、–1B、fp所指文件的长度,以字节为单位C、0D、2正确答案:【fp所指文件的长度,以字节为单位】2、问题:以下操作正确的情况下,指针不能确保指在首地址的是选项:A、rewind(fp)B、fopen(fname,fp,r+)C、fseek(fp,0,0)D、ftell(fp)正确答案:【ftell(fp)】小测验1、问题:检查由fp指定的文件在读写时是否出错的函数是选项:A、feof(fp)B、EOF==getc(fp)C、clearerr(fp)D、ferror(fp)正确答案:【ferror(fp)】第九周编程作业小测验11、问题:下列不属于C语言中关键字的是()选项:A、longB、printC、defaultD、typedef正确答案:【print】2、问题:若inti=10;执行下列程序后,变量i的正确结果是()switch(i){case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}选项:A、13B、12C、11D、10正确答案:【13】3、问题:以下选项中合法的字符常量是()选项:A、“B”B、‘\n’C、‘68’D、E正确答案:【‘\n’】4、问题:若int类型数据占2个字节,则unsignedint类型数据的取值范围是()选项:A、0~255B、0~65535C、-32768~32767D、-256~255正确答案:【0~65535】5、问题:能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是()选项:A、a=10ora=0B、a=0|a=10C、a=10a=0D、a=10‖a=0正确答案:【a=10‖a=0】6、问题:若有以下数组说明,则i=10;a[a[i]]元素数值是()选项:A、10B、9C、6D、5正确答案:【6】7、问题:语句while(!y);中的表达式!y等价于()选项:A、y==0B、y!=1C、y=!0D、y==1正确答案:【y==0】8、问题:以下对一维数组a的正确说明是()选项:A、chara(10);B、inta[];C、intk=5,a[k];D、chara[3]={‘a’,’b’,’c’};正确答案:【chara[3]={‘a’,’b’,’c’};】9、问题:以下对结构变量stul中成员age的非法引用是()structstudent{intage;intnum;16}stu1,*p;p=stu1;选项:A、stu1.ageB、student.ageC、p-ageD、(*p).age正确答案:【student.age】10、问题:对于同类型的指针变量,不可能进行的运算是()选项:A、-B、=C、+D、==正确答案:【+】第十周编程作业单项选择题1、问题:若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是()选项:A、(*p)max(a,b)B、*pmax(a,b)C、(*p)(a,b)D、*p(a,b)正确答案:【(*p)(a,b)】2、问题:设已有定义:inta[10]={15,12,7,31,47,20,16,28,13,19},*p;下列语句中正确的是()选项:A、for(p=a;a(p+10);a++)B、for(p=a;p(a+10);p++)C、for(p=a,a=a+10;pa;p++)D、for(p=a;ap+10;++a)正确答案:【for(p=a;p(a+10);p++)】3、问题:以下描述不正确的是()选项:A、在函数中,只要说明了变量,就可为其分配存贮单元B、在定义函数时,必须指定形参的类型C、形参和实参之间可以是值传递D、数组名可以作为参数进行传递正确答案:【在函数中,只要说明了变量,就可为其分配存贮单元】4、问题:在调用函数时,如果实参和形参都是数组名,实参与对应形参之间的数据传递方式是()选项:A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定正确答案:【地址传递】5、问题:以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()main(){int*p,*q,a,b;p=a;printf(“inputa:”);scanf(“%d”,*p);……}选项:A、*p表示的是指针变量p的地址B、*p表示的是变量a的值,而不是变量a的地址C、*p表示的是指针变量p的值D、*p只能用来说明p是一个指针变量正确答案:【*p表示的是变量a的值,而不是变量a的地址】6、问题:若有语句int*point,a=4;和point=a;下面均代表地址的一组选项是()选项:A、a,point,*aB、*a,a,*pointC、*point,*point,aD、a,*point,point正确答案:【a,*point,point】7、问题:如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量()选项:A、为全局变量,在本程序文件范围内有效B、为局部变量,只在该函数内有效C、为局部变量,只在该复合语句中有效D、定义无效,为非法变量正确答案:【为局部变量,只在该复合语句中有效】8、问题:若函数调用时参数为基本数据类型的变量,以下叙述正确的是()选项:A、实参与其对应的形参共占存储单元B、只有当实参与其对应的形参同名时才共占存储单元C、实参与对应的形参分别占用不同的存储单元D、实参将数据传递给形参后,立即释放原先占用的存储单元正确答案:【实参与对应的形参分别占用不同的存储单元】9、问题:若有以下调用语句,则正确的f函数首部是()main(){…..inta;floatx;…..f(x,a);…..}选项:A、voidf(intm,floatx)B、voidf(floata,intx)C、voidf(intm,floatx[])D、voidf(intx,floata)正确答案:【voidf(floata,intx)】10、问题:设typedefchar*POINT;POINTp,q[3];,则p和q分别是字符型的()选项:A、变量、指针变量B、变量、二维数组C、指针变量、一维数组指针D、指针变量、一维指针数组正确答案:【指针变量、一维指针数组】11、问题:若有以下说明语句:structdate{intyear;intmonth;intday;}brithday;则下面的叙述正确的是()选项:A、struct是声明结构体类型时用的关键字B、structdate是声明结构体类型时用的关键字C、brithday是用户定义的结构体类型名D、year,day都是结构体变量名正确答案:【struct是声明结构体类型时用的关键字】12、问题:若有以下说明和语句,则值为6的表达式是()structst{intn;structst*next;};structsta[3],*p;a[0].n=5;a[0].next=a[1];a[1].n=7;a[1].next=a[2];a[2].n=9;a[0].next='\0';p=a[0];选项:A、p++-nB、p-n++C、(*p).n++D、++p-n正确答案:【++p-n】13、问题:当定义一个结构体变量时,系统为它分配的内存空间是()选项:A、结构中当前使用成员所需的内存容量B、结构中第一个成员所需的内存容量C、结构体中占内存容量最大者所需的容量D、结构中各成员所需内存容量之和正确答案:【结构中各成员所需内存容量之和】14、问题:设有定义:structs{charID[5];charname[10];floatscore[3];floatav;}stu[3];以下正确的赋值语句是()选项:A、stu.ID=”1010”B、stu[0].name=”wang”C、strcpy(stu.ID,”1010”)D、strcpy(stu[0].name,”wang”)正确答案:【strcpy(stu[0].name,”wang”)】15、问题:已知union{inti;charc;floata;}test;则sizeof(test)的值是_____(intcharfloat分别占2、1、4个字节)选项:A、1B、2C、4D、7正确答案:【4】16、问题:文本文件file.txt中的内容是字符串“TodayisMonday”,若定义FILE*fp;charstr[80];指向如下语句fp=fopen(“file.txt”,”r”);fscanf(fp,”%s”,str);之后,数组str中的内容是()选项:A、TodayisMondayB、TodayC、TD、Todayis正确答案:【Today】17、问题:若文本文件中的内容是\\\22abcdefg,调用库函数fgets(s,8,f)后的结果是()选项:A、从文件f中读处\\\22ab字符串存入指针s所指的内存B、从文件f中读取\\\22abcde字符串存入指针s所指的内存C、从文件f中读取\\\22abcdef字符串存入指针s所指的内存D、从文件f中读取\\\22abc字符串存入指针s所指的内存正确答案:【从文件f中读处\\\22ab字符串存入指针s所指的内存】18、问题:以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是()选项:A、feof(fp)B、ftell(fp)C、fgetc(fp)D、rewind(fp)正确答案:【rewind(fp)】19、问题:C语言中系统的标准输入文件是指()选项:A、键盘B、显示器C、内存D、硬盘正确答案:【键盘】20、问题:关于C语言文件理解正确的是()选项:A、C语言把文件看作是字节的序列,即由一个个字节的数据随机组成B、所谓文件是指存储在外部介质上数据的集合C、系统自动在硬盘为每一个正在读写的文件开辟缓冲区D、每一个打开的文件都和文件结构体变量关联,程序通过该变量访问文件正确答案:【每一个打开的文件都和文件结构体变量关联,程序通过该变量访问文件】21、问题:下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再存放一个空格,例如字符串s为abcdefg,则字符串t为abcdefg,请选择填空。#includestdio.h#includestring.hmain(){intj,k=0;chars[60],t[100],*p;p=s;gets(p);while(*p){for(j=1;j=3*p;【1】)t[k]=*p;if(j==4){t[k]='';k++;}}【2】;puts(t);}其中【1】选择为()选项:A、p++B、p++,k++C、p++,k++,j++D、k++,j++正确答案:【p++,k++,j++】22、问题:下面程序的功能是将字符串s的所有字符传送到字符串t中,要求每传递三个字符后再存放一个空格,例如字符串s为abcdefg,则字符串t为abcdefg,请选择填空。#includestdio.h#includestring.hmain(){intj,k=0;chars[60],t[100],*p;p=s;gets(p);while(*p){for(j=1;j=3*p;【1】)t[k]=*p;if(j==4){t[k]='';k++;}}【2】;puts(t);}其中【2】选择为()选项:A、t[k]='\0'B、*p=='\0'C、!*pD、j!=4正确答案:【t[k]='\0'】23、问题:以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【1】选择为()B、defineN=10D、defineN10F、intN=10H、typedefN10正确答案:【#defineN10】24、问题:以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【2】选择为()选项:A、j=NB、jNC、jN-kD、j=k正确答案:【jN】25、问题:以下程序是用选择法对10个整数按升序排序。【1】main(){inti,j,k,t,a[N];for(i=0;i=N-1;i++)scanf(%d,a[i]);for(i=0;iN-1;i++){k=i;for(j=i+1;【2】;j++)if(a[j]a[k])k=j;if(____【3】_______){t=a[i];a[i]=a[k];a[k]=t;}}printf(outputthesortedarray:\n);for(i=0;i=N-1;i++)printf(%5d,a[i]);printf(\n);}其中【3】选择为()选项:A、k!=iB、k!=jC、k==iD、k==j正确答案:【k!=i】26、问题:以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。age(intn){intc;if(n==1)c=10;elsec=【1】;return(c);}main(){intn=5;printf(age:%d\n,【2】);}其中【1】选择为()选项:A、2+age(n)B、age(n-1)C、2+age(n-1)D、age(n-2)正确答案:【2+age(n-1

温馨提示

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

评论

0/150

提交评论