电大C语言程序设计形成性考核册问题详解_第1页
电大C语言程序设计形成性考核册问题详解_第2页
电大C语言程序设计形成性考核册问题详解_第3页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、选择题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。A. mainB . MAINC . nameD . funtion2. C语言原程序文件的缺省扩展名为(A)。A. cppB. exeC . objD . C3.由C语言目标文件连接而成的可执行的缺省扩展名为(B)A. cppB. exeC . objD . C4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用(D符号作为分隔符。A.空格或逗号B .逗号或回车C.回车或分号D .空格或回车5 .每个C语言程序的编译错误分为(B)类。A. 1B . 2C. 3D . 46.设x和y均为逻辑值,则x &a

2、mp;& y为真的条件是(A)A.它们均为真B .其中一个为真C.它们均为D.其中一个为假7.设有语句int a=12;a+=a*a;",则执行结束后,a的值为(C)。二、填空题1 . C语言中的每条简单语句以 _;作为结束符。2 . C语言中的每条复合语句以 _作为结束符。3. 在C语言程序的每个程序行后面或单独一行的开始使用注释的标记符为/ 。4. 单行或多行注释的结束标记符为_*/。5 .在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include标识符开始的预处理命令。6 .在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是

3、_用户定义的头文件。7. 一个函数定义由_函数头和函数体两部分组成。8. 用于输出表达式的标准输出函数是_printf( ) 。9. 当不需要函数返回任何值时,则应使用_void标识符定义函数类型。10 .执行“ printf(“%d-%d=%" ,43,18,43-18);"语句后得到的输出结果为_43-18=25。11 .每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为_warning。12 .每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为A.12B . 144C . 156D . 288x>0 && x<=10的相

4、反表达式为(A)。x<=0 | X>10B . x<=0 && x>10C . x<=0 |x<=10D . x>0 && x>109.字符串a+b=12n "的长度为(B)。10 .在下列符号常量定义中。错误的定义语句格式为( C。A . const M仁 10;B . const int M2=20;C . const M310 D . const char mark= ' 3'11 .带有随机函数的表达式randO%20的值在(C)区间内,A . 119B . 120C. 019D.

5、 02012 .当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。A . forB . whileC . do-whileD . switch13 .在switch语句的每个case块中,假定都是以break语句结束的,则此switch 语句容易被改写为(B)语句。A . forB . ifC . doD . while14 . for语句能够被改写为(D)语句。A.复合B . ifC . switchD . while15 .下面循环语句执行结束后输出的i值为(B)。for(int i=0;i<n;i+)if(i>n/2)cout«i«endl;br

6、eak;A . n/2B . n/2+1C . n/2-1D . n-116 .在下面循环w语句中内层循环体S语句的执行次数为(D)。for(int i=0;i<n;i+)for(int j=i;j<n;j+)S;A . n2B. (n+1)/2C . n(n-1)/2D . n(n+1)/217 .在下面的do循环语句中,其循环体被执行的次数为( A )。int i=0;do i+;while(i*i<10);_ error 。13 .十进制数25表示成符合C语言规则的十六进制数为 _0x19_。14 .在C语言中,转义字符序列 n_表示一个换行符。15 .执行“ prin

7、tf( “C , ' F' -2); ”语句后得到的输出结果为_D_。16 .已知A' ' Z'的 ASCII 码为 65-90,当执行 “int x= ' C +5;"语句所 x 的值为_72_.17 .假定一个枚举类型的定义为“enum RBab,ac=3,ad,aex=ad;",则x的值为_4_.18 . char类型的大小为_1_个字节。19 . int类型的大小为_4_个字节。20 . float类型的大小为_4_个字节。21 .十进制数28类型为_int_。22 .十进制数 3.26类型为_double_。23 .

8、若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字const。24 .使用const语句定义一个符号常量时,则必须对它同时进行_定义类型和赋初值_。25 .执行“int x=45,y=13;printf(“ d' ,x%y);"语句序列后得到的输出结果为_6_。26 .假定x=5,则表达式2+x+的值为_7_。27 .表达式(float)25/4 的值为 _6.25_。28 .表达式(int)14.6%5 的值为 _4_。29 .表达式x=x+1表示成增量表达式为_x+。30 .增量表达式+y表示成赋值表达式为 y+=1_。31 .关系表达式

9、(x!=0)的等价表达式为x 。32 .假定不允许使用逻辑非操作符,则关系表达式 x+y>5的相反表达式为x+y<=5_33.假定不允许使用逻辑非操作符,则逻辑表达式 a>b | b=5的相反表达式为_a<=b && (b>5 | b<5) 。34. 若 x=5,y=10,则 x>y 逻辑值为 false。35. 若 x=5,y=10,则 x<=y 逻辑值为 true。36. 假定x=5,则执行“ a=(x?10:20);”语句后a的值为_10_。37. 执行“ typedef int DataType;”语句后,在使用int定义

10、整型变量的地方都可以使用 DataType_来定义整型变量。38.在switch语句中,每个语句标号所含保留字case后面的表达式必须是 _整型39. 作为语句标号使用的C保留字case和default只能用于 _switch_ 语句的定 义体中。40. 在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)不停止_执行。41. 若do循环的“尾”为“ while(+i<10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行_10次后正常结束。42. 当在程序执行到 break语句时,将结束本层循

11、环语句或switch语句的执行。43. 在程序中执行到 _return_ 语句时,将结束所在函数的执行过程,返回到调用该函数的位置。44. 在程序执行完 _主(main)_函数调用后,将结束整个程序的执行过程,返回到 操作系统或C语句集成幵发环境界面窗口。三、写出下列每个程序运行后的输出结果1. #in clude<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("

12、%d ",3*x-1);break; default:pri ntf("%s ","defaultn");prin tf("%sn","switch en d.");输出结果为:11 14 switch en d.Press any key to con ti nue2. #in clude<stdio.h>void mai n()int i,s=0;for(i=1;i<=6;i+)s+=i*i;输出结果为:s=91.Press any key to con ti nue3. #in c

13、lude<stdio.h>void mai n()int 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.Press any key to con ti nue4. #in clude<stdio.h>void mai n()int n=10,y=1;while(n-)y+;y+;prin tf("y=%dn",y);输出结果为:y=21.Press any key to con ti nue5.

14、#in clude<stdio.h>void mai n()int f,f1,f2,i;f1=f2=1;prin tf("%d %d ",f1, f2);for(i=3;i<=10;i+)f=f1+f2;prin tf("%d ",f);if(i%5=0)pri ntf("n");f1=f2;f2=f;prin tf("n");输出结果为:prin tf("s=%dn",s);8 13 21 34 55a3=1,3,5,2;3 .假定一个二维数组的定义语句为“ a12的值为(C

15、。A. 2B . 4C . 64 .假定一个二维数组的定义语句为“a21的值为(A)。A. 0B . 4C . 8D . strcmp()Press any key to con ti nue6. #in cludevstdio.h>#in clude<math.h>void mai n()in t i, n;for(n=2;n v=20 ;n+)int temp=(int)sqrt(n);/sqrt(n)求出 n 的平方根并取整for(i=2;i<=temp;i+)if(n %i=0)break;if(i>temp)printf("%d ",

16、n);prin tf("n");输出结果为:2 3 5 7 11 13 17 19Press any key to con ti nue7. #in clude<stdio.h>#in clude<math.h>const 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

17、 key to con ti nue1. 在下面的一维数组定义中,(C)语句有语法错误。A . int a=1,2,3;B . int a10=0;C . inta;D . int a5;n2. 在下面的二维数组定义中,(C)语句是正确的。A . int a5;B . int a5;C . intD. int a(10)int a 34=3,4,2,8,6;”,则元素D . 8int a 34=3,4,2,8,6;”,则元素D . 65 .将两个字符串连接起来组成一个字符串时,选用( C函数int i,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i+)if(i%2=

18、0)c2+;if(i%3=0)c3+;if(i%5=0)c5+;prin tf("%d %d %dn",c2,c3,c5);输出结果为:10 6 4Press any key to con ti nue8. #in clude<stdio.h>#in clude<math.h>const int M=20;void mai n()填空题1 .假定一维数组的定义为“ char * a8;”,则该数组所含元素的个数为2.假定一维数组的定义为_32。3. 假定二维数组的定义为_60。4. 假定二维数组的定义为char * a8;",则该数组所占存

19、储空间的字节数为int a35",则该数组所占存储空间的字节数为char aMN;",则该数组所所含元素的个数为_M*N。5 .假定二维数组的定义为“double范围在 _0M-1_之间。6 .假定二维数组的定义为“double范围在_0N-1_之间。7. 使用“ typedef char BB1050;二维字符数组类型。8. 存储字符a'需要占用存储器的9. 空字符串的长度为 _0。aMN;",则每个数组元素的行下标取值aMN;",则每个数组元素的列下标取值语句定义_BB含有10行50列的1个字节空间A. strlen()B . strcap(

20、)C . strcat()10. 存储一个空字符串需要占用_1个字节。11. 字符串”数据”的长度为 11。12. 用于存储一个长度为 n的字符串的字符数组的长度至少为_n+1。13. strcmp函数用于进行两个字符串之间的 大小比较。14. Strcpy函数用于把一个字符串 制到 _另一个字符数组空间中。15. 个二维字符数组 a1020能够存储 _ 10_ 个字符串。16. 个二维字符数组 a1020能够存储的每个字符串的长度至多为19.三、写出下列每个程序运行后的输出结果1. #in cludevstdio.h>void mai n()int a10=12,39,26,41,55

21、,63,72,40,83,95;int i,i 1= 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. #in clude<stdio.h>#in cludevstri ng.h>void mai n()int i;char *a5="stude nt","worker","cadre","soldier"

22、;,"peasa nt"char *p1,*p2;p1=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,p2);输出结果为:worker cadrePress any key to con ti nue3. #in clude<stdio.h>int a10=4,5,6,15,20,13,12,7,8,9;void mai n()int i,s0,s1,s2;s0=s1=s2=0;for(i=

