您好,欢迎访问三七文档
第1页共10页系别___________________专业_____________________年级_____________________姓名_________________学号┈┈┈┈┈┈┈┈┈┈┈┈┈┈密┈┈┈┈┈┈┈┈┈┈┈┈┈┈封┈┈┈┈┈┈┈┈┈┈┈┈┈线┈┈┈┈┈┈┈┈┈┈┈┈┈┈安阳师范学院人文管理学院08信息管理、08计科专业c语言程序设计课2008——2009学年度第二学期期末考试B卷题号一二三四五总分总分人复核人分数123456789101.以下不能对二维数组a进行正确初始化的语句是。A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};2.有以下程序片断floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;printf(%3.0f\n,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是。A)编译出错B)9C)21D)9.03.若有以下调用语句,则不正确的fun函数的函数原型是。main(){inta[50],n;……fun(n,&a[9]);……}A)voidfun(intm,intx[]);B)voidfun(ints,inth[41]);C)voidfun(intp,int*s);D)voidfun(intn,inta);4.#defineMAX10inta[MAX];voidsub2(){inta[MAX],i,max=5;一、分数评卷人单项选择题(每题1分,共10分)第2页共10页for(i=0;imax;i++){a[i]=i;}}voidsub1(){inti;for(i=0;iMAX;i++){a[i]=i+i;}}voidsub3(inta[]){inti;for(i=0;iMAX;i++){printf(%d,a[i]);}printf(\n);}main(){sub1();sub3(a);sub2();sub3(a);}上面程序片段的执行结果是。A)024681012141618012341012141618B)01234024681012141618C)012345678901234D)0246810121416180246810121416185.下列程序执行后的输出结果是。#includestdio.hmain(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i9;i++){p[i]=i+1;}printf(%d\n,a[1][2]);}A)3B)6C)9D)随机数6.若有定义int(*p)[4],则标识符p是一个。A)指向整型变量的指针变量B)指向函数的指针变量C)指向有四个整型元素的一维数组的指针变量第3页共10页D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针7.下列对字符串的定义中,错误的是:。A)charstr[7]=FORTRAN;B)charstr[]=FORTRAN;C)char*str=FORTRAN;D)charstr[]={'F','O','R','T','R','A','N',0};8.针对下面程序段,下面哪些说法是正确的?#includestdio.hvoidSwap(int*x,int*y);main(){inta,b;a=5;b=9;Swap(&a,&b);printf(a=%d,b=%d,a,b);}voidSwap(int*x,int*y){int*pTemp;*pTemp=*x;*x=*y;*y=*pTemp;}A)程序运行结果为乱码;B)程序运行后将导致程序崩溃;C)程序编译时出错导致程序无法运行;D)程序执行了危险的操作;9.已知学生记录描述为:structstudent{intno;charname[20];charsex;struct{intyear;charmonth[15];intday;}birth;};structstudents;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A)s.birth.year=1984;s.birth.month=11;s.birth.day=11;B)s.birth.year=1984;s.birth.month=11;s.birth.day=11;C)s.birth.year=1984;strcpy(s.birth.month,11);s.birth.day=11;D)s.birth.year=1984;strcpy(s.birth.month,11);s.birth.day=11;第4页共10页10.要使下面程序输出1,2,34,则从键盘输入的数据格式应为。#includestdio.hmain(){chara,b;intc;scanf(%c%c%d,&a,&b,&c);printf(%c,%c,%d\n,a,b,c);}A)1234B)1,2,34C)’1’,’2’,34D)12341.函数的定义可以嵌套,但函数的调用不可以嵌套。()2.C语言程序总是从main函数第一条可执行语句开始执行,在main函数结束。()3.若用数组名作为函数的实参,传递给形参的是数组第一个元素的值。()4.C语言中,函数调用时,只有当实参与其对应的形参同名时,才共占同一个存储单元。()5.凡是函数中未指定存储类别的局部变量其隐含的存储类别是自动(auto)变量。()6.结构体类型所占用的内存字节数是所有成员变量占用的内存字节数的总和。()1.main(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);}程序运行结果是:2.#includestdio.hstructdate{intyear;intmonth;intday;};structdatefunc(structdatep){p.year=2000;p.month=5;p.day=22;二、分数评卷人判断题(正确打√,错误打×每题1分,共6分)三、分数评卷人写出下面程序运行结果(每题4分,共20分)第5页共10页returnp;}main(){structdated;d.year=1999;d.month=4;d.day=23;printf(%d/%d/%d\n,d.year,d.month,d.day);d=func(d);printf(%d/%d/%d\n,d.year,d.month,d.day);}程序的运行结果是:3.#includestdio.hmain(){chara[]=Hello;char*p=NULL;for(p=a;pa+5;p++){printf(%s\n,p);}}程序运行结果是:4.#includestdio.hintfun(intx,inty){returnxy?x:y;}main(){inta=2,b=5,c=8;printf(%d\n,fun(fun(a+c,b),a-c));}程序运行结果是:5.#includestdio.hvoidFunc(void);main(){inti;for(i=0;i5;i++){Func();}}voidFunc(void)第6页共10页{staticinta=1;intb=2,c;c=a+b;a++;b++;printf(%d\n,c);}程序运行结果是:1.输入一个字符数小于100的字符串string,然后将string所保存字符串中的每个字符之间加一个空格。#includestdio.h#defineMAX100voidInsert(chars[]);main(){charstring[MAX];scanf(%s,string);Insert(string);printf(%s,string);}voidCopyString(charc[],chars[]){inti;for(i=0;s[i]!='\0';i++){c[i]=s[i];};}voidInsert(charsrcStr[]){charstrTemp[MAX];inti=0,j=0;CopyString(strTemp,srcStr);while(){srcStr[i]=strTemp[j];i++;;srcStr[i]='';i++;};}2.由键盘输入一个班的某课程的学生成绩,计算其平均分然后输出。(注:使用动态数组实现)#includestdio.h四、分数评卷人四、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。(每空3分,共27分)第7页共10页#includestdlib.hmain(){int*p=NULL,n,i,sum;printf(pleaseenterarraysize:);scanf(%d,);p=(int*)malloc(n*sizeof(int));if(p==NULL){printf(noenoughmemory!\n);;}printf(pleaseenterthescore:);for(i=0;in;i++){scanf(%d,p+i);};for(i=0;in;i++){;}printf(aver=%d\n,sum/n);free(p);}1.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间。2.输入20个学生的成绩,求出其中大于平均成绩学生的人数,并对20名学生成绩按从高到低进行排序。五、分数评卷人编程(10+15+12=37分)第8页共10页3.利用公式2=...7656543432122×…前100项之积计算并打印值。安阳师范学院计算机学院08计科、信息管理专业2008—2009学年第二学期期末考试B卷《C语言程序设计》评分标准12345678910CBDDBCADCD1、×2、√3、×4、×5、√6、×1.x=82.1999/4/232000/5/223.Helloello一、分数评卷人单项选择题(每题1分,共10分)二、分数评卷人判断题(每题1分,共6分)三、分数评卷人写出下面程序运行结果(每题4分,共20分)第9页共10页lloloo4.105.345671.voidCopyString(charc[],chars[]);c[i]='\0';while(strTemp[j]!='\0'){srcStr[i]=strTemp[j];i++;j++;srcStr[i]='';i++;}srcStr[i]='\0';2.scanf(%d,&n);exit(0);//或者return;sum=0;sum=sum+*(p+i);1.规定一个工人工作时间每个月160小时,每小时工资为5元,如果加班的话,每小时增加4元,请编程计算并打印此工人一个月的工资,要求由键盘输入工作时间。参考答案://2分包括标识符命名、缩进等代码风格#includestdio.hmain(){intt,salary;//2分printf(Pleaseinputthetime:\n);scanf(%d,&t);//1分if((t0)||(t744))//1分一个月超过31天每天24小时,考虑到最大最小范围判断,而且合理即可{printf(Error,Thetimeyouenteredisbeyondscope!\n);return;}if(t=160)//2分ifelse结构正确salary=t*5;//2分elsesalary=160*5+(t-160)*9;//2分printf(Thesalaryis:%d”,salary);四、分数评卷人四
本文标题:C语言程序设计1
链接地址:https://www.777doc.com/doc-4948727 .html