试卷代号:1253 座位 国家开放大学(中央广播电视大学)2014年秋季学期“开放本科”期末考试 C语言程序设计A试题 2015年1月 题 号 二 三 四 五 总 分 分 数 得分 评卷人 一、单选题(每小题2分,共20分) 1.由C语言源程序文件编译而成的目标文件的默认扩展名为( )。 A.cpp B.c C.exe D.obj 2.设x和y均为逻辑值,则xIy为假的条件是x和y()。 A.均为真 B.其中一个为真 C.均为假 D.其中一个为假 3.枚举类型中的每个枚举常量的值都是一个()。 A.整数 B.浮点数 C.字符 D.记录 4.循环语句“for(i=0;i<=n;i++)S;”中循环体S被执行的次数为()。 A.1 B.n-1 C.n D.n+1 5.假定有语句为“inta[4][5]={1,3,5},{2,8}};”,则aC1][1]的值为( A.3 B.5 C.8 D.2 6.在下面的选项中,不能作为函数的返回值类型的是( )。 A.void B.node C.int D.long 1038
试卷代号 :1253 座位号 国家开放大学(中央广播电视大学 )2014 年秋季学期"开放本科"期末考试 语言程序设计 试题 2015 E 四!五|总分| ! 一、单选题(每小题 分,共 20 分) 1.由 语言源程序文件编译而成的目标文件的默认扩展名为( )。 A. cpp B. c C. exe D. obj 2. 均为逻辑值,则 xlly 为假的条件是 y( )。 A. 均为真 B.其中一个为真 c. 均为假 D. 其中一个为假 3. 枚举类型中的每个枚举常量的值都是一个( )。 A. 整数 B.浮点数 c.字符 D.记录 4. 循环语句"for(i=O;i<=n;i++ )S;" 中循环体 被执行的次数为(。 A. 1 C. n B. n-l D. n+l 5. 假定有语句为 "int a[4J[5J={ {l, ,时, {2 8}};" ,贝tl [l J[lJ 的值为( )。 A. 3 C. 8 B. 5 D. 2 6. 在下面的选项中,不能作为函数的返回值类型的是( )。 A. void B. node C. int D. long 1038
7.假定x的值为5,y的值为6,则表达式x++一一y的值为()。 A.25 B.30 C.36 D.42 8.用calloc函数创建具有10个整型元素的动态存储空间的正确调用是( A.calloc(10,sizeof(char)) B.calloc(10) C.calloc(10,sizeof(int)) D.calloc(sizeof(int),10) 9.假定有语句“intb[10],*pb;”,则不正确的赋值为( )。 A.pb=b B.pb=b[5] C.pb=b+2 D.pb=&b[0] 10.标准输入设备的文件流标识符是( )。 A.stderr B.stdin C.stdout D.stdio 得 分 评卷人 二、填空题(每小题2分,共26分) 11.C语言中的每条复合语句以 作为结束符。 12.在#include命令中所包含的文件,可以是头文件,也可以是 文件。 13.十进制数35对应的十六进制数为 14.假定x=8,则表达式2十×十十的值为 15.对于“for(i=0;iy)c=2;else c=3;”语句后,c的值为 17.假定二维数组的定义为“inta[3][5];”,则该数组所包含的元素个数为 l8.执行“typedef int ABC[l0];”语句把ABC定义为具有10个整型元素的一维 类型。 l9.strcat()函数用于 两个字符串。 20.假定p所指对象的值为25,P十1所指对象的值为46,则p十十的值为 21.若要把一个指针p强制转换为字符指针,则采用的强制转换表达式为 22.NULL是一个符号常量,作为空指针,它所表示的整数值为 23.假定要动态分配-一个类型为struct Worker的对象,并由r指针指向这个对象,则r的 数据类型为 1039
7. 假定 的值为 的值为 ,则表达式 x++ 养一 -y 的值为( )。 A. 25 C. 36 B. 30 D. 42 8. calloc 函数创建具有 10 个整型元素的动态存储空间的正确调用是( )。 A. callocC1 0 , sizeofC char)) C. callocC1 0 , sizeof(int)) B. calloc (1 0) D. calloc(sizeof(int) , 10) 9. 假定有语句 "int b[1 0] ,铃 pb 户,则不正确的赋值为( )。 A. pb=b C. pb=b+2 10. 标准输入设备的文件流标识符是( A. stderr C. stdout B. pb=b[5] D. pb= &.b[O] B. stdin D. stdio 二、填空题(每小题 分,共 26 分) 11. 语言中的每条复合语句以 作为结束符。 12. 在# include 命令中所包含的文件,可以是头文件,也可以是 文件。 13. 十进制数 35 对应的十六进制数为 l4.假定 x=8 ,则表达式 十十的值为 15. 对于 "forCi=0;iy)c=2 ;else c=3;"语句后, 的值为 17. 假定二维数组的定义为"int a[3][5]z" ,则该数组所包含的元素个数为 18. 执行"typedef int ABC[10];" 语句把 ABC 定义为具有 10 个整型元素的一维 类型。 19. strcatO 函数用于 两个字符串。 20. 假定 所指对象的值为 25 p+1 所指对象的值为 16 ,则养 十十的值为 1.若要把一个指针 强制转换为字符指针,则采用的强制转换表达式为 22. NULL 是一个符号常量,作为空指针,它所表示的整数值为 23. 假定要动态分配一个类型为 struct W orker 的对象,并由 指针指向这个对象,则 数据类型为 1039
得分 评卷人 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 24.include void main(){ inta[6]={36,25,48,24,55,40}; int i=0,x=24; while(a[i]!=x &&i<6)i++; if(i<6)printf("%d\n",i); } 输出结果: 26.#include<stdio.h void SB(charch){ switch(ch){ case'A':printf("1");break; case'B':printf("2");break; default:printf("3");break; 1040
|得分|评卷人| | 三、写出下列每个程序运行后的输出结果(每小题 分,共 30 分) 24. # include void main C) { inti ,s=O; forCi=l ;s void mainO{ int a[6J={36 ,25 ,48 ,24 ,55 ,40}; int i=0 , x=24; while(a[iJ! =x && i void SB(charch) { switch(ch) { 1040 case' A' : prin tf ( " 1 " ) ; break; case'B' :printf( "2"); break; default: printf(" 3") ; break;
} void main(){ char al=’a’,a2=B',a3=’A’; SB(al);SB(a2);SB(a3); } 输出结果: 27.include #define M 6 void main() { int i,xl=0,x2=0; inta[M]={2,5,8,4,6,9}; for(i=0;i struct Worker{char name[15];int age;float pay;); void main() struct Worker x={"wanghua",48,2500); struct Worker y,p; y=x:p=&x; printf("%od\n",y.age+p->age); 输出结果: 1041
void main () { char a1= 'a' ,a2= 'B' ,a3=' SB(al) ;SB(a2) ;SB(a3); 输出结果: 27. :1* include :1* define M 6 void mainO int i, x1=0 , x2=0; int a[MJ={2 , 5 ,8 ,4 ,6 ,9}; for(i=0;i struct Worker{ char name[l5J ; int age; float pay; } ; void mainO { struct Worker x= {"wanghua" ,48 , 2500}; struct W orker ,祷 p; y=x;p=&x; printf(" %d\n" , y. age+p->age); 输出结果: 1041
得分 评卷人 四、根据下列每个函数回答相应问题(每小题6分,共12分)】 29.假定使用SF(20)调用下面函数,则得到的输出结果为 void SF(int x) int i=2; while(x>=i){ if(x%i==0)(printf("%d",i);x/=i;} i++: printf("%d\n",x); 30.假定结点的结构类型为IntNode,它的数值域为data,链接指针域为next,请指出下面 函数的功能。 void QC(struct IntNode f) //仟为一个单链表的表头指针 while(f) printf("%d",f->data); f=f->next; 函数功能: 得 分 评卷人 五、按照题目要求编写程序或函数(每小题6分,共12分) 31.补充完整下面的函数定义,计算出1+1*3+23十.·.十n*3的值并返回。 int FF(intn)( int i,s=1; 1042
四、根据下列每个函数回答相应问题(每小题 分,共 12 分) 29. 假定使用 SF(20) 调用下面函数,则得到的输出结果为 void SF(int x) { int i=2; while(x>=i){ if(x%i= =0) {printf(" %d" ,i); xl = i;} i++; printf(" %d\n" ,x); 30. 假定结点的结构类型为 IntNode ,它的数值域为 data ,链接指针域为 next ,请指出下面 函数的功能。 void QC(struct IntNode 禄。{ while( f) { Ilf 为一个单链表的表头指针 printf(" %d" >data) ; f=f->next; 函数功能 五、按照题目要求编写程序或函数{每小题 分,共 12 分) 1.补充完整下面的函数定义,计算出 3+2 3+... +n 的值并返回。 int FF(intn) { inti ,s=l; 1042
/在下面添上一行for循环语句,循环变量为i,累加变量为s return s; } 32.根据函数原型“int FF(inta[],intn)”,编写函数定义,计算并返回数组a[n]中所有元 素之和。 1043
//在下面添上一行 for 循环语句,循环变量为 ,累加变量为 return S; 32. 根据函数原型"int FF(int 口, int n)" ,编写函数定义,计算并返回数组 a[nJ 中所有元 素之和。 1043
试卷代号:1253 国家开放大学(中央广播电视大学)2014年秋季学期“开放本科”期末考试 C语言程序设计A试题答案及评分标准 (供参考) 2015年1月 一、单选题(每小题2分,共20分)】 1.D 2.C 3.A 4.D 5.C 6.B 7.A 8.C 9.B 10.B 二、填空题(每小题2分,共26分】 11.}(或右花括号) 12.程序 13.0x23 14.10 15.10 16.3 17.15 18.数组 19.连接 20.25 21.(char¥)p 22.0 23.struct Worker米 三、写出下列每个程序运行后的输出结果(每小题6分,共30分)】 评分标准:根据答案正确程度酌情给分, 24.s=12 25.3 1044
试卷代号 :1253 国家开放大学(中央广播电视大学 )2014 年秋季学期"开放本科"期末考试 语言程序设计 试题答案及评分标准 一、单选题{每小题 分,共 20 分} 1. D 6. B 2. C 7. A 二、填空题(每小题 分,共 26 分) 11. } 或右花括号) 12. 程序 13. Ox23 14. 10 15. 10 16. 3 17. 15 18. 数组 19. 连接 20. 25 21. Cchar )p 22. 0 23. struct W orker (供参考) 3. A 8. C 4. D 9. B 三、写出下列每个程序运行后的输出结果(每小题 分,共 30 分) 评分标准:根据答案正确程度酌情给分。 24. s=12 25. 3 1044 2015 5. C 10. B
26.321 27.1519 28.96 四、根据下列每个函数回答相应问题(每小题6分,共12分) 评分标准:根据答题的正确与完整程度酌情给分。 29.252 30.遍历输出由表头指针f所指向的单链表中每个结点的data域的值。 五、按照题目要求编写程序或函数(每小题6分,共12分】 评分标准:按程序或函数编写的正确与完整程度酌情给分。 31.for(i=1;i<=n;i++)s+=i*3; 32.int FF(int an],int n) int i,sum=0; /1分 for(i=0;i<n;++)sum+=ai]; /14分 return sum; /16分 } 1045
26. 321 27. 15 19 28. 96 四、根据下列每个函数回答相应问题(每小题 分,共 12 分) 评分标准:根据答题的正确与完整程度酌情给分。 29.2 5 2 30. 遍历输出由表头指针 所指向的单链表中每个结点的 data 域的值。 五、按照题目要求编写程序或函数(每小题 分,共 12 分) 评分标准:按程序或函数编写的正确与完整程度酌情给分。 31. for(i=l;i<=n;i++ )S +=i * 3; 32. int FF(int a[J ,int n) int i,sum=O; for(i=O;i<n;i +)sum =a[iJ; return sum; //1 //4 //6 1015