23、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 key to con ti nue4. #in clude<stdio.h>void mai n()char a="abcdbfbgacd"int i1=0,i2=0,i=0;while(ai)if(ai='a')i1+;if(ai='b'

24、;)i2+;i+;prin tf("%d %d %dn",i1,i2,i);输出结果为:2 3 11Press any key to con ti nue5. #in clude<stdio.h>void mai n()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;i<3;i+)for(j=0;j<4;j+)if(aij>m)m=aij;ii=i;jj=j;printf("%d %d %dn",ii,jj,aiijj);输出

25、结果为:2 1 12字符的ASCII码为48/'A' 字符的ASCII码”,分别求出由把统计结果保存Press any key to con ti nue6. #in cludevstdio.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;prin tf("n");输出结果为:1 2 3 5 8 13 21 34Press any key to con ti nue四、写出下列每个函数的功能1. #in clude<std

26、io.h>int SA(i nt a,i nt 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)retur n a;if(b>=a && b>=c)retur n b;return c;函数功能为:返回实参a、b、c中的最大数3. double SF(double x,in

27、t 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)if(x%i=0)break;i+;if(i<=0)return 0;else return 1;函数功能为:判断一个整数是否是素数5. #in clude<stdio.h>void tran s(i

28、 nt x)char a10;int i=0,rem;dorem=x%16;x=x/16;if(rem<10)ai=48+rem;'0'else ai=65+rem;为55i+;while(x!=0);while(i>0)pri ntf("%c",a-i);prin tf("n");函数功能为:将一个整数化成十六进制数五、根据下列每个题目要求编写程序1. 编写一个函数,函数头格式为“void fun4(char *a , int b)字符指针a所指向的字符串中包含的每种十进制数字出现的次数, 在数组b的相应元素。#includ

