您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 2013~14“程序设计II”期末试卷
第1页,共8页诚信应考考出水平考出风格浙江大学城市学院2013—2014学年第二学期期末考试试卷《程序设计(II)》开课单位:计算学院;考试形式:闭卷;考试时间:_2014__年__6__月_26_日;所需时间:120分钟题序一二三四五六七八总分得分评卷人注:请在答题卷上答题,答案写在试卷上无效。一.单项选择题(本大题共20题,每题1分,共20分。)1.假定int类型变量占用两个字节,有定义:intx[10]={0,2,4};则数组x在内存中所占字节数是()。A)3B)6C)10D)202.以下能正确定义数组并正确赋初值的语句是()。A)intN=5,b[N][N];B)inta[1][2]={{1},{3}};C)intc[2][]={{1,2},{3,4}};D)intd[3][2]={{1,2},{34}};3.下述对C语言字符数组的描述中错误的是()。A)字符数组可以存放字符串B)字符数组中的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符=对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较4.下列叙述中错误的是()。A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址C)在程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值的方式确定数组元素的个数5.若有定义语句:inta[3][6];按在内存中的存放顺序,a数组的第10个元素是()。A)a[0][4]B)a[1][3]C)a[0][3]D)a[1][4]6.有以下定义:charx[]=abcdefg;chary[]={'a','b','c','d','e','f','g'};则正确的叙述为()。A)数组x和数组y等价B)数组x和数组y的长度相同年级:_____________专业:_____________________班级:_________________学号:_______________姓名:__________________…………………………………………………………..装………………….订…………………..线………………………………………………………第2页,共8页C)数组x的长度大于数组y的长度D)数组x的长度小于数组y的长度7.下列语句定义x为指向int类型变量a的指针,正确的是()。A)inta,*x=a;B)inta,*x=&a;C)int*x=&a,a;D)inta,x=a;8.设有以下定义inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;则执行b=p[5];语句后变量b的值为()。A)5B)6C)8D)99.下列叙述中错误的是()。A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含头文件stdio.h时,可以给指针变量赋NULL10.以下程序的输出结果是()。intmain(void){chara[10]={'1','2','3','4','5','6','7','8','9',0},*p;inti=8;p=a+i;printf(%s\n,p-3);return0;}A)6B)6789C)'6'D)78911.以下选项中,不能定义s为合法的结构变量的是()。A.structabcB.struct{doublea;{doublea;charb[10];charb[10];}s;}s;C.structABCD.structs{doublea;{doublea;charb[10];charb[10];};};structABCs;12.如果有定义语句:struct{intx,y;}s[2]={{1,3},{2,7}};则语句printf(“%d\n”,s[0].y/s[1].x);的输出结果为()。A.0B.1C.2D.313.设有如下定义“structsk{inta;floatb;}data,*p;”,若有“p=&data;”,则对data中的a域的正确引用是()。A.(*p).data.aB.(*p).aC.p-data.aD.p.data.a14.执行下列程序后变量i的值应为()。#defineMA(x,y)x*yi=5;i=MA(i,i-1)*7;A.16B.18C.210D.16815.下面说法中正确的是()。A.若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块第3页,共8页间的耦合度B.若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度C.设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑变量生命周期问题D.静态全局变量使用过多,可那会导致动态存储区(堆栈)溢出16.以下叙述中错误的是()。A)用户定义的函数中可以没有return语句B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达式17.若有定义“int*p[3];”,则以下叙述中正确的是()。A.定义了一个基类型为int的指针变量p,该变量具有3个指针B.定义了一个指针数组p,该数组含有3个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有3个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个int类型元素18.下列程序的输出结果是()。intmain(void){inta[5]={2,4,6,8,10},*p,**k;p=a;k=&p;printf(%d,*(p++));printf(%d\n,**k);}A.44B.22C.24D.4619.下列关于C语言数据文件的叙述中正确的是()。A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件20.以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到读入字符#号时结束输入和输出操作,但程序有错,原因是()。#includestdio.hintmain(void){FILE*fout;charch;fout=fopen('abc.txt','w');ch=getchar();while(ch!='#'){fputc(ch,fout);ch=getchar();}fclose(fout);return0;}A)函数fopen调用形式错误B)文件没有关闭C)函数fputc调用形式错误D)文件指针fout定义错误第4页,共8页二.程序阅读题(本大题共5题,每题4分,共20分。)1、下列程序运行时如果从键盘上输入ABcd回车,运行结果是__________。#includestdio.hintmain(void){charch;while((ch=getchar())!='\n'){if(ch='A'&&ch='Z')ch=ch+(‘a’-‘A’);elseif(ch='a'&&ch='z')ch=ch+1;printf(%c,ch);}printf(\n);return0;}2、写出下面程序的运行结果。#includestdio.hintmain(void){inta[3][3]={1,2,3,4,5,6,7,8,9},i,j,s=0;for(i=0;i3;i++)for(j=0;j3;j++)s+=a[i][j];printf(“%d\n,s);return0;}(1)以上程序的输出结果为__________。(2)如果将第5、6行改为:for(j=0;ji;j++)s+=a[j][i];则输出结果为__________。3、以下程序的运行结果是__________。#includestdio.h#includestring.hintmain(void){charp[20]=abcd,q[]=abc,r[]=abcde;strcat(p,q);printf(%d\n,strlen(p));strcpy(p+strlen(q),r);printf(%d\n,strlen(p));return0;}4、写出下面程序的运行结果。#includestdio.hintfun(intx){intp;if(x==0||x==1)return(2);p=x+fun(x-1);第5页,共8页returnp;}intmain(void){printf(%d\n,fun(7));return0;}(1)以上程序的输出结果为__________。(2)如果将第5行改为:p=x-fun(x-2);则输出结果为__________。5、写出下面程序的运行结果。#includestdio.h#includestring.hvoidp(char*s,char*t){char*r;intflag;while(*s!=’\0’){r=t;flag=0;while(*r!=’\0’){if(*s==*r){strcpy(s,s+1);flag=1;break;}r++;}if(flag==0)s++;}}intmain(){chara[4][10]={”red”,”black”,”green”,“white”};inti;for(i=0;i4;i++)putchar(*(a[i]+i));putchar(‘\n’);p(a[2],a[3]);puts(a[2]);return0;}三.程序填空题(本大题共10空,每空2分,共20分。)1、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。#includestdio.hintmain(void){floatx[1000],sum=0.0,ave,a;intn=0,i;printf(Entermark:\n);scanf(%f,&a);while(a=0.0&&n1000)第6页,共8页{sum=(1);x[n]=(2);n++;scanf(%f,&a);}ave=(3);printf(Output:\n);printf(ave=%f\n,ave);for(i=0;in;i++)if((4))printf(%f\n,x[i]);return0;}2、下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变,输出结果为:1*2*3*4。运行输出:请填空。#includestdio.h#includestring.hintmain(void){chara[]=4*3*2*1,t;inti,j,k;k=strlen(a);for(i=2;ik;i+=2)for(j=0;jk-i;(5))if((6)){t=a[j];a[j]=a[j+2];a[j+2]=t;}puts(a);return0;}3、下列程序输入某班学生的姓名及数学、英语成绩,计算每位学生的平均分,然后输出平均分最高的学生之姓名及数学、英语成绩,请填空。#includestdio.hstructstudent{charname[10];intmath,eng;floataver;};intfun(structstudents[],intn){intk,maxsub=0;for(k=0;kn;k++){(7)=(s[k].math+s[k].eng)/2.0;if(s[k].avers[maxsub].aver)(8);}returnmaxsub;}intmain(void){inti,n,maxn;structstudents[50];scanf
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:2013~14“程序设计II”期末试卷
链接地址:https://www.777doc.com/doc-3039675 .html