
中央广播电视大学200g秋季 C语言程序设计A课程试卷(2) 圈 四 五 总 分 得 分 2010年1月考 一、单进题(每小愿2分,共20分) 1,C语言藤程序文件的缺省扩展名为0。 A.cppB.exeC.ob jD.C 2.设x和y均为逐辑值,则y为真的条件是(0. 点它们均为真长其中一个为真 C,它们均为假D.其中一个为假 3.在下列的符号常量定义中,正确的定义格式为(), A.#defineM1B.constint220 C.defineM310D.constcharnark 4.for得环语句能够被改写为〔)语句。 A.复合且.i记switchD..while 5,在下面的推数组定义中,世误的定义格式为()。 A.inla[0={1,2,3}B.inla[1D=0] C.inta[]D.inta[5] 6。下面的丙数罩型声明中存在厨法#误的是()。 A.AA(inta,intb)R AA(int,int) C.AA(inta:intb:)D.AA(inta.int) 7.假定a为一个组名,则下面存在带误的表达式为的(). A.a[i]B+C.aln◆《a+1) 8.假定有定义为“inta[10],,pa-a:“,,若买把数组a中下标为3的元素值赋给x
中央广播电视大学 2008 秋季 C 语言程序设计 A 课程试卷(2) 题 号 一 二 三 四 五 总 分 得 分 2010 年 1 月考 一、单选题(每小题 2 分,共 20 分) 1.C 语言源程序文件的缺省扩展名为()。 A.cppB.exeC.objD.C 2.设 x 和 y 均为逻辑值,则 x&&y 为真的条件是()。 A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假 3.在下列的符号常量定义中,正确的定义格式为()。 A.#defineM1B.constintM220 C.#defineM310D.constcharmark 4.for 循环语句能够被改写为()语句。 A.复合 B.ifC.switchD.while 5.在下面的一维数组定义中,错误的定义格式为()。 A.inta[]={1,2,3}B.inta[10]={0} C.inta[]D.inta[5] 6.下面的函数原型声明中存在语法错误的是()。 A.AA(inta,intb)B.AA(int,int) C.AA(inta;intb;)D.AA(inta,int) 7.假定 a 为一个数组名,则下面存在错误的表达式为的()。 A.a[i]B.*a++C.*aD.*(a+1) 8.假定有定义为“inta[10],x,*pa=a;”,若要把数组 a 中下标为 3 的元素值赋给 x

则不正确的赋值为〔》。 A.x-pa[3]B.x-*(a+3)C.x-a[3]D.x-*a-3 9,char类型的长度为个字节。 A.1B2C3D,4 10.问·个二进制文件中写入信息的函数为()。 A.Igets ()B.fputs ()C.fread ()D.fvrite() 二、填空题(年小题2分,共26分) 1.C语言中的每条复合语句以 作为结束符。 2.在年incIude命令中所包含的文件,可以是头文件,也可以是 文件 3.十选利数35对应的八进制数为 4.假定x-5,则妆达式2+x+的值为 5,增量覆达式+y表示成赋植表达式为 6.若x=5,y=10,则x>y的值为 了,假定二维数组的定文为“inta[3][5】:”,则该数组所含元素的个数为 8.执行“1 ypederintABC[10]:"肝句把ABC定义为具有10个整型元素的 类平。 g.trat0函数用于两个字符中, 1D.假定p所指对象的值为25,p+1所指对豫的值为46,则*n+的值为 1山.若要把一个整型指计p转换为字符指针,测采用的猫制转换表达式为 12.L是一个符号常量,.通常作为空指针值,它对应的值为 13.假定耍动态分配一个类型为structVorker的对象,并由r指针指向这个对象,则使 用的表达式为 =mlloc(sixeof(structWorker)). 三、写出下列年个程序运行后的输出始果(年每小题6分,共0分) 1.#include voidnain()[ inti,s=0: fr(i=l:i6:it+》st=i◆i: printf("s=d八n”,s): 2.¥include(stdio,h> tdefineN
则不正确的赋值为()。 A.x=pa[3]B.x=*(a+3)C.x=a[3]D.x=*pa+3 9.char 类型的长度为________个字节。 A.1B.2C.3D.4 10.向一个二进制文件中写入信息的函数为()。 A.fgets()B.fputs()C.fread()D.fwrite() 二、填空题(每小题 2 分,共 26 分) 1.C 语言中的每条复合语句以________作为结束符。 2.在#include 命令中所包含的文件,可以是头文件,也可以是________文件。 3.十进制数 35 对应的八进制数为________。 4.假定 x=5,则表达式 2+x++的值为________。 5.增量表达式++y 表示成赋值表达式为__________。 6.若 x=5,y=10,则 x>y 的值为________。 7.假定二维数组的定义为“inta[3][5];”,则该数组所含元素的个数为________。 8.执行“typedefintABC[10];”语句把 ABC 定义为具有 10 个整型元素的________类型。 9.strcat()函数用于________两个字符串。 10.假定 p 所指对象的值为 25,p+1 所指对象的值为 46,则*p++的值为________。 11.若要把一个整型指针 p 转换为字符指针,则采用的强制转换表达式为________。 12.NULL 是一个符号常量,通常作为空指针值,它对应的值为________。 13.假定要动态分配一个类型为 structWorker 的对象,并由 r 指针指向这个对象,则使 用的表达式为________________=malloc(sizeof(structWorker))。 三、写出下列每个程序运行后的输出结果(每小题 6 分,共 30 分) 1.#include voidmain(){ inti,s=0; for(i=1;i #defineN6

voidmain( fmt1,a0N=2,5,8,10.15.21】: far(i=0:iw:i+) if(a[i]s5)printf('sd",a[i]): printf("n"): 1 3.include(stdio.h> #include(string.h> voidmain(( inti; unsignedintlen: char*a[5]=(student”,"aorker”,"cadre”,"soldier”,"zzeasanl23门: len-strlen(a[o]》: for(i=l:i5:i) if(strlen(a[i])>len)len=strlen(a[i]) printf("sd\n°,lon): 1 4.=include voidmain( { inta.b: for(a=2,b=3:b20:) printf("sd",a,b): a=atb: bmath; printf("sdd\n".a.b) 1 5 =include
voidmain() { inti,a[N]={2,5,8,10,15,21}; for(i=0;i #include voidmain(){ inti; unsignedintlen; char*a[5]={"student","worker","cadre","soldier","zzeasan123"}; len=strlen(a[0]); for(i=1;ilen)len=strlen(a[i]); printf("%d\n",len); } 4.#include voidmain() { inta,b; for(a=2,b=3;b

oidLE(int◆a,intb) intx=*a日 ameb;eb=x: 1 voidmainO( intx-15,y-26: printf("sd\n",x.y) E像x,y》: printf(dn",x,y》: 四、写出下列每个函数的功能(每小题6分,共12分) 1.#include intSG(intx)//在为大于等于2的整数 inta=(it)sgrt(x):/srt(x)取x的平方根 inti=2: while(idata: f=f->next: while(r)[ if(f->data>x)xf->data:
voidLE(int*a,int*b){ intx=*a; *a=*b;*b=x; } voidmain(){ intx=15,y=26; printf("%d%d\n",x,y); LE(&x,&y); printf("%d%d\n",x,y); } 四、写出下列每个函数的功能(每小题 6 分,共 12 分) 1.#include intSG(intx){//x 为大于等于 2 的整数 inta=(int)sqrt(x);//sqrt(x)取 x 的平方根 inti=2; while(idata; f=f->next; while(f){ if(f->data>x)x=f->data;

f=f->next: returnx: 1 假定structInt Node的类型定义为: structIntNodelintdata:struetIntNode*next:: 函数功能: 五、按愿日要求编写程序成函数(每小愿8分,共12分) 1,编写一个程序。输出0以内《含50)的,能够被3或者5整除的所有整数。 2编写一个递自函数“intF(inta门,intn》”,求出数组a中所有n个元素之积并返回
f=f->next; } returnx; } 假定 structIntNode 的类型定义为: structIntNode{intdata;structIntNode*next;}; 函数功能: 五、按题目要求编写程序或函数(每小题 6 分,共 12 分) 1.编写一个程序,输出 50 以内(含 50)的、能够被 3 或者 5 整除的所有整数。 2.编写一个递归函数“intFF(inta[],intn)”,求出数组 a 中所有 n 个元素之积并返回

中央广播电视大学2008秋李 C语言程序设计A课程试卷答案及评分标准(2) (供参考) 一、单选恩(每小愿2分,共20分) 1.D2.3.C4.5.C 6.C7.脓.a.A10.D 二、填空题(年小想2分,共28分) 1.}(或右花括号)2.程序3.4347 5.y16.0(假)7.158.数组 9.连接10.2511.(car*)p12.0 13.structhorkerer 三、耳出下列每个存序运行后的输出结果(每小题6分,共30分) 评分标准:根据答关正确程度刷情命分。 1,s=65 2.2821 1.10 4.23581321 5.1526 2615 四、写出下列每个函薮的功脆(每小思6分,共12分) 评分标准:根据各类制述的正地与完整程度耐情给分。 1,判断x是否为~个素数,若是则迈国1,否则返国0。 2.求出白所粉向的单签表中所有结点的最大值。 五、按愿目妥求编写程序或函数(每小愿6分,共12分) 评分标准:根据视序或函数编写的正确与光整程度的情给分。 1.中include(stdio..h>/1分 voidnain() ( inti:/2分 f0r(i=3:i<=50:i+)/W3分
中央广播电视大学 2008 秋季 C 语言程序设计 A 课程试卷答案及评分标准(2) (供参考) 一、单选题(每小题 2 分,共 20 分) 1.D2.A3.C4.D5.C 6.C7.B8.D9.A10.D 二、填空题(每小题 2 分,共 26 分) 1.}(或右花括号)2.程序 3.434.7 5.y=y+16.0(假)7.158.数组 9.连接 10.2511.(char*)p12.0 13.structWorker*r 三、写出下列每个程序运行后的输出结果(每小题 6 分,共 30 分) 评分标准:根据答案正确程度酌情给分。 1.s=55 2.2821 3.10 4.23581321 5.1526 2615 四、写出下列每个函数的功能(每小题 6 分,共 12 分) 评分标准:根据答案叙述的正确与完整程度酌情给分。 1.判断 x 是否为一个素数,若是则返回 1,否则返回 0。 2.求出由 f 所指向的单链表中所有结点的最大值。 五、按题目要求编写程序或函数(每小题 6 分,共 12 分) 评分标准:根据程序或函数编写的正确与完整程度酌情给分。 1.#include//1 分 voidmain() { inti;//2 分 for(i=3;i<=50;i++)//3 分

if(i%3=0lis5-0》printf(“gd°,i):/6分 printf ("\n") 2.intFF(inta(],intn) if(n-D)(printf(n值丰法n),exit(1):l/f可省路 if (n=1)returna[n-1]://2 elsereturna[r-1]F(a,n-1)://6
if(i%3==0||i%5==0)printf("%d",i);//6 分 printf("\n"); } 2.intFF(inta[],intn) { if(n<=0){printf("n 值非法\n"),exit(1);}//可省略 if(n==1)returna[n-1];//2 分 elsereturna[n-1]*FF(a,n-1);//6 分 }