29、e<stdio.h>void fun4(char* a,int b)doif(*a>='0' && *a<='9')b*a-48+;while(*a+);2. 编写一个函数,函数头格式为 “double Mean(double aMN , intm , i nt n) ”,要求返回二维数组am n中所有元素的平均值,假定在计算过程是采用变量v存放平均值。#in cludevstdio.h>const int M=2,N=3;double Mean(double aMN, int m,int n )double v=0

30、;for(int i=0;ivm;i+)for(i nt j=O;j <n ;j+)v+=aij;return v/(m* n);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;5. 编写一个主函数,求满足不等式22+42+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定使

31、用do循环编程。#include<stdio.h>void 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的值:");sca nf("%d",&n);for(i nt i=1;i

32、<=n ;i+)s+=i*i;prin tf(" n=%d,s=%d", n,s);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+;printf("%d, %lfn",n,sum);C语言程序设计形成性考核册参考答案作业三、选择题1

33、.在下面的(C)函数声明语句存在语法错误。A .AA(i nta,i nt b);B . AA(int ,int)C. AA(inta;intb)D . AA(int a,int)2.在下面的(C不能作为函数的返回类型。A.voidB. intC. newD . llong3.下面正确的函数原型语句是(B)oA.int Fun cti on( void a);B . void Function(int);C.int Fun cti on( a);D. void int(double a);4. 函数调用 func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为( B)个

34、。A. 1B. 2C . 4D . 55. 下面的标识符中,(C)是文件级作用域。A.函数形参B .语句标号C .外部静态类标识符D .自动类标识符6.下面的标识符中,(B)具有全局级作用域。A.函数形参B .全局变量C .内部静态类标识符D .自动变量符7 .假定p是一个指向float型数据的指针,则 p+1所指数据的地址比p所指数据的地址大(C )字节。A. 1B . 2C. 4D . 88 .假定a为一个字符数组名,则a8的地址比该数组的首地址大( B )个字节。A. 4B . 8C. 16D .329 .假定a为一个数组名,则下面的( B )表示有错误。A. aiB . *a+C .

35、*aD . *(a+1)10 .用calloc函数创建具有10个整型元素的一维数组的正确语句是(C )0A . int *p=calloc(10,2);B . int *p=callo(10;C . i nt *p=calloc(10,4);D .int *p=malloc(10);11.假定变量 m定义为“ int m=7; ”,则定义p的正确语句为(B )。A . i nt p=&m;B .int *p=&m;C . i nt & p=*m;D .int*p=m;12 .假定k是一个double类型的变量,则定义指向k的变量p的正确语句为(B )5 .调用系统函数时

36、,要先使用#in clude命令包含该函数的原型语句所在文件。6 .函数形参的作用域是该函数的_内部_o7. 假定p所指对象的值为25 , p+1所指对象的值为46,则*p+的值为_25.8. 假定p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_46.9. 假定p所指对象的值为25,p+1所指对象的值为46,则执行“ *(p+); ”语句后, p所指对象的值为_46o10 .假定a是一个指针数组,则 a+1所指对象的地址比 a地址大_4_字节。11 .若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p o12 .假定一个数据对象为int*类型,则指向该

37、对象的指针类型为_int* o13 .假定p是一个指向整数对象的指针,则用_&p表示指针变量p的地址。14 .若p指向X,则*p与x的等价的。15 . NULL是一个符号常量,通常作为空指针值,它值为_ ' 0 ' (ASCII码0)_,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,则不正确的语句为(A . x=pa3;B . x=*(a+3);

38、C . a=a3;D . x=*pa+3;14 .假定有定义int b10;i nt *pb;”,则不正确的赋值语句为(C )oA . pb=b;B . pb=&b0;C. pb=b+2;D . pb=b5;15 .假定指针变量p 定义为 “ int *p=new int(100);”,要释放p所指向的动态内存,应使用语句(D )odeletep;delete *p;delete&p;D . delete p;16 .假定指针变量p定义为int *p=calloc(30,sizeof(i nt);”,要释放p所指向的动态内存,应使用语句(D )oA . deletep;deld

39、ete(p);C . freep;.free(p);三、写出下列每个程序运行后的输出结果1. #in clude<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:pr

40、i ntf("BB");break;void main()char a1='b',a2='C',a3='f;SB(a1);SB(a2);SB(a3);SB('A');prin tf("n");二、填空题1. 在C语言中,一个函数由函数头和 函数体组成。2. 在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初输出结果为:GGPPBBWWPress any key to con ti nue2. #in clude<stdio.h>#in clude<stdlib.h

41、>值为0double SD(int a,int b,char op)3.如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的 Cdouble x;保留字为为staticswitch(op)4.如果一个函数直接或间接地调用自身,这样的调用被称为_递归调用case '+':x=a+b;break;4. #in clude<stdio.h>#in clude<stri ng.h>void fun( char ss);void main()char s15="567891234"6. #in clude<stdio

42、.h>void main()int a8=3,5,7,9,11,13,15,17;int i,*p=a;fun (s);for(i=0;i<8;i+);case '-':x=a-b;break;case '*':x=a*b;break;case 7':if(b)x=(double)a/b;else exit(1);break;default:(" 运算符错! n");exit(1);return x;void main()int x=20,y=8;prin tf("%3.2lf ",SD(x,y,

43、9;-');prin tf("%3.2lf ",SD(x,y,'*');prin tf("%3.2lf ",SD(x,y,'/');输出结果为:12.00 160.00 2.50Press any key to con ti nue3. #in clude<stdio.h>void WF(i nt x,int y)x=x+y;y=x+y;prin tf("subs:x,y=%d,%dn",x,y);void main()int x=18,y=23;prin tf("mai

44、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,y=41,64ma in:x,y=36,23Press any key to con ti nueprin tf("%sn",s);void fun( char ss)int i,n=strle n( ss);for(i=0;i< n/2;i+)char c=ssi;ssi=ssn-1-i;ssn-1-i=c;输出结果为:432198765Press any

45、 key to con ti nue5. #in clude<stdio.h>void InsertSort(int a,int 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("%d ",ai);prin t

46、f("n");输出结果为:47 36 32 28 20 15Press any key to con ti nueprintf("%5d ",*p+);if( (i+1)%4=0 )pri ntf("n");输出结果为:357911131517Press any key to con ti nue7. #in cludevstdio.h>int LA(int *a,int n)int i,s=0;for(i=0;i<n;i+)s+=ai;return s;void main()int a=5,10,15,20,25,30;

47、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. #in clude<stdio.h>int LB(int *a,int n)int i,s=1;for(i=0;i< n; i+)s*二*a+;return s; void main()int a=1,2,3,4,2,4,5,2;int b=LB(a,4)+LB(&a3,4); prin tf("b=%dn",b);输出结果为:b=184Pres

48、s 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. #in clude<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;函数功能为:3. #in clu

49、de<stdio.h>#in clude<stdlib.h>#in clude<time.h>const int N=10;in t ff(i nt x,i nt y)int乙prin tf("%d + %d = ",x,y);sca nf("%d", &z);if(x+y=z)retur n 1;else retur n 0;void mai n()int i,a,b,c=0;srand(time(0);/初始化随机数系列for(i=0;i<N;i+)a=rand()%20+1;rand90函数产生 0

50、-32767之间的一个随机数b=rand()%20+1;c+=ff(a,b);printf(" 得分:%dn",c*10);函数功能为:函数ff让两个数相加,要求输入其和,判断结果是否正确。在主函数中用随机函数产生两个20以内的随机整数,通过10次调用这个函数,算对一次得10分,计算所得分返回数组中前n个其值大于等于k的元素之和4. int fun6(int m,int n,int b=2)if(m<b && n vb)return m*n;else if(m%b=O && n %b=0)return b*fun 6(m/b,n/b,b

51、);else return fun 6(m, n,+b);函数功能为:此函数带有一个默认参数,若使用默认值,则通过递归调用,返回前2参数的最小公倍数;不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积;否则,通过递归调用,返回前 2参数最小公倍数的n倍数。C语言程序设计形成性考核册参考答案作业四选择题1. 假定有“ struct BOOKchar title40;float price;structBOOK *book; ”,则不正确的语句为( A)。A. struct BOOK *x=malloc(book);B . struct BOOK x=“ C+Programmin

52、g ”,27.0;C . struct BOOK*x=malloc(sizeof(BOOK);D . struct BOOK *x=&book;2. 假定有“ struct BOOKchar title40;float price; book;则正确的语句为(B)o5. #in cludevstdio.h>#in clude<stdlib.h>void LI(int n)int * a=(i nt *)malloc( n*sizeof(i nt);int i;for(i=0;i< n; i+)sca nf("%d",a+i);for(i=n-

53、1;i>=0;i-)pri ntf("%d ",*(a+i);prin tf("n");free(a);函数功能为:将从键盘输入的n个整数逆序输出A.C.3.A.4.A.A.A.struct BOOK x二&book;struct BOOK x=calloc(BOOK);表示文件结束的符号常量为(C)eofB. EofC语言中系统函数fopen()是(D)读取B.写入B. struct BOOK *x=&book;D . struct BOOK *x=BOOK;C. EOFD. feof一个数据文件的函数。C.关闭D.打开从一个数据

54、文件中读入以换行符结束的一行字符串的函数为(gets()B . fgets()C . getc()向一个二进制文件写入信息的函数fWrite() 带有(D)参数B)。D. fgetc()D. 46. #in clude<stdio.h>int LK(double a,int n)double s=0;i nt i,m=0;for(i=0;i<n;i+)s+=ai;s/二n;for(i=0;i< n;i+)if(ai>=s)m+;return m;函数功能为:求不小于数组元素之平均值的各元素之和(前 n个)二、填空题1 .假定一个结构类型的定义为“struct Ai

55、nt a,b;A*c;”,则该类型的大小为12字节。2.假定一个结构类型的定义为“struct Bint a5,char *b;”,则该类型的大小为24字节。3.假定一个结构类型的定义为“struct Di nt a;unionintb;double c;structD* d2;",则该类型的大小为20字节。4.假定要动态分配一个类型为struct Worker 的具有n个元素的数组,并由r指向这个动态数组,则使用语句的表达式为struct Worker*r=_(Worker*)malloc(n*sizeof(Worker);。5 .假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为_x.(*a)_。6 .假定要访问一个结构指针p所指向对象中的b指针成员所指的对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论