中国海洋大学2010学年秋季学期期末考试试卷计算机基础部《C程序设计》课程试题(A卷)共8页第1页考试说明:本课程为闭卷考试,可携带书写与修正文具,满分:100分。考试结束后请将答题卡与试卷分开上交。一、单选题(每题2分,共20分)1、以下选项中合法的用户标识符是。A)doubleB)_2TestC)3GD)c++2、数字字符'0'的ASCII的值为48,下面程序运行后输出结果是。voidmain(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-a);}A)3,2B)50,2C)2,2D)2,13、当调用函数时,实参是一个数组名,则向函数传递的是。A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值4、下面程序的输出是。voidmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3B)4C)1D)25、有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是。A)*p+9B)*(p+8)C)*P+=9D)P+86、有定义语句:intb;charc[10];则正确的输入语句是。A)scanf("%d%s",&b,c[0]);B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);7、设有以下定义:inta[3][3]={1,2,3,4,5,6,7,8,9};int(*ptr)[3]=a,*p=a[0];则下列能够正确表示数组元素a[1][2]的表达式:。A)*((*ptr+1)[2])B)*(*p+5))C)(*ptr+1)+2D)*(*(ptr+1)+2)专业年级学号姓名授课教师选课班上课时间周第节--------------------------------装装--------------------------------订订--------------------------------线线--------------------------------授课教师命题教师或命题负责人签字年月日院系负责人签字年月日共8页第2页8、某C程序由主函数main()和一个自定义函数max()组成,则该程序________。A)总是从max()函数开始执行B)写在前面的函数先开始执行C)写在后面的函数先开始执行D)总是从main()函数开始执行9、若有以下说明和语句:structteacher{intno;char*name;}xiang,*p=&xiang;则以下引用方式不正确的是。A)xiang.noB)(*p).noC)p->noD)xiang->no10、已有定义:chara[]="xyz",b[]={'x','y','z'};以下叙述中正确的是。A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对二、填空题(每空2分,共20分)1、设有定义int(*ptr)[4];其中的标识符ptr是:【1】。2、若定义a[][3]={0,1,2,3,4,5,6,7};则a数组中行的大小是【2】。3、执行以下下程序段后,b中的值是【3】。inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];4、若有定义inta[10],*p=a;,则p+6表示【4】。5、下面函数的功能是对两个字符串进行比较,返回两个串中第一个不相同字符的ASCII值之差。请将程序补充完整。intcmp(char*a,char*b){while(*a==*b&&*a!='\0'【5】){a++;b++;}return【6】;}6、find函数的功能是查找一维数组中的最大值并返回最大值的下标。请补充程序。【7】find(intb[],intn){inti,m=0;for(i=0;ib[m]){m=i;}return【8】;}中国海洋大学2010学年秋季学期期末考试试卷7、下面的程序输出3到100间的所有素数。voidmain(){inti,j;for(i=3;i<=100;i++){for(j=2;j<=i-1;j++)if(【9】)break;if(【10】)printf(“%4d”,i);}}三、读程序写结果(每题2分,共20分)1、以下程序的输出结果是。intf(intb[],intm,intn){inti,s=0;for(i=m;ivoidmain(){char*s="xcbc3abcd";inta,b,c,d;a=b=c=d=0;for(;*...