试卷代号:1253 座位号■ 国家开放大学(中央广播电视大学)2015年春季学期“开放本科”期末考试 C语言程序设计A试题 2015年7月 题 号 二 三 四 五 总 分 分 数 得 分 评卷人 一、单选题(每小题2分,共20分) 1.由C语言目标文件连接而成的可执行文件的默认扩展名为()。 A.cpp B.exe C.obj D.c 2.设有两条语句为“inta=3;a十=a*a;”,则执行结束后,a的值为()。 A.12 B.18 C.15 D.27 3.带有随机函数调用的表达式rand()%20的值在( )区间内。 A.1~19 B.1~20 C.019 D.0~20 4.在for循环语句“for(i=0;i<n;i++)S;”中,循环体S被执行的次数为( )。 A.n B.n+1 C.n-1 D.n-2 5.在下列的字符数组定义中,存在语法错误的是()。 A.char a20]="abcdefg"; B.char a[]="x+y=55."; C.char a[15]={'1','2'}; D.char a[10]=5’; 6.若有一个函数原型语句为“double*function();”,则此函数的返回值类型为()。 A.实数型 B.实数指针型 C,函数指针型 D.数组型 852
试卷代号 :1253 座位号[]] 国家开放大学(中央广播电视大学 )2015 年春季学期"开放本科"期末考试 语言程序设计 试题 2015 E E 一、单选题(每小题 分,共 20 分) 1.由 语言目标文件连接而成的可执行文件的默认扩展名为( )。 852 A. cpp C. obj B. exe D. c 2. 设有两条语句为"inta=3; =a a;" ,则执行结束后, 的值为( )。 A. 12 C. 15 B. 18 D. 27 3. 带有随机函数调用的表达式 randO %20 的值在( )区间内。 A. 1~19 C. 0~19 B. 1~20 D. 0~20 4. for 循环语句 "forCi=O; i<n; i++) S;" 中,循环体 被执行的次数为( )。 A. n C. n-l B. D. n • 2 5. 在下列的字符数组定义中,存在语法错误的是( )。 A. char a[20]= "abcdefg"; C. chara[15]={'1' , '2'}; B. char a[] 士、十 y=55. D. char a[lOJ =巧 6. 若有一个函数原型语句为"double functionO 户,则此函数的返回值类型为( )。 。实数型 B. 实数指针型 。函数指针型 D.数组型
7.在C语言中,所有预处理命令都是以( )符号开头的。 A.* B.# C.& D.@ 8.假定整数类型的指针p所指数据单元的值为30,P十1所指数据单元的值为40,则执 行p十十后,p所指数据单元的值为( )。 A.40 B.30 C.70 D.10 9.若要使p指向二维整型数组a[10][20],则p的类型为( )。 A.int* B.int* C.int米[20] D.int(*)[20] 10.表示文件结束符的符号常量为( )。 A.eof B.Eof C.EOF D.feof 得 分 评卷人 二、填空题(每小题2分,共26分) 11.C语言中的每条复合语句以右 括号作为结束符。 l2.在#include命令中所包含的文件,可以是头文件,也可以是 文件。 13.十进制数35对应的十六进制数为 14.假定x=8,则表达式2十x十十的值为 15.对于“for(i=0;iy)c=2;else c-=3;”语句后,c的值为 17.假定二维数组的定义为“inta[3][5];”,则该数组所包含的元素个数为 18.执行“typedef int ABC[10];”语句把ABC定义为具有10个整型元素的 类型。 19.strcat()函数用于 两个字符串。 20.假定p所指对象的值为34,p十1所指对象的值为46,则*p十十的值为 21.若要把一个指针p强制转换为字符指针,则采用的强制转换表达式为 22.NULL是一个符号常量,作为空指针,它所表示的整数值为 0 23.假定要动态分配一个类型为struct Worker的对象,并由r指针指向这个对象,则r的 数据类型为 853
语言中,所有预处理命令都是以( )符号开头的。 Ao 必B.# C&. D.@ 80 假定整数类型的指针 所指数据单元的值为 30 所指数据单元的值为 40 ,则执 行快 p+ 十后, 所指数据单元的值为( Ao 40 C 70 B. 30 D. 10 90 若要使 指向二维整型数组 a[10J[20J ,则 的类型为( )。 A. int C int [20J 100 表示文件结束符的符号常量为( Ao eof C EOF B. int 兴祷 D. int( )[20J B. Eof D. feof 二、填空题(每小题 分,共 26 分) 11. 语言中的每条复合语句以右 括号作为结束符。 120 在# include 命令中所包含的文件,可以是头文件,也可以是一一一一文件。 130 十进制数 35 对应的十六进制数为 140 假定 x=8 ,则表达式 x++ 的值为 150 对于 "for (i =O; iy) c=2; else c=3;"语句后, 的值为 17 假定二维数组的定义为 "int a[3J[5J;" ,则该数组所包含的元素个数为 180 执行 "typedef int ABC[10J 户'语句把 ABC 定义为具有 10 个整型元素的 一一一一类型。 190 strcat() 函数用于 两个字符串。 200 假定 所指对象的值为 34 所指对象的值为 46 ,则祷 十十的值为 1.若要把一个指针 强制转换为字符指针,则采用的强制转换表达式为 220 NULL 是一个符号常量,作为空指针,它所表示的整数值为 230 假定要动态分配一个类型为 struct Worker 的对象,并由 指针指向这个对象,则 数据类型为 853
得 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 24.include void main(){ int x=20; int i=2; while(i=6&&a[i门 int WF(int x,int y){ x=x十y; y+=x; 854
咱'j., I ~"'"蝇 I 干「 三、写出下列每个程序运行后的输出结果(每小题 分,共 30 分} 24. # include void mainO { int i ,j ,k=O; for(i=O; i void mainO { int x=20; int i=2; while (i void mainO { int a[8J={7 ,6 ,4 , 5 ,8 , 3 , 9 , 12}; int i , s=O; for(i=O; i=6 && a[i 854 int WF(int x , int y) { x=x+y; =X;
return x+y; void main() int x=3,y=5; printf("%d\n",WF(x,y)); 28.include=b&&a>=c)return a; if(b>=a 8.&.b>=c)return b; return c; } 函数功能: 30.int LI(int n) inti; int a=malloc(n sizeof(int)); for(i=0;i<n;i++)scanf("%d",a++i); return a; 函数功能: 855
return x+y; voíd mainO { ínt x=3 , y=5; príntf(" %d\n" , WF(x ,y)); 28. include int LA (i nt int n) { int i,s=O; for(i=O;i=b &.&. a>=c) return a; if( b>=a &.&. b>=c) return b; return c; 函数功能: 30. int LI (i nt n) { mt 1; int a=malloc(n sizeof(int)) ; for(i=O;i<n; i++) scanf(" %d" , a+i); return a; 函数功能 855
得分 评卷人 五、按题目要求编写程序(每小题6分,共12分) 31.完善下面程序,该程序功能是从键盘上输人10个整数到-一维数组a[10]中,然后按照 下标从大到小的次序输出数组[10]中的每个元素值,元素值之间用一个空格分开。 include<stdio.h void main() { inta[10],i;//用i作为循环变量 printf("从键盘输人10个整数:\n"); //向下补充程序内容,用两个for循环实现 printf("\n"); } 32.编写一个主函数,假定函数体中定义的整数变量a和b的取值范围分别为:6≤a≤ 50,10≤b≤30,求出满足不定方程3a+4b=120的全部整数组解。如(20,15)就是其中的一组 解。 856
五、按题目要求编写程序{每小题 分,共 12 分} 1.完善下面程序,该程序功能是从键盘上输入 10 个整数到一维数组 [1 0] 中,然后按照 下标从大到小的次序输出数组 [1 0] 中的每个元素值,元素值之间用一个空格分开。 # include void mainO int a[10] ,i; //用 作为循环变量 printH" 从键盘输入 10 个整数 z\n") ; //向下补充程序,内容,用两个 for 循环实现 printfC"\n") ; 32. 编写一个主函数,假定函数体中定义的整数变量 的取值范围分别为 :6~a~ 50 10ζb~30 ,求出满足不定方程 3a 4b=120 的全部整数组解。如 (20.15) 就是其中的→组 解。 856
试卷代号:1253 国家开放大学(中央广播电视大学)2015年春季学期“开放本科”期末考试 C语言程序设计A试题答案及评分标准 (供参考) 2015年7月 一、单选题(每小题2分,共20分) 1.B 2.A 3.C 4.A 5.D 6.B 7.B 8.A 9.D 10.C 二、填空题(每小题2分,共26分) 11.花(}) 12.程序 13.0x23 14.10 15.5 16.3 17.15 18.一维数组 19.连接 20.34 21.(char *)p 22.0 23.struct Worker 三、写出下列每个程序运行后的输出结果(每小题6分,共30分)】 评分标准:根据答案正确程度酌情给分。 24.10 25.225 857
试卷代号 :1253 国家开放大学(中央广播电视大学 )2015 年春季学期"开放本科"期末考试 语言程序设计 试题答案及评分标准 一、单选题(每小题 分,共 20 分} 1. B 6. B 2. A 7. B 二、填空题{每小题 分,共 26 分} 1.花(}) 12. 程序 13. Ox23 14. 10 15. 5 16. 3 17. 15 18. 一维数组 19. 连接 20. 34 21. (char )p 22. 0 23. struct W orker (供参考) 3. C 8. A 4. A 9. D 三、写出下列每个程序运行后的输出结果(每小题 分,共 30 分) 评分标准 根据答案正确程度酌情给分。 24. 10 25. 2 2 5 5. D 10. C 2015 857
26.s=30 27.21 28.b=18 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准:根据叙述的正确与完整程度酌情给分。 29.求出a,b,c三个参数中的最大值并返回。 30.首先建立一个动态整型数组a[n],接着从键盘上输人n个整数到a[n]中,最后返回 数组a[n]的首地址。 五、按题目要求编写程序(每小题6分,共12分)】 评分标准:根据编写程序或函数的正确与完整程度酌情给分。 31.for(i=0;i=0;i--)printf("%d ",ali]); /16分 注:第1行中的&a[i门也可替换为a十i 32.void main() { int a,b; //1分 for(a=6;a<=50;a++) /2分 for(b=10;b<=30;b++) /3分 if(3 a++4 b==120)printf("(%d,%d)\n",a,b); /6分 858
26. s=30 27. 21 28. b=18 四、写出下列每个函数的功能{每小题 分,共 12 分) 评分标准:根据叙述的正确与完整程度酌情给分。 29. 求出 三个参数中的最大值并返回。 30. 首先建立一个动态整型数组 a[ 叶,接着从键盘上输入 个整数到 a[nJ 中,最后返回 数组 a[nJ 的首地址。 五、按题目要求编写程序{每小题 分,共 12 分} 评分标准 根据编写程序或函数的正确与完整程度酌情给分。 31. for Ci =O; i=O; 一一) printf("%d ", a[iJ); //6 注:第 行中的 &a[jJ 也可替换为 32. void rnainO 858 inta ,b; //1 forCa=6;a<=50; a++) for(b=10; b<=30; b++) //2 //3 if(3 * a+4 b==120) printf( "(%d , %d)\n" , a , b); //6