《《C语言程序设计A》课程形成性考核作业》由会员分享,可在线阅读,更多相关《《C语言程序设计A》课程形成性考核作业(36页珍藏版)》请在人人文库网上搜索。
1、教育部人才培养模式改革和开放教育试点C语言程序设计A形成性考核册学校名称: 学生姓名: 学生学号: 班 级: 姓 名: 学 号: 得 分: 教师签名: C语言程序设计A形考作业1一、选择题:(第113小题每题2分,第1417小题每题3分,共3分) 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。Amain BMAIN Cname Dfuntion2C语言原程序文件的缺省扩展名为( )。Acpp Bexe Cobj DC3由C语言目标文件连接而成的可执行的缺省扩展名为( )。Acpp Bexe Cobj DC4程序运行中需要从键盘输入多于一个数据时,各数据之间应使用( )。
2、符号作为分隔符。A空格或逗号 B逗号或回车 C回车或分号 D空格或回车5每个C语言程序的编译错误分为( )类。A1 B2 C3 D46设x 和y 均为逻辑值,则x & y为真的条件是( )。A它们均为真 B其中一个为真 C它们均为假 D其中一个为假7设有语句“int a=12;a+=a*a;”,则执行结束后,a 的值为( )。A12 B144 C156 D2888x0 & x10 Bx10 Cx0 & x109字符串“a+b=12n”的长度为( )。A6 B7 C8 D910在下列符号常量定义中。错误的定义语句格式为( )。Aconst M1=10; Bconst int M2=20; Cco。
3、nst M3 10 Dconst char mark=3;11带有随机函数的表达式rand()%20的值在( )区间内,A119 B120 C019 D0当处理特定问题时的循环次数已知时,通常采用( )循环来解决。Afor Bwhile Cdo-while Dswitch13在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( )语句。Afor Bif Cdo Dwhile14for语句能够被改写为( )语句。A复合 Bif Cswitch Dwhile15下面循环语句执行结束后输出的i值为( )。for(int i=0;in/2)c。
4、out5的相反表达式为__________。33假定不允许使用逻辑非操作符,则逻辑表达式ab | b=5的相反表达式为_________________。34若x=5,y=10,则xy逻辑值为_________。35若x=5,y=10,则xvoid main()int x=5;switch(2*x-3)case 4:printf(%d ,x);case 7:printf(%d ,2*x+1);case 10:printf(%d ,3*x-1);break;default:printf(%s ,defaultn);printf(%sn,switch end.);输出结果为:2. #include。
5、void main()int i,s=0;for(i=1;ivoid main()int i,s1=0,s2=0;for(i=0;ivoid main()int n=10,y=1;while(n-)y+;y+;printf(y=%dn,y);输出结果为:5. #includevoid main()int f,f1,f2,i;f1=f2=1;printf(%d %d ,f1,f2);for(i=3;i#includevoid main()int i,n;for(n=2;ntemp)printf(%d ,n);printf(n);输出结果为:7. #include#includeconst int。
6、 M=20;void main()int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i#includeconst int M=20;void main()int i,s;for(i=1,s=0;ivoid main()int a10=12,39,26,41,55,63,72,40,83,95;int i,i1=0,i2=0;for(i=0;i#includevoid main()int i;char *a5=student,worker,cadre,soldier,peasant;char *p1,*p2;p1=p2=a0;for(i=0;i0)p1=ai;if(strcmp。
7、(ai,p2)int a10=4,5,6,15,20,13,12,7,8,9;void main()int i,s0,s1,s2;s0=s1=s2=0;for(i=0;ivoid main()char a=abcdbfbgacd;int i1=0,i2=0,i=0;while(ai)if(ai=a)i1+;if(ai=b)i2+;i+;printf(%d %d %dn,i1,i2,i);输出结果为:5. #includevoid main()int a34=1,2,7,8,5,6,10,6,9,12,3,4;int m=a00;int ii=0,jj=0;int i,j;for(i=0;im)。
8、m=aij;ii=i;jj=j;printf(%d %d %dn,ii,jj,aiijj);输出结果为:6. #includevoid main()int a,b;for(a=1,b=2;bint SA(int a,int b)if(ab)return 1;else if(a=b)return 0;else return -1;函数功能为:2. #includeint SC(int a,int b,int c)if(a=b & a=c)return a;if(b=a & b=c)return b;return c;函数功能为:3.double SF(double x,int n) /n为大于等。
9、于0的整数double p=1,s=1;for(i=1;iint SC(int x)int a=(int)sqrt(x);int i=2;while(ivoid trans(int x)char a10;int i=0,rem;dorem=x%16;x=x/16;if(rem0)printf(%c,a-i);printf(n);函数功能为:五、根据下列每个题目要求编写程序。(第15小题每题6分,第6小题5分,共35分)1.编写一个函数,函数头格式为“void fun4(char *a , int b)”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b。
10、的相应元素。2.编写一个函数,函数头格式为“double Mean(double aMN , int m , int n)”,要求返回二维数组amn中所有元素的平均值,假定在计算过程是采用变量v存放平均值。3.编写一个递归函数“int FF(int a , int n)”,求出数组a中所有元素n个元素之积并返回。4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+1/n5的最小n值。5.编写一个主函数,求满足不等式22+42+n2void SB(char ch)switch (ch)case A:case a:printf(WW);break;case B:case。
11、 b:printf(GG);break;case C:case c:printf(PP);break;default:printf(BB);break;void main()char a1=b,a2=C,a3=f;SB(a1);SB(a2); SB(a3);SB(A);printf(n);输出结果为:2. #include#includedouble SD(int a,int b,char op)double x;switch(op)case +:x=a+b;break;case -:x=a-b;break;case *:x=a*b;break;case /:if(b)x=(double)a/。
12、b;else exit(1);break;default:(运算符错!n);exit(1);return x;void main()int x=20,y=8;printf(%3.2lf ,SD(x,y,-);printf(%3.2lf ,SD(x,y,*);printf(%3.2lf ,SD(x,y,/);输出结果为:3. #includevoid WF(int x,int y)x=x+y;y=x+y;printf(subs:x,y=%d,%dn,x,y);void main()int x=18,y=23;printf(main:x,y=%d,%dn,x,y);WF(x,y);x=2*x;pr。
13、intf(main:x,y=%d,%dn,x,y);输出结果为:4. #include#includevoid fun(char ss);void main()char s15=567891234;fun(s);printf(%sn,s);void fun(char ss)int i,n=strlen(ss);for(i=0;ivoid InsertSort(int a,int n)int i,j,x;for(i=1;i=0;j-)/为x顺序向前寻找合适的插入位置if(xaj)aj+1=aj;else break;aj+1=x;void main()int i;int a6=20,15,32,。
14、47,36,28;InsertSort(a,6);for(i=0;ivoid main()int a8=3,5,7,9,11,13,15,17;int i,*p=a;for(i=0;iint LA(int *a,int n)int i,s=0;for(i=0;iint LB(int *a,int n)int i,s=1;for(i=0;iint WB(int a,int n,int x)for(int i=0;iint WC(int a,int n,int k)int c=0;for(int i=0;i=k)c+;return c;函数功能为:3. #include#include#inclu。
15、deconst int N=10;int ff(int x,int y)int z;printf(%d + %d = ,x,y);scanf(%d,&z);if(x+y=z)return 1;else return 0;void main()int i,a,b,c=0;srand(time(0); /初始化随机数系列for(i=0;i#includevoid LI(int n)int * a=malloc(n*sizeof(int);int i;for(i=0;i=0;i-)printf(%d ,*(a+i);printf(n);free(a);函数功能为:6. #includeint LK(。
16、double a,int n)double s=0;int i,m=0;for(i=0;i=s)m+;return m;函数功能为:姓 名: 学 号: 得 分: 教师签名: C语言程序设计A形考作业4一、选择题1.假定有“struct BOOKchar title40;float price;struct BOOK *book;”,则不正确的语句为( )。A struct BOOK *x=malloc(book); Bstruct BOOK x=“C+ Programming”,27.0; Cstruct BOOK *x=malloc(sizeof(BOOK);Dstruct BOOK *x=。
17、&book;2.假定有“struct BOOKchar title40;float price; book;”,则正确的语句为( )。Astruct BOOK x=&book; Bstruct BOOK *x=&book;Cstruct BOOK x=calloc(BOOK); Dstruct BOOK *x=BOOK;3表示文件结束的符号常量为( )。Aeof BEof CEOF Dfeof4C语言中系统函数fopen()是( )一个数据文件的函数。A读取 B写入 C关闭 D打开5从一个数据文件中读入以换行符结束的一行字符串的函数为( )。Agets() Bfgets() Cgetc() D。
18、fgetc()6向一个二进制文件写入信息的函数fwrite()带有( )参数。A1 B2 C3 D4二、填空题1假定一个结构类型的定义为“struct Aint a,b;A*c;”,则该类型的大小为__________字节。2假定一个结构类型的定义为“struct Bint a5,char *b;”,则该类型的大小为__________字节。3假定一个结构类型的定义为“struct Dint a;unionint b;double c;struct D* d2;”,则该类型的大小为__________字节。4假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由r指向这个。
19、动态数组,则使用语句的表达式为__________________________________________。5假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_____________。6假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为___________。7与结构成员访问表达式(*fp).score等价的表达式是_____________。三、写出下列每个程序运行后的输出结果1. #includestruct Workerchar name15; /姓名int age; /年龄float pay; /工资;void main()struct W。
20、orker x=wanghua,52,23.50;struct Worker y,*p;y=x;p=&x;printf(%s %d %6.2fn,y.name,y.age,y.pay);printf(%s %d %6.2fn,p-name,p-age,p-pay);输出结果为:2. #include#includestruct Workerchar name15; /姓名int age; /年龄float pay; /工资;void main()struct Worker x;char *t=louting;int d=38;float f=493;strcpy(x.name,t);x.age。
21、=d;x.pay=f;x.age+;x.pay*=2;printf(%s %d %6.2fn,x.name,x.age,x.pay);输出结果为:3. #include#includestruct Workerchar name15; /姓名int age; /年龄float pay; /工资;int Less(struct Worker r1,struct Worker r2)if(r1.ager2.age)return 1;else return 0;void main()struct Worker a4=abc,25,420,def,58,638,ghi,49,560,jkl,36,375;struct Worker x=a0;int i;for(i=1;i4;i。