版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计形成性考核册共26页-29 -C语言程序设计形成性考核作业1一、选择题1. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A )。A. main B . MAIN C . name D . funtion2. C语言原程序文件的缺省扩展名为( D )。A. cppB. exeC. objD. C3. 由C语言目标文件连接而成的可执行的缺省扩展名为( B )。A. cppB. exeC. objD. C4. 程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D )符号作为分隔符。A.空格或逗号 B .逗号或回车C .回车或分号D .空格或回车5. 每个C语言
2、程序的编译错误分为( B )类。A. 1 B . 2 C . 3 D . 46.设x和y均为逻辑值,则 x && y为真的条件是(A )。.其中一个为假A.它们均为真 B .其中一个为真 C .它们均为假 D 7.设有语句“ int a=12;a+=a*a;",则执行结束后,a的值为(C )。A. 12 B . 144 C . 156 D . 288& x>0 && x<=10的相反表达式为(A )。A. x<=0 | X>10 B . x<=0 && x>10 C . x<=0 | x
3、<=10 D . x>0 && x>109.字符串“ a+b=12n ”的长度为(B )。A. 6 B . 7 C . 8 D . 910 .在下列符号常量定义中。错误的定义语句格式为(C )。A. const M仁 10; B . con st int M2=20;C . con st M3 10 D . co nst charmark=' 3';11 .带有随机函数的表达式rand()%20的值在(C )区间内,A. 119 B . 120 C . 019 D . 02012 .当处理特定问题时的循环次数已知时,通常采用(A )循环来解决。
4、A . for B . while C . do-while D . switch13 .在switch语句的每个case块中,假定都是以break语句结束的,则此 switch语句容易被改写为(B )语句。A. for B . if C . do D . while14 . for语句能够被改写为( D )语句。A.复合 B . if C . switch D . while15 .下面循环语句执行结束后输出的i值为(B )。for(i nt i=0;i <n ;i+)if( i>n /2)cout<<i<<e ndl;break;A. n/2 B . n
5、/2+1C . n/2-1 D . n-116. 在下面循环 w语句中内层循环体 S语句的执行次数为( D )。for(i nt i=O;i <n ;i+)for(i nt j=i;j <n ;j+)S;2A. n B . (n+1)/2C . n(n-1)/2D . n(n +1)/217. 在下面的do循环语句中,其循环体被执行的次数为( A )。in t i=0;do i+;while(i*i<10);A. 4 B . 3 C . 5 D . 2二、填空题1 . C语言中的每条简单语句以 ;作为结束符。2 . C语言中的每条复合语句以 作为结束符。3. 在C语言程序的每
6、个程序行后面或单独一行的开始使用注释的标记符为/4. 单行或多行注释的结束标记符为_*/。5. 在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include 标识符开始的预处理命令。6. 在#“ clude命令中所包含的头文件,可以是系统定义的头文件,也可以是用户定 义的头文件。7. 一个函数定义由函数头和函数体两部分组成。&用于输出表达式的标准输出函数是_printf( ) 。9. 当不需要函数返回任何值时,则应使用_void标识符定义函数类型。10 .执行“printf(“d-%d=%” ,43,18,43 -18); ”语句后得到的输出结果为_43-18=2
7、5。11 .每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为_warning12 .每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为_error。13 .十进制数25表示成符合C语言规则的十六进制数为 0x19_。14 .在C语言中,转义字符序列 n表示一个换行符。15 .执行“printf(“%c , ' F' -2); ”语句后得到的输出结果为 _D_。16 .已知A ' Z'的ASCII码为65-90,当执行“int x=' C' +5; ”语句所x的值为_7217 .假定一个枚举类型的定义为“enum RBab,a
8、c=3,ad,aex=ad; ”,贝U x的值为4.18 .char类型的大小为_1个字节。19 .int类型的大小为_4_个字节。20 .float类型的大小为_.4个字节21 .十进制数28类型为int。22 .十进制数3.26类型为double23 .若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。24 .使用con st语句定义一个符号常量时,则必须对它同时进行定义类型和赋初值 _。25. 执行“ int x=45,y=13;printf(“%d ,x%y); ”语句序列后得到的输出结果为 6_。26. 假定x=5,则表达式2+x+的值为
9、_7_。27. 表达式(float)25/4的值为 _6.25_。28. 表达式(int)14.6%5的值为 _4_。29. 表达式x=x+1表示成增量表达式为 _x+。30. 增量表达式+y表示成赋值表达式为 y+=1_。31. 关系表达式(x!=0)的等价表达式为x (x>0|x<0)。32. 假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为_x+y<=5_。33. 假定不允许使用逻辑非操作符,则逻辑表达式a>b | b=5的相反表达式为 a<=b &&(b>5 | b<5) 。34. 若 x=5,y=10,贝
10、U x>y 逻辑值为 false_(0)_ 。35. 若 x=5,y=10,则 x<=y 逻辑值为true_(1)_ 。36. 假定x=5,则执行“ a=(x?10:20); ”语句后a的值为_10_。37. 执行“ typedef int DataType; ”语句后,在使用int定义整型变量的地方都可以使用DataType来定义整型变量。38. 在switch语句中,每个语句标号所含保留字case后面的表达式必须是 _整型_。39. 作为语句标号使用的C保留字case和default只能用于_switch_ 语句的定义体中。40. 在switch语句时,在进行作为条件的表达式求
11、值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)不停止执行。41. 若do循环的“尾”为“ while(+i<10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_10次后正常结束。42. 当在程序执行到 break语句时,将结束本层循环语句或switch语句的执行。43. 在程序中执行到_return_语句时,将结束所在函数的执行过程,返回到调用该函数的44. 在程序执行完 主(main)_函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。三、写出下列每个程序运行后的输出结果1. #i nclude&
12、lt;stdio.h>void mai n()int x=5;switch(2*x-3)case 4:pri ntf("%d ",x);case 7:pri ntf("%d ",2*x+1);case 10:pri ntf("%d ",3*x-1);break; default:pri ntf("%s ",”default'n");printf("%sn",”switch end.");输出结果为:11 14 switch endPress any key to
13、 con ti nue2. #i nclude<stdio.h> void mai n()int i,s=0;for(i=1;i<=6;i+) s+=i*i;prin tf("s=%dn",s);输出结果为:s=91Press any key to con ti nue3. #i nclude<stdio.h>void mai n()in t i,s1= 0,s2=0;for(i=0;i<10;i+) if(i%2)s1+=i;else s2+=i;prin tf("%d %dn",s1,s2);输出结果为:25 20
14、Press any key to con ti nue4. #i nclude<stdio.h>void mai n()int n=10,y=1;while( n_)y+;y+;prin tf("y=%dn",y);输出结果为:y=21Press any key to con ti nue5. #i nclude<stdio.h>void mai n()int f,f1,f2,i;f1=f2=1;printf("%d %d ”,f1,f2); for(i=3;i<=10;i+) f=f1+f2;prin tf("%d &qu
15、ot;,f);if(i%5=0)pri ntf("n");f1= f2;f2=f;prin tf("n");输出结果为:1 1 2 3 58 13 21 34 55Press any key to con ti nue6. #i nclude<stdio.h>#in clude<math.h>void mai n()int i,n;for(n=2; n<=20; n+)求出n的平方根并取整int temp=(i nt)sqrt (n );/sqrt (n) for(i=2;i<=temp;i+) if(n %i=0)b
16、reak; if(i>temp)printf("%d ”,n);prin tf("n");输出结果为:2 3 5 7 11 13 17 19Press any key to con ti nue7. #i nclude<stdio.h>#in clude<math.h>con st int M=20;void mai n()int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i+) if(i%2=0)c2+;if(i%3=0)c3+;if(i%5=0)c5+;prin tf("%d %d %d
17、n" ,c2,c3,c5);输出结果为:10 6 4Press any key to con ti nue8. #i nclude<stdio.h>#in clude<math.h>con st int M=20;void mai n()int i,s;for(i=1,s=0;i<15;i+)if(i%2=0 | i%3=0)continue; prin tf("%d ",i);s+=i;prin tf("%dn",s);输出结果为:1 5 7 11 13 37Press any key to con ti nue
18、C语言程序设计形成性考核作业2一、选择题D .int a5;n1. 在下面的一维数组定义中,(c)语句有语法错误。A . int a=1,2,3;B. int a10=0;C. int a;2. 在下面的二维数组定义中,(A .int a5; B. int a5;3. 假定一个二维数组的定义语句为A .2B.4C.64. 假定一个二维数组的定义语句为A .0B .4C .8C )语句是正确的。C. int a3=1,3,5,2;D .int a(10)“ int a34=3,4,2,8,6;D . 8“ int a34=3,4,2,8,6;D . 6”,则元素a12的值为(C)。”,则元素a2
19、1的值为(A)。5. 将两个字符串连接起来组成一个字符串时,选用(C )函数。A. strlen()B. strcap() C. strcat()D. strcmp()、填空题1.假定维数组的定义为“char * a8;,则该数组所含兀素的个数为8。2.假定维数组的定义为“char * a8; ”,则该数组所占存储空间的字节数为323.假定二二维数组的定义为“int a35 ”,则该数组所占存储空间的字节数为60。4.假定二二维数组的定义为“char aMN;,则该数组所所含兀素的个数为_M*N。5 .假定二维数组的定义为"double aMN; ”,则每个数组元素的行下标取值范围在
20、_0M-1_之间。6 .假定二维数组的定义为"double aMN; ”,则每个数组元素的列下标取值范围在_0N-1_之间。7.使用“typedef char BB1050; ”语句定义_BB为含有10行50列的二维字符数组类型。&存储字符需要占用存储器的_1个字节空间。9. 空字符串的长度为 _0。10. 存储一个空字符串需要占用_1个字节。11. 字符串” a:数据”的长度为 11。12. 用于存储一个长度为 n的字符串的字符数组的长度至少为_n+1。13. strcmp函数用于进行两个字符串之间的 大小比较。14. Strcpy函数用于把一个字符串 复制到另一个字符数组
21、空间中。15. 一个二维字符数组a1020能够存储_ 10_个字符串。16. 一个二维字符数组a1020能够存储的每个字符串的长度至多为_19.三、写出下列每个程序运行后的输出结果1. #i nclude<stdio.h>void mai n()int a10=12,39,26,41,55,63,72,40,83,95;int i,i 仁0,i2=0;for(i=0;i<10;i+)if(ai%2=1)i1+;else i2+;prin tf("%d %dn",i1,i2);输出结果为:6 4Press any key to con ti nue2. #i
22、n clude<stdio.h>#in clude<stri ng.h>void mai n()int i;char *a5="stude nt","worker","cadre","soldier","peasa nt"char *p1,*p2;p仁 p2=a0;for(i=0;i<5;i+)if(strcmp(ai,p1)>0)p1=ai;if(strcmp(ai,p2)<0)p2=ai;prin tf("%s %sn",p1,p
23、2);输出结果为:worker cadrePress any key to con ti nue3. #i nclude<stdio.h>int a10=4,5,6,15,20,13,12,7,8,9;void mai n()int i,s0,s1,s2;s0=s仁s2=0;for(i=0;i<10;i+)switch(ai%3)case O:sO+=ai;break;case 1:s1+=ai;break;case 2:s2+=ai;break;prin tf("%d %d %dn" ,s0,s1,s2);输出结果为:42 24 33Press any
24、key to con ti nue4. #i nclude<stdio.h>void mai n()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);输出结果为:2 3 11Press any key to con ti nue5. #i nclude<stdio.h>void mai n()int a34=1,2,7,8,5,6,10,6,9,12
25、,3,4;int m=a00;int ii=O,jj=O;int i,j;for(i=0;i<3;i+)for(j=0;j<4;j+) if(aij>m)m=aij;ii=i;jj=j;prin tf("%d %d %dn",ii,jj,aiijj);输出结果为:2 1 12Press any key to con ti nue6. #i nclude<stdio.h>void mai n()int a,b;for(a=1,b=2;b<50;) prin tf("%d %d ",a,b); a=a+b;b=a+b;pr
26、in tf("n");输出结果为:1 2 3 5 8 13 21 34Press any key to con ti nue四、写出下列每个函数的功能1. #in clude<stdio.h>int SA(int a,int b)if(a>b)return 1;else if(a=b)return 0;else return -1;函数功能为:根据实参a大于、等于或小于实参b,返回1,0或-12. #in clude<stdio.h>int SC(int a,int b,int c)if(a>=b && a>=c)r
27、etur n a;if(b>=a && b>=c)retur n b; return c;函数功能为:返回实参a、 b、c中的最大数3. double SF(double x,int n) n 为大于等于 0 的整数double p=1,s=1;for(i=1;i<=n; i+)p*=x; s+=p/(i+1); return s;函数功能为:计算 x+x2/2+x3/3+ +xn/(n+1)的值4. #in clude<math.h>int SC(i nt x)int a=(i nt)sqrt(x);int i=2;while(i<=a)i
28、f(x%i=0)break;i+;if(i<=0)return 0;else return 1;函数功能为:判断一个整数是否是素数5. #in clude<stdio.h>void tran s(i nt x)char a10;int i=O,rem;dorem=x%16;x=x/16;if(rem<1O)ai=48+rem;'O'字符的 ASCII 码为 48/'A'字符的ASCII码为55else ai=65+rem; i+;while(x!=O);while(i>O)pri ntf("%c",a-i); p
29、rin tf("n");函数功能为:将一个整数化成十六进制数五、根据下列每个题目要求编写程序1编写一个函数,函数头格式为"void fun4(char *a , int b)”,分别求出由字符指针 a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。#in clude<stdio.h>void fun4(char* a,int b)doif(*a>='0' && *a<='9')b*a-48+;while(*a+);/*void mai n()char * a=
30、"122333444499888"int b10=0;fun 4(a,b);for(i nt i=0;i<10;i+)prin tf("%d ”,bi);*/2.编写一个函数,函数头格式为"double Mean(double aMN , int m , int n) ”,要求返回二维数组amn中所有元素的平均值,假定在计算过程是采用变量v存放平均值。#in clude<stdio.h>const int M=2,N=3;double Mean(double aMN, int m,int n )double v=0;for(int i=
31、0;i<m;i+)for(i nt j=O;j< n;j+)v+=aij;return v/(m* n);/*void mai n()double a23=1,2,3,4,5,6;prin tf("%lfn ”,Mea n(a,2,3);*/3.编写一个递归函数“int FF(int a , int n) ”,求出数组a中所有元素n个元素之积并返回。#in clude<stdio.h>int FF(int a , int n)int mul=1;if(n=1)mul*=a0;else mul=a n-1*FF(a, n-1);return mul;/*void
32、 mai n()int a6=1,2,3,4,5,6;prin tf("%dn",FF(a,6);*/4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+1/n>5的最小n值。#in clude<stdio.h>void mai n()double sum=0;int n=1;while(true)if(sum + 1/(double )n > 5)break;elsesum += 1/(double )n;n+;prin tf("%d, %lfn",n, sum);5. 编写一个主函数,求满足不等式2
33、2+42+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使用do循环编程。#in clude<stdio.h>void mai n()int s=0,i=2;dos+=i*i;if(s+(i+2)*(i+2)>=1000)break;else i+=2;while(true);prin tf("i=%d,s=%d",i,s);6. 编写一个主函数,计算并输出n的值,其中n值由键盘输入。#in clude<stdio.h>void mai n()int s=0,n;printf("请输入n的值:”);s
34、can f("%d",&n);for(i nt i=1;i<=n ;i+)s+=i*i;prin tf(" n=%d,s=%d", n,s);C语言程序设计形成性考核作业3一、选择题D . AA(int a,int)(B )个。1.在下面的(c )函数声明语句存在语法错误。A . AA(int a,int b);B . AA(int ,int) C. AA(int a;int b)2在下面的(C )不能作为函数的返回类型。A . voidB .int C. newD .long3. 下面正确的函数原型语句是(B )。A . int Func
35、tion(void a);B. void Function(int);C. int Function(a);D. void int(double a);4. 函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为A. 1 B. 2 C. 4D. 55 下面的标识符中,(C )是文件级作用域。D.自动类标识符A 函数形参B 语句标号C.外部静态类标识符6. 下面的标识符中,(B )具有全局级作用域。A .函数形参 B 全局变量 C.内部静态类标识符 D .自动变量符7假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C )字节。
36、A. 1 B. 2 C. 4&假定a为一个字符数组名,则D . 8a8的地址比该数组的首地址大(B )个字节。A . 4 B. 8 C. 16D. 329 .假定a为一个数组名,则下面的( B )表示有错误。A . ai B . *a+ C . *aD . *(a+1)10 .用calloc函数创建具有10个整型元素的一维数组的正确语句是(C )。A . int *p=calloc(10,2);B . int *p=callo(10;C .int *p=calloc(10,4);D .int *p=malloc(10);11.假定变量 m定义为“ int m=7; ”,则定义p的正确语
37、句为(B )。A . int p=&m; B . int *p=&m; C . int &p=*m;D . int *p=m;12 .假定k是一个double类型的变量,则定义变量p的正确语句为(B )。A . double p=&k;B . double *p=&k;C . double &p=*k;D . char *p= ” Thank you! ”;13 .假定一条定义语句为"int a10,x,*pa=a; ”,若要把数组a中下标为3的元素赋值给x,则不正确的语句为(D )。A .x=pa3;B. x=*(a+3);C . x
38、=a3;D.x=*pa+3;14 .假定有定义“ int b10;i nt *pb;”,则不正确的赋值语句为(D )A .pb=b;B . pb=&b0;C. pb=b+2;D .pb=b 5;15 .假定指针变量p定义为“ int *p=new int(100); ”,要释放p所指向的动态内存,应使用语 句(A )。A . delete p; B . delete *p;C . delete &p;D . delete p;16 .假定指针变量 应使用语句(Dp定义为“ int *p=calloc(30,sizeof(int); ”,要释放p所指向的动态内存, )。A . d
39、eletep;B . delete(p); C . freep;D . free(p);二、填空题1 .在C语言中,一个函数由函数头和 函数体组成。2. 在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为_0。3如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的C保留字为为static。4 如果一个函数直接或间接地调用自身,这样的调用被称为递归调用。5 调用系统函数时,要先使用#inelude命令包含该函数的原型语句所在头文件。6函数形参的作用域是该函数的内部7 假定&假定9.假定对象的值为46p所指对象的值为25,p+1所指对象的值为46,则*
40、p+的值为_p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_p所指对象的值为25,p+1所指对象的值为46,则执行“ *(p+);O2546”语句后,p所指10 假定a是一个指针数组,则a+1所指对象的地址比a地址大 4字节。11. 若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为 (char*)p12假定一个数据对象为int*类型,则指向该对象的指针类型为 _int*。13. 假定p是一个指向整数对象的指针,则用_&p_表示指针变量p的地址。14. 若p指向x,则*p与x的等价的。15. NULL是一个符号常量,通常作为空指针值,它值为_ 0_。三、写出下
41、列每个程序运行后的输出结果1. #i nclude<stdio.h>void SB(char ch)switch (ch)case 'A':case 'a':prin tf("WW");break;case 'B':case 'b':prin tf("GG");break;case C:case 'c':prin tf("PP");break;default:pri ntf("BB");break;void mai n()c
42、har a仁'b',a2='C',a3='f;SB(a1);SB(a2);SB(a3);SB('A');prin tf("n");输出结果为:GGPPBBWWPress any key to con ti nue2. #i nclude<stdio.h>#in clude<stdlib.h>double SD(i nt a,i nt b,char op)double x;switch(op)case '+':x=a+b;break;case '-':x=a-b;b
43、reak;case '*':x=a*b;break;case 7':if(b)x=(double)a/b;else exit(1); break;default:("运算符错!n");exit(1);return x;void mai n()int x=20,y=8;prin tf("%3.2lf ”,SD(x,y,'-');prin tf("%3.2lf ",SD(x,y,'*');prin tf("%3.2lf ",SD(x,y,'/');输出结果为
44、:12.00 160.00 2.50Press any key to con ti nue3. #i nclude<stdio.h>void WF(i nt x,i nt y)x=x+y;y=x+y;prin tf("subs:x,y=%d,%dn",x,y);void mai n()int x=18,y=23;prin tf("mai n:x,y=%d,%dn",x,y); WF(x,y);x=2*x;prin tf("mai n:x,y=%d,%dn",x,y);输出结果为:main :x,y=18,23subs:x,
45、y=41,64main:x,y=36,23Press any key to con ti nue4. #i nclude<stdio.h>#in clude<stri ng.h>void fun( char ss);void mai n()char s15="567891234"fun( s);prin tf("%sn",s);void fun( char ss)int i,n=strle n( ss);for(i=0;i< n/2;i+)char c=ssi;ssi=ss n _1_i; ss n_1_i=c;输出结果为:
46、432198765Press any key to con ti nue5. #i nclude<stdio.h>void In sertSort(i nt a,i nt n)int i,j,x;for(i=1;i<n;i+) 进行 n 次循环x=ai;for(j=i-1;j>=0;j-)为x顺序向前寻找合适的插入位置 if(x>aj)aj+1=aj;else break;aj+1=x;void mai n()int i;int a6=20,15,32,47,36,28;In sertSort(a,6);for(i=0;i<6;i+)pri ntf(&quo
47、t;%d ",ai);prin tf("n");输出结果为:47 36 32 28 20 15Press any key to con ti nue6. #i nclude<stdio.h>void mai n()int a8=3,5,7,9,11,13,15,17;int i,*p=a;for(i=0;i<8;i+);prin tf("%5d ",*p+);if( (i+1)%4=0 )pri ntf("n");输出结果为:357911131517Press any key to con ti nue7.
48、 #i nclude<stdio.h>int LA(i nt *a,i nt n)int i,s=0;for(i=0;i< n;i+)s+=ai;return s;void mai n()int a=5,10,15,20,25,30;int b=LA(a,4);int c=LA(a+2,3);prin tf("%d %dn",b,c);输出结果为:50 60Press any key to con ti nue8. #i nclude<stdio.h>int LB(int *a,int n)int i,s=1;for(i=0;i< n;i
49、+)s*=*a+; return s;void mai n()int a=1,2,3,4,2,4,5,2;int b=LB(a,4)+LB(&a3,4);prin tf("b=%dn",b);输出结果为:b=184Press any key to con ti nue四、写出下列每个函数的功能1. #in clude<stdio.h>int WB(i nt a,i nt n,i nt x)for(i nt i=0;i <n ;i+)if(ai=x)return 1;return 0;函数功能为:根据整型数组元素中是否能找到整数x,返回1或02. #
50、i nclude<stdio.h>int WC(i nt a,i nt n,i nt k)int c=0;for(i nt i=0;i <n ;i+) if(ai>=k)c+;return c;函数功能为:返回数组中前n个其值大于等于k的元素个数。3. #in clude<stdio.h>#in clude<stdlib.h>#in clude<time.h>con st int N=10;in t ff(i nt x,i nt y)int乙prin tf("%d + %d = ",x,y);scan f(&quo
51、t;%d", &z);if(x+y=z)retur n 1;else retur n 0;void mai n()int i,a,b,c=0;sran d(time(0);初始化随机数系列for(i=0;i<N;i+)a=rand()%20+1;/rand90函数产生 0-32767之间的一个随机数 b=ra nd()%20+1; c+=ff(a,b);printf("得分:%dn",c*10);函数功能为:函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两 个20以内的随机整数,通过10次调用这个函数,算对一次得10分
52、,计算所得分4. int fun6(int m,int n,int b=2)if(m<b && n< b)return m*n;else if(m%b=0 && n %b=0)return b*fu n6(m/b, n/b,b);else retur n fun6(m,n,+b);函数功能为:此函数带有一个默认参数,若使用默认值,则通过递归调用,返回前2参数的最小公倍数;不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积;否则,通过递归调用,返回前2参数最小公倍数的n倍数。5. #i nclude<stdio.h>#in
53、 clude<stdlib.h>void LI(int n)int * a=(i nt *)malloc( n*sizeof( in t);int i;for(i=0;i< n;i+)sca nf("%d",a+i);for(i=n-1;i>=0;i-)pri ntf("%d ",*(a+i);prin tf("n");free(a);函数功能为:将从键盘输入的n个整数逆序输出6. #i nclude<stdio.h>int LK(double a,int n) double s=0;i nt i,
54、m=0; for(i=0;i< n;i+)s+=ai; s/=n;for(i=0;i< n;i+)if(ai>=s)m+; return m;函数功能为:求不小于数组元素之平均值的元素个数。C语言程序设计形成性考核作业4一、选择题1. 假定有"struct BOOKchar title40;float price;struct BOOK *book; ”,则不正确的语句为(A )。A . struct BOOK *x=malloc(book);B . struct BOOK x= “ C+Programming ”,27.0;C. struct BOOK *x=ma
55、lloc(sizeof(BOOK);D . struct BOOK *x=&book;2. 假定有"struct BOOKchar title40;float price; book; ”,则正确的语句为(B )。A . struct BOOK x=&book;B . struct BOOK *x=&book;C. struct BOOK x=calloc(BOOK);D . struct BOOK *x=BOOK;3. 表示文件结束的符号常量为(C )。A . eof B . EofC. EOFD . feof4 . C语言中系统函数fopen()是(D )
56、一个数据文件的函数。A.读取 B.写入C .关闭D.打开5. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B )。A . gets() B . fgets()C . getc()D . fgetc()6. 向一个二进制文件写入信息的函数fwrite()带有(D )参数。A . 1B . 2C . 3D . 4二、填空题1 .假定一个结构类型的定义为"struct Aint a,b;A*c; ”,则该类型的大小为 12字节。2. 假定一个结构类型的定义为“struct Bint a5,char *b;”,则该类型的大小为_24_字节。3. 假定一个结构类型的定义为"struct Dint a;unionint b;double c;struct D* d2;”,则该类型的大小为 20字节。4. 假定要动态分配一个类型为struct Worker的具有n个元素的数组,并由 r指向这个动态数组,则使用语句的表达
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年广东省汕头市高一英语下册4月阶段性考试试卷(含答案)
- 2025年酒泉市敦煌市教育系统招聘聘用制幼儿教师真题
- 河源市源城区高埔岗街道招聘考试真题2025
- 海口市龙华区遵谭镇(X158县道至那畔山矿坑)村道提升项目水土保持方案报告表
- 市场主体“双随机、一公开”监管细则
- 教师仪容仪表不当问题清单及整改措施
- 交通运输安全应知应会知识考试题库(含答案)
- 机关涉密载体管理制度
- 华润水泥(昌江)有限公司3号水泥熟料生产线节能环保技改项目公众参与情况说明
- 人教版七年级语文下册第二单元评价卷含答案
- T/YH 1037-2025商业小卫星产品保证要求
- 中小学正高职称评审答辩高频题及高分答案育人实践与反思
- 高标准农田建设验收项目技术方案(技术方案)
- 移动式压力容器充装质量保证体系手册
- 2023年襄阳老河口市教育系统招聘高中、中职教师考试真题及答案
- JB-T 14314-2022 活塞式调流阀
- JB T 6086-2013数控龙门镗铣床精度检验
- 分层过程审核(LPA)检查表
- 工地八大员岗位责任制度标牌
- 宗教场所财务报表
- 工程土石方作业安全教育培训课件
评论
0/150
提交评论