




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言程序设计形成性考核册参考答案作业选择题1、在每个C语言程序中都必须包含有这样一个函数,该函数得函数名为(A)。A.mainB.MAINC.nameD.funtion2 .C语言原程序文件得缺省扩展名为(A)。A.cppB.exeC.objD.C3. 由 C 语言目标文件连接而成得可执行得缺省扩展名为(B) 。A.cppB.exeC.objD.C4. 程序运行中需要从键盘输入多于一个数据时A. 空格或逗号B. 逗号或回车C. 回车或分号D. 空格或回车,各数据之间应使用(D)符号作为分隔符。5 .每个C语言程序得编译错误分为(B)类。A.1B.2C.3D.46 .设x与y均为逻辑值,则x&
2、amp;&y为真得条件就是(A)。A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假7. 设有语句“ int a=12;a+=a*a; ” , 则执行结束后,a 得值为 (C) 。A.12B.144C.156D.2888 .x>0&&x<=10得相反表达式为(A)。A.x<=0 | X>10B.x<=0 && x>10C.x<=0 | x<=10D.x>0 && x>109 .字符串"a+b=12n”得长度为(B)。A.6B.7C.8D.910. 在下
3、列符号常量定义中。错误得定义语句格式为(C) 。A.const M1=10;B.const int M2=20;C.const M3 10D.const char mark=3;11. 带有随机函数得表达式rand()%20得值在(C)区间内,A.119B.120C.019D.02012. 当处理特定问题时得循环次数已知时,通常采用(A)循环来解决。A.forB.whileC.do-whileD.switch13. 在switch语句得每个case块中,假定都就是以break语句结束得,则此switch语句容易被改写为(B)语句。A.forB.ifC.doD.while14. for语句能够被
4、改写为(D)语句。A.复合B.ifC.switchD.while15. 下面循环语句执行结束后输出得i值为(B)。for(inti=0;i<n;i+)if(i>n/2)cout<<i<<endl;break;A.n/2B.n/2+1C.n/2-1D.n-116. 在下面循环w语句中内层循环体S语句得执彳亍次数为(D)。for(inti=0;i<n;i+)for(intj=i;j<n;j+)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/217. 在下面得do循环语句中,其循环体被执行得次数为(A)。inti=0;doi+;wh
5、ile(i*i<10);A.4B.3C.5D.2二、填空题1. C语言中得每条简单语句以_;作为结束符。2. C语言中得每条复合语句以_作为结束符。3. 在C语言程序得每个程序行后面或单独一行得开始使用注释得标记符为_/_。4. 单行或多行注释得结束标记符为_*/。5. 在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include标识符开始得预处理命令。6. 在#include命令中所包含得头文件,可以就是系统定义得头文件,也可以就是_用户_定义得头文件。7. 一个函数定义由_函数头与函数体两部分组成。8. 用于输出表达式得标准输出函数就是_printf()。9.
6、当不需要函数返回任何值时,则应使用_void标识符定义函数类型。10. 执行“printf(“%d-%d=%”d,43,18,43-18);”语句后得到得输出结果为_43-18=25。11. 每个C程序文件在编译时可能出现有警告性错误,其对应得标识符为_warning。12. 每个C程序文件在编译时可能出现有致命性错误,其对应得标识符为_error。13. 十进制数25表示成符合C语言规则得十六进制数为0x19。14. 在C语言中,转义字符序列n一表示一个换行符。15. 执行“printf(“%c”,F-2);”语句后得到得输出结果为_D_。16. 已知AZ'彳导ASCII码为65-9
7、0,当执行"intx='C+5;”语句所x得值为72、17. 假定一个枚举类型得定义为“enumRBab,ac=3,ad,aex=ad;”,则x得值为_4_、18. char类型得大小为_1_个字节。19.int类型得大小为_4_个字节。20. float类型得大小为_4_个字节。21. 十进制数28类型为_int_。22. 十进制数3、26类型为_double_。23. 若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句得开始使用保留字const24. 使用const语句定义一个符号常量时,则必须对它同时进行_定义类型与赋初值_。25. 执行“intx=4
8、5,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. 关系表达式(x!=0)得等价表达式为x_。32. 假定不允许使用逻辑非操作符,则关系表达式x+y>5得相反表达式为_x+y<=5_。33. 假定不允许使用逻辑非操作符,则逻辑表达式a>b|b=5得相反表达式为_a<=b&a
9、mp;&(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. 执行“typedefintDataType;”语句后,在使用int定义整型变量得地方都可以使用_DataType_来定义整型变量。38. 在switch语句中,每个语句标号所含保留字case后面得表达式必须就是_整型_。39. 作为语句标号使用得C保留字case与default只能用于_switch_语句得定义体中。40.
10、在switch语句时,在进行作为条件得表达式求值后,将从某个匹配得标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)_不停止_执行。41. 若do循环得“尾”为“while(+i<10)”,并且i得初值为0,同时在循环体不会修改i得值,由循环体将被重复执行_10_次后正常结束。42. 当在程序执行到_break_语句时,将结束本层循环语句或switch语句得执行。43. 在程序中执行到_return_语句时,将结束所在函数得执行过程,返回到调用该函数得位置。44. 在程序执行完_主(main)_函数调用后,将结束整个程序得执行过程,返回到操作系统或C语句集成开发环境界面窗口。三、
11、写出下列每个程序运行后得输出结果I 、#include<stdio、h>voidmain()intx=5;switch(2*x-3)case4:printf("%d",x);case7:printf("%d",2*x+1);case10:printf("%d",3*x-1);break;default:printf("%s","defaultn");printf("%sn","switchend、");输出结果为:II 14switchend、
12、Pressanykeytocontinue2 、#include<stdio、h>inti,s=0;for(i=1;i<=6;i+)s+=i*i;printf("s=%dn",s);输出结果为:s=91、Pressanykeytocontinue3 、#include<stdio、h>voidmain()inti,s1=0,s2=0;for(i=0;i<10;i+)if(i%2)s1+=i;elses2+=i;printf("%d%dn",s1,s2);输出结果为:2520、Pressanykeytocontinue4
13、 、#include<stdio、h>voidmain()while(n-)y+;y+;printf("y=%dn",y);输出结果为:y=21、Pressanykeytocontinue5 、#include<stdio、h>voidmain()intf,f1,f2,i;f1=f2=1;printf("%d%d",f1,f2);for(i=3;i<=10;i+)f=f1+f2;printf("%d",f);if(i%5=0)printf("n");f1=f2;f2=f;printf(
14、"n");输出结果为:11235813213455Pressanykeytocontinue6 、#include<stdio、h>#include<math、h>voidmain()inti,n;for(n=2;n<=20;n+)inttemp=(int)sqrt(n);/sqrt(n)求出n得平方根并取整for(i=2;i<=temp;i+)if(n%i=0)break;if(i>temp)printf("%d",n);printf("n");输出结果为:235711131719Press
15、anykeytocontinue7 、#include<stdio、h>#include<math、h>constintM=20;voidmain()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+;)printf("%d%d%dn",c2,c3,c5);)输出结果为:1064Pressanykeytocontinue8、#include<stdio、h>#include<math、h>constintM=20
16、;voidmainO(inti,s;for(i=1,s=0;i<15;i+)if(i%2=0|i%3=0)continue;printf("%d",i);s+=i;printf("%dn",s);输出结果为:157111337Pressanykeytocontinue1、在下面得一维数组定义中,(C)语句有语法错误。D.int a5;nA.inta=1,2,3;B.inta10=0;C.inta;2.在下面得二维数组定义中,(C)语句就是正确得。D.int a(10)A.inta5;B.inta5;C.inta3=1,3,5,2;3. 假定一个二维
17、数组得定义语句为“int a34=3,4,2,8,6;A.2B.4C.6D.84. 假定一个二维数组得定义语句为“int a34=3,4,2,8,6;A.0B.4C.8D.65. 将两个字符串连接起来组成一个字符串时, 选用 (C) 函数。A.strlen()B.strcap()C.strcat(), 则元素a12 得值为 (C), 则元素a21 得值为 (A)D.strcmp()二、填空题1. 假定一维数组得定义为“char * a8;” , 则该数组所含元素得个数为2. 假定一维数组得定义为“char * a8;” , 则该数组所占存储空间得字节数为323. 假定二维数组得定义为“int
18、a35” , 则该数组所占存储空间得字节数为604. 假定二维数组得定义为“char aMN; ” , 则该数组所所含元素得个数为M*N。5. 假定二维数组得定义为“doubleaMN; ” , 则每个数组元素得行下标取值范围在0M-1之间。6. 假定二维数组得定义为“doubleaMN; ” , 则每个数组元素得列下标取值范围在0N-1之间。7. 使用“ typedef char BB1050;”语句定义 _BB为含有 10 行 50 列得二维字符数组类型。8. 存储字符'a'需要占用存储器得个字节空间。9. 空字符串得长度为_0个字节。10. 存储一个空字符串需要占用11.
19、 字符串” a:数据”得长度为_1112. 用于存储一个长度为n 得字符串得字符数组得长度至少为n+113.strcmp 函数用于进行两个字符串之间得大小比较 _ 。14.Strcpy 函数用于把一个字符串复制到_另一个字符数组空间中。15. 一个二维字符数组 a1020能够存储 _ 10_ 个字符串。16. 一个二维字符数组 a1020能够存储得每个字符串得长度至多为19三、写出下列每个程序运行后得输出结果1、#include<stdio、h>voidmain()inta10=12,39,26,41,55,63,72,40,83,95;inti,i1=0,i2=0;for(i=0
20、;i<10;i+)if(ai%2=1)i1+;elsei2+;printf("%d%dn",i1,i2);输出结果为:64Pressanykeytocontinue2 、#include<stdio、h>#include<string、h>voidmain()inti;char*a5="student","worker","cadre","soldier","peasant"char*p1,*p2;p1=p2=a0;for(i=0;i<5;
21、i+)if(strcmp(ai,p1)>0)p1=ai;if(strcmp(ai,p2)<0)p2=ai;printf("%s%sn",p1,p2);输出结果为:workercadrePressanykeytocontinue3 、#include<stdio、h>inta10=4,5,6,15,20,13,12,7,8,9;voidmain()inti,s0,s1,s2;s0=s1=s2=0;for(i=0;i<10;i+)switch(ai%3)case0:s0+=ai;break;case1:s1+=ai;break;case2:s2+=
22、ai;break;printf("%d%d%dn",s0,s1,s2);输出结果为:422433Pressanykeytocontinue4 、#include<stdio、h>voidmain()chara="abcdbfbgacd"inti1=0,i2=0,i=0;while(ai)if(ai='a')i1+;if(ai='b')i2+;i+;printf("%d%d%dn",i1,i2,i);输出结果为:2311Pressanykeytocontinue5、#include<st
23、dio、h>voidmain()inta34=1,2,7,8,5,6,10,6,9,12,3,4;intm=a00;intii=0,jj=0;inti,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);输出结果为:2112Pressanykeytocontinue6、#include<stdio、h>voidmain()inta,b;for(a=1,b=2;b<50;)printf("%d%d&quo
24、t;,a,b);a=a+b;b=a+b;printf("n");输出结果为:12358132134Pressanykeytocontinue四、写出下列每个函数得功能1 、#include<stdio、h>intSA(inta,intb)if(a>b)return1;elseif(a=b)return0;elsereturn-1;函数功能为根据实参a大于、等于或小于实参b,返回1,0或-12 、#include<stdio、h>intSC(inta,intb,intc)if(a>=b&&a>=c)returna;if
25、(b>=a&&b>=c)returnb;returnc;函数功能为:返回实参a、b、c中得最大数3 、doubleSF(doublex,intn)/n为大于等于0得整数doublep=1,s=1;for(i=1;i<=n;i+)p*=x;s+=p/(i+1);returns;函数功能为:计算x+x2/2+x3/3+xn/(n+1)得值4 、#include<math、h>intSC(intx)inta=(int)sqrt(x);inti=2;while(i<=a)if(x%i=0)break;i+;if(i<=0)return0;els
26、ereturn1;函数功能为:判断一个整数就是否就是素数5 、#include<stdio、h>voidtrans(intx)chara10;inti=0,rem;dorem=x%16;x=x/16;if(rem<10)ai=48+rem;/'0'字符得ASCII码为48elseai=65+rem;/'A'字符得ASCII码为55i+;while(x!=0);while(i>0)printf("%c",a-i);printf("n");函数功能为:将一个整数化成十六进制数五、根据下列每个题目要求编写
27、程序1、 、编写一个函数,函数头格式为“voidfun4(char*a,intb)”,分别求出由字符指针a所指向得字符串中包含得每种十进制数字出现得次数,把统计结果保存在数组得相应元素。#include<stdio、h>voidfun4(char*a,intb)doif(*a>='0'&&*a<='9')b*a-48+;while(*a+);2、 编写一个函数,函数头格式为“doubleMean(doubleaMN,intm,intn)”,要求返回二维数组amn中所有元素得平均值,假定在计算过程就是采用变量v存放平均值。#
28、include<stdio、h>constintM=2,N=3;doubleMean(doubleaMN,intm,intn)doublev=0;for(inti=0;i<m;i+)for(intj=0;j<n;j+)v+=aij;returnv/(m*n);3、 编写一个递归函数“intFF(inta,intn)”,求出数组a中所有元素n个元素之积并返回。#include<stdio、h>intFF(inta,intn)intmul=1;if(n=1)mul*=a0;elsemul=an-1*FF(a,n-1);returnmul;4、 编写一个主函数,利
29、用while循环,求出并显示满足不等式1+1/2+1/3+1/n>5得最小n值。#include<stdio、h>voidmain()doublesum=0;intn=1;while(true)if(sum+1/(double)n>5)break;elsesum += 1/(double)n;n+;printf("%d,%lfn",n,sum);5、 编写一个主函数,求满足不等式22+42+n2<1000得最大n值,假定分别用i与s为取偶数值与累加值得变量,并限定使用do循环编程。#include<stdio、h>voidmain(
30、)ints=0,i=2;dos+=i*i;if(s+(i+2)*(i+2)>=1000)break;elsei+=2;while(true);printf("i=%d,s=%d",i,s);6、 、编写一个主函数,计算并输出n得值,其中n值由键盘输入。#include<stdio、h>voidmain()ints=0,n;printf("请输入n得值:");scanf("%d",&n);for(inti=1;i<=n;i+)s+=i*i;printf("n=%d,s=%d",n,s)
31、;C语言程序设计形成性考核册参考答案作业三一、选择题1. 、在下面得(C)函数声明语句存在语法错误。A.AA(inta,intb);B.AA(int,int)C.AA(inta;intb)D.AA(inta,int)2. 在下面得(C)不能作为函数得返回类型。A.voidB.intC.newD.long3. 下面正确得函数原型语句就是(B)。A.intFunction(voida);B.voidFunction(int);C.intFunction(a);D.voidint(doublea);4. 函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参得个数为(B)个
32、。A.1B.2C.4D.55. 下面得标识符中,(C)就是文件级作用域。C. 外部静态类标识符D. 自动类标识符A.函数形参B.语句标号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.*aD.*(a+1)10. 用calloc函数创建具有10
33、个整型元素得一维数组得正确语句就是(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定义为"intm=7;",则定义p得正确语句为(B)。A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;12. 假定k就是一个double类型得变量,则定义指向k得变量p得正确语句为(B)。A.doublep=&k;B.double*p=&k;C.double&p=*k;D.cha
34、r*p=”Thankyou!”;13. 假定一条定义语句为“inta10,x,*pa=a;”,若要把数组a中下标为3得元素赋值给x,则不正确得语句为(DA.x=pa3;B.x=*(a+3);C.a=a3;D.x=*pa+3;14. 假定有定义“intb10;int*pb;则不正确得赋值语句为”,(C)。A.pb=b;B.pb=&b0;C.pb=b+2;D.pb=b5;15. 假定指针变量p定义为"int*p=newint(100);要释放,p所指向得动态内存,应使用语句(D)。A.deletep;B.delete*p;C.delete&p;D.deletep;16.
35、假定指针变量p定义为“int*p=calloc(30,sizeof(int);要释放p”,所指向得动态内存,应使用语句(D)。A.deletep;B.deldete(p);C.freep;D.free(p);二、填空题1 .在C语言中,一个函数由函数头与函数体组成。2 .在函数外定义得变量称为全局变量,若没有被初始化则系统隐含对它所赋得初值为_0。3 .如果一个函数只允许同一程序文件中得函数调用,则应在访函数定义前加上得C保留字为为_static4 .如果一个函数直接或间接地调用自身,这样得调用被称为_递归调用。5 .调用系统函数时,要先使用#include命令包含该函数得原型语句所在_头_文
36、件。6 .函数形参得作用域就是该函数得_内部_。7 .假定p所指对象得值为25,p+1所指对象得值为46,则*p+得值为_25。8 .假定p所指对象得值为25,p+1所指对象得值为46,则*+p得值为_46。9 .假定p所指对象得值为25,p+1所指对象得值为46,则执行“*(p+);语句后”,p所指对象得值为_46。10 .假定a就是一个指针数组,则a+1所指对象得地址比a地址大_4_字节。11 .若要把一个整型指针p转换为字符指针,则采用得强制转换表达式为_(char*)p。12 .假定一个数据对象为int*类型,则指向该对象得指针类型为_int*。13 .假定p就是一个指向整数对象得指针
37、,则用_&p_表示指针变量p得地址。14 .若p指向x,则*p与x得等价得。15 .NULL就是一个符号常量,通常作为空指针值,它值为_'0'(ASCII码0)。三、写出下列每个程序运行后得输出结果1、 、#include<stdio、h>voidSB(charch)switch(ch)case'A':case'a':printf("WW");break;case'B':case'b':printf("GG");break;case'C':
38、case'c':printf("PP");break;default:printf("BB");break;voidmain()chara1='b',a2='C',a3='f'SB(a1);SB(a2);SB(a3);SB('A');printf("n");输出结果为:GGPPBBWWPressanykeytocontinue2、 #include<stdio、h>#include<stdlib、h>doubleSD(inta,in
39、tb,charop)doublex;switch(op)case'+':x=a+b;break;case'-':x=a-b;break;case'*':x=a*b;break;case'/':if(b)x=(double)a/b;elseexit(1);break;default:("运算符错!n");exit(1);returnx;voidmain()intx=20,y=8;printf("%3、2lf",SD(x,y,'-');printf("%3、2lf&qu
40、ot;,SD(x,y,'*');printf("%3、2lf",SD(x,y,'/');输出结果为:12、 00160、002、503、 #include<stdio、h>voidWF(intx,inty)x=x+y;y=x+y;printf("subs:x,y=%d,%dn",x,y);voidmain()intx=18,y=23;printf("main:x,y=%d,%dn",x,y);WF(x,y);x=2*x;printf("main:x,y=%d,%dn",x
41、,y);输出结果为:main:x,y=18,23subs:x,y=41,64main:x,y=36,23Pressanykeytocontinue4、 #include<stdio、h>#include<string、h>voidfun(charss);voidmain()chars15="567891234"fun(s);printf("%sn",s);voidfun(charss)inti,n=strlen(ss);for(i=0;i<n/2;i+)charc=ssi;ssi=ssn-1-i;ssn-1-i=c;输出结果
42、为:432198765Pressanykeytocontinue5、 #include<stdio、h>voidInsertSort(inta,intn)inti,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;elsebreak;aj+1=x;voidmain()inti;inta6=20,15,32,47,36,28;InsertSort(a,6);for(i=0;i<6;i+)printf("%d",ai);printf
43、("n");输出结果为:473632282015Pressanykeytocontinue6、 #include<stdio、h>voidmain()inta8=3,5,7,9,11,13,15,17;inti,*p=a;for(i=0;i<8;i+);printf("%5d",*p+);if(i+1)%4=0)printf("n");输出结果为:357911131517Pressanykeytocontinue7、 #include<stdio、h>intLA(int*a,intn)inti,s=0;f
44、or(i=0;i<n;i+)s+=ai;returns;voidmain()inta=5,10,15,20,25,30;intb=LA(a,4);intc=LA(a+2,3);printf("%d%dn",b,c);输出结果为:50608、 #include<stdio、h>intLB(int*a,intn)inti,s=1;for(i=0;i<n;i+)s*=*a+;returns;voidmain()inta=1,2,3,4,2,4,5,2;intb=LB(a,4)+LB(&a3,4);printf("b=%dn",b
45、);输出结果为:b=184Pressanykeytocontinue四、写出下列每个函数得功能1、 、#include<stdio、h>intWB(inta,intn,intx)for(inti=0;i<n;i+)if(ai=x)return1;return0;函数功能为:根据整型数组元素中就是否能找到整数X,返回1或02、 #include<stdio、h>intWC(inta,intn,intk)intc=0;for(inti=0;i<n;i+)if(ai>=k)c+;returnc;函数功能为:返回数组中前n个其值大于等于k得元素之与3、 #in
46、clude<stdio、h>#include<stdlib、h>#include<time、h>constintN=10;intff(intX,inty)intz;printf("%d+%d=",X,y);scanf("%d",&z);if(X+y=z)return1;elsereturn0;voidmain()inti,a,b,c=0;srand(time(0);/初始化随机数系列for(i=0;i<N;i+)a=rand()%20+1;/rand90函数产生0-32767之间得一个随机数b=rand(
47、)%20+1;c+=ff(a,b);printf("得分:%dn",c*10);函数功能为:函数ff让两个数相加,要求输入其与,判断结果就是否正确。在主函数中用随机函数产生两个20以内得随机整数,通过10次调用这个函数,算对一次得10分,计算所得分4、 intfun6(intm,intn,intb=2)if(m<b&&n<b)returnm*n;elseif(m%b=0&&n%b=0)returnb*fun6(m/b,n/b,b);elsereturnfun6(m,n,+b);函数功能为:此函数带有一个默认参数,若使用默认值,则通
48、过递归调用,返回前2参数得最小公倍数;不使用默认值时,若最后一个参数不小于前2个参数,则返回前2参数之乘积;否则,通过递归调用,返回前2参数最小公倍数得n倍数。5、 #include<stdio、h>#include<stdlib、h>voidLI(intn)int*a=(int*)malloc(n*sizeof(int);inti;for(i=0;i<n;i+)scanf("%d",a+i);for(i=n-1;i>=0;i-)printf("%d",*(a+i);printf("n");free
49、(a);函数功能为:将从键盘输入得n个整数逆序输出6、 #include<stdio、h>intLK(doublea,intn)doubles=0;inti,m=0;for(i=0;i<n;i+)s+=ai;s/=n;for(i=0;i<n;i+)if(ai>=s)m+;returnm;函数功能为:求不小于数组元素之平均值得各元素之与(前n个)应加入此4字,否则D亦对必须强制类型转换!否则提示cannotconvertfrom'void*'to'int*'C语言程序设计形成性考核册参考答案作业四一、选择题1 、假定有“structB
50、OOKchartitle40;floatprice;structBOOK*book;",则不正确得语句为(A)。A.structBOOK*x=malloc(book);B.structBOOKx="C+Programming”,27、0;C.structBOOK*x=malloc(sizeof(BOOK);D.structBOOK*x=&book;2 、假定有“structBOOKchartitle40;floatprice;book;",则正确得语句为(B)。A.structBOOKx=&book;B.structBOOK*x=&book
51、;C.structBOOKx=calloc(BOOK);D.structBOOK*x=BOOK;3 .表示文件结束得符号常量为(C)oA.eofB.EofC.EOFD.feof4 .C语言中系统函数fopen()就是(D)一个数据文件得函数。A.读取B.写入C.关闭D.打开5 .从一个数据文件中读入以换行符结束得一行字符串得函数为(B)oA.getsOB.fgets。C.getc()D.fgetc()6 .向一个二进制文件写入信息得函数fwrite()带有(D)参数。A.1B.2C.3D.4二、填空题1.假定一个结构类型得定义为“structAinta,b;A*c;”,则该类型得大小为_12字
52、节。2. 假定一个结构类型得定义为“ struct Bint a5,char *b;, 则该类型得大小为24字节。3 、 #include<stdio 、 h>3. 假定一个结构类型得定义为“structDinta;unionintb;doublec;structD*d2;”,则该类型得大小为_20字节。4. 假定要动态分配一个类型为structWorker得具有n个元素得数组,并由r指向这个动态数组,则使用语句得表达式为structWorker*r=_(Worker*)malloc(n*sizeof(Worker);。5. 假定要访问一个结构x中得由a指针成员所指向得对象,则表示
53、方法为_x、(*a)6. 假定要访问一个结构指针p所指向对象中得b指针成员所指得对象,则表示方法为*(p->b)7. 与结构成员访问表达式(*fp)、score等价得表达式就是_fp->score。三、写出下列每个程序运行后得输出结果1 、#include<stdio、h>structWorkercharname15;/姓名intage;/年龄floatpay;/工资;voidmain()structWorkerx="wanghua",52,23、50;structWorkery,*p;y=x;p=&x;printf("%s%d%6
54、、2fn",y、name,y、age,y、pay);printf("%s%d%6、2fn",p->name,p->age,p->pay);输出结果为wanghua5223、50wanghua5223、50Pressanykeytocontinue2 、#include<stdio、h>#include<string、h>structWorkercharname15;/姓名intage;/年龄floatpay;/工资;voidmain()structWorkerx;char*t="louting"intd
55、=38;floatf=493;strcpy(x、name,t);x、age=d;x、pay=f;x、age+;x、pay*=2;printf("%s%d%6、2fn",x、name,x、age,x、pay);输出结果为:louting39986、00Pressanykeytocontinue#include<string、h>structWorkercharname15;/姓名intage;/年龄floatpay;/工资;intLess(structWorkerr1,structWorkerr2)if(r1、age<r2、age)return1;elser
56、eturn0;voidmain()structWorkera4="abc",25,420,"def",58,638,"ghi",49,560,"jkl",36,375;structWorkerx=a0;inti;for(i=1;i<4;i+)if(Less(x,ai)x=ai;printf("%s%d%6、2fn",x、name,x、age,x、pay);输出结果为def58638、00Pressanykeytocontinue四、写出下列每个函数得功能1、voidQA(structWorkera,intn)inti;for(i=0;i&
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源资源行业油气勘探开发新技术应用报告
- 在线职业培训项目的融资模式创新研究
- 现代汉语概念与方法试题及答案
- WPS文档的跨平台适应性分析试题及答案
- 2025年工业互联网平台微服务架构性能评估与改进策略分析报告
- 医疗健康行业的数字化转型与领导力培养
- 投资回报视角下的企业数字化改造
- 多端协同办公平台的安全整合管理
- 2025关于技术研发及商业合作的保密合同协议范本
- 医疗设施数字化模拟与城市规划协同发展
- 水库防汛知识培训
- 2025年贵州省遵义市中考一模英语试题(含笔试答案无听力原文及音频)
- 安徽省C20教育联盟2025年九年级中考“功夫”卷(二)数学
- 《影视广告创意与制作》课件 教学项目6 蒙太奇剪辑
- 2025年徐州市专业技术人员公需课程 - 心理调适
- 《中国餐桌礼仪》课件
- 自愿援疆申请书
- 智慧照明系统施工方案
- DB37-T 5061-2024 住宅小区供配电设施建设标准
- 高致病性美人鱼发光杆菌美人鱼亚种PCR检测方法
- 2024年县乡教师选调进城考试《教育心理学》题库附解析答案
评论
0/150
提交评论