试卷代号:1253 座位号■■ 国家开放大学(中央广播电视大学)2016年春季学期“开放本科”期末考试 C语言程序设计试题 2016年7月 题 号 二 三 四 总 分 分数 得 分 评卷人 一、单项选择题。把合适的选项编号填写在括号内。(每小题2分, 共28分) 1.在C语言中,每条复合语句的结束标记字符为( )。 A.] B.) C.> D.} 2.在C语言程序中,单行或行尾注释语句使用的标记符为()。 A.0/ B./* C./ D.** 3.C语言源程序文件的扩展名为( A.cpp B.exe C.obj D.c 4.控制字符八n'表示()。 A,回车 B.响铃 C.换行 D.换页 5.运算符优先级最高的是()。 A.== B.十 C.&& D.II 850
试卷代号 :1253 座位号亡口 国家开放大学(中央广播电视大学)2016 年春季学期"开放本科"期末考试 语言程序设计试题 2016 一、单项选择题。把合适的选项编号填写在括号内。{每小题 分, 28 分} 1.在 语言中,每条复合语句的结束标记字符为( )。 A] R) c.> D.} 2. 语言程序中,单行或行尾注释语句使用的标记符为( )。 A. 铸/ B. /铸 C. // D. 铸铃 3. 语言源程序文件的扩展名为( )。 A. cpp B. exe C. obj D. c 4. 控制字符'怡'表示( )。 A. 回车 B. 响铃 c.换行 D. 换页 5. 运算符优先级最高的是( )。 AC =& =& B. + D. 850
6.x=10 B.x>10 C.x!=10 D.x>0 7.每次先进行循环条件的判断,然后再执行循环体的语句为()。 A.for和do B.for和while C.while和do D.switch和break 8.假定对二维数组a[3][4]进行初始化的数据为{{3,5,6},{2,8},{7},则a[1][1]被初 始化为()。 A.6 B.2 C.8 D.7 9.对于一个二维字符数组[M][N],存储每个字符串的长度至多为()。 A.M B.N C.M-1 D.N-1 10.假定P所指对象的值为25,p十1所指对象的值为42,则表达式P十十的值为 () A.25 B.42 C.26 D.43 11.已知“inta[6][5],”,则元素a[2][4幻的地址比该数组的首地址大( )。 A.14个字节 B.56个字节 C.28个字节 D.96个字节 12.在C语言中,用户定义的标识符分为4种作用域,下列选项中不属于这4种作用域的 是( A.全局 B.语句 C.文件 D.局部 13.在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下 一个结点的()。 A,地址 B.值 C.名称 D.类型 14.在C语言中,为只写操作打开一个文本文件的方式为()。 A."a" B."r十" C."r" D."w" 851
6. x=10 B. x>10 C. x! =10 D. x>O 7. 每次先进行循环条件的判断,然后再执行循环体的语句为( λ A. for do B. for while C. while do D. switch break 8. 假定对二维数组 a[3J[4J进行初始化的数据为 {{3 6} {2 8} {7}} ,则 a[IJ [1 被初 始化为( ). A.6 C. 8 B. 2 D.7 9. 对于一个二维字符数组 a[MJ[NJ ,存储每个字符串的长度至多为( )。 A. M C. M-l B. N D. N-l 10. 假定 所指对象的值为 25 p+l 所指对象的值为 42 ,则表达式铃 p++ 的值为 A. 25 C. 26 B. 42 D. 43 11. 已知 "int a[6J[5J;" ,则元素 a[2J[4J 的地址比该数组的首地址大( )。 A. 14 个字节 B. 56 个字节 C. 28 个字节 D. 96 个字节 ( ) 12. 语言中,用户定义的标识符分为 种作用域,下列选项中不属于这 种作用域的 是( )。 A.全局 B. 语句 c.文件 D. 局部 13. 在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下 一个结点的( )。 A. 地址 B. C. 名称 类型 14. 语言中,为只写操作打开一个文本文件的方式为( )。 A."a" B. "r+" C."r" D."w" 851
得分 评卷人 二、是非判断题。根据叙述正确与否在其后面的括号内打对号“√” 或叉号“×”。(每小题2分,共30分) 15.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。() 16.在C语言程序上机操作的过程中,编译程序的操作步骤之后是运行操作。() 17.在一条变量定义语句中,可以同时定义不同基准类型的变量。() 18.表达式x=x十y表示成复合赋值表达式为x+=y。() 19.若x=5,y=10,则x=y)w=x;else w=y; if(w<z)w=z; printf("w=%d\n",w); 852
|得分|评卷人| | 二、是非判断题。根据叙述正确与否在其后面的括号内打对号..~" 或叉号"X"o (每小题 分,共 30 分} 15. 语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。( ) 16. 语言程序上机操作的过程中,编译程序的操作步骤之后是运行操作。( ) 17. 在一条变量定义语句中,可以同时定义不同基准类型的变量。( ) 18. 表达式 x=x+y 表示成复合赋值表达式为 x+=Yo ( ) 19. x=5 y=10 ,则 x void main() 852 int x=5 , y=8 , z=6 ,w=0; if(x>=y) w=x; else w=y; if(w<z) w=z; printf("w= %d\n" ,w);
31.执行下面程序的输出结果为( )。 #include void main(){ int n=0,y=0; while(n void main(){ inta[8]={12,15,20,8,5,9,16,10}: inti,j,x=a[0]+a[1]; for(i=0;ix)x=aCi]+a[j]; printf("%d ",x); } 33.执行下面程序的输出结果为( ). #include<stdio.h void main(){ inta[8]={10,8,16,15,9,21,7,16}: int i,x=ao]; for(i=1;i<8;i++) if(a[i]<x)x=a[i] printf("x=%d\n",x); 853
1.执行下面程序的输出结果为( )。 # inc1 ude void mainO int n=O , y=O; while(n void mainO int a[8]={12 ,15 ,20 ,8 ,5 ,9 ,16 ,10}; inti ,j , x=a[O]+a[1]; for(i=O; ix) x=a[i]+a[j]; printf(" %d ",对; 33. 执行下面程序的输出结果为( )。 # inc1 ude void mainO int a[8]= {10 ,8 ,16 ,15 ,9 ,21 ,7 ,16}; int i,x=a[O]; for(i=l ;i<8;i++) if(a[i]<x) x=a[i]; printf("x= %d\n" ,对 853
34.当使用xk2(5,4,7)调用此函数时,返回值为()。 int xk2(int a,int b,int c){ if(a>=b &a>=c)return a; if(b>=a &b>=c)return b; return c; 得 分 评卷人 四、编程题。按题目要求编写程序或函数。(每小题6分,共12分) 35.补充完整下面的函数定义,利用for循环计算1十22+22+…+2的值,最后返回计 算结果。假定计数变量用1表示,每次累乘2的变量用P表示,每次累加一个数据项值的变量 用sum表示。 int FF(int n) int i,p=1,sum=1; /在下面一行的后面补上for循环语句的语句体 for(i=1;i<=n;i++) return sum; } 36.根据函数原型“int DD(inta[门,intn,int MM)”编写函数定义,利用双重for循环统 计出数组a[n]中任何两个不同元素的值等于MM值的配对个数,然后返回统计结果。如假定 a[i门十a[j]等于MM,同时i≠j,则为一个配对。 int DD(int a],int n,int MM) { int i,j,c=0; /1用和j作为循环变量,用c作为统计变量 /在下面补充一个双重for循环语句 return c; 854
34. 当使用 xkZC5 ,7)调用此函数时,返回值为 ). int xk2 (int a , int b , int c) { ifCa>=b &.&. a>=c) return a; ifCb>=a &.&. b>=c) return b; return C; |得分|评卷人 | 四、编程题。按题目要求编写程序或函数。{每小题 分,共 12 分} 35. 补充完整下面的函数定义,利用 for 循环计算 +21 +22+ …+护的值,最后返回计 算结果。假定计数变量用 表示,每次累乘 的变量用 表示,每次累加一个数据项值的变量 sum 表示。 int FF(int n) int i, p=l , sum=l; //在下面一行的后面补上 for 循环语句的语句体 forCi=l; i<=n; i++) return sum; 36. 根据函数原型"int DD(int 口, int n , int MM)"编写函数定义,幸 用双重 for 循环统 计出数组 a[nJ 中任何两个不同元素的值等于 MM 值的配对个数,然后返回统计结果.如假定 a[iJ+a[j]等于 MM ,同时 ::;i: ,则为一个配对。 int DD(int 口, int n , int MM) int i,j , c=O; / /用 作为循环变量,用 作为统计变量 //在下面补充一个双重 for 循环语句 return C; 854
试卷代号:1253 国家开放大学(中央广播电视大学)2016年春季学期“开放本科”期末考试 C语言程序设计 试题答案及评分标准 (供参考) 2016年7月 一、单项选择题,把合适的选项编号填写在括号内。(每小题2分,共28分) 1.D 2.C 3.D 4.C 5.B 6.B 7.B 8.C 9.D 10.A 11.B 12.B 13.A 14.D 二、是非判断题,根据叙述正确与否在其括号内打对号“√”或叉号“X”。(每小题2分,共30分) 15./ 16.× 17.× 18./ 19.× 20.× 21./ 22./ 23.√ 24.X 25./ 26.× 27.√ 28.× 29.× 三、程序填空题。分析程序后把合适的内容填写在括号内。(每小题6分,共30分) 30.w=8 31.y=55 32.36 33.x=7 34.7 四、编程题。按题目要求编写程序或函数。(每小题6分,共12分】 评分标准:根据编写程序或函数的正确与完整程度酌情给分。 35.{p*=2;sum十=p;} 36.for(i=0;i<n;i++)//1分 for(j=i+1;j<n;j++) /2分 if(aCi]aj]==MM)c++;//6 855
试卷代号 :1253 国家开放大学{中央广播电视大学 )2016 年春季学期"开放本科"期末考试 语言程序设计试题答案及评分标准 〈供参考〉 一、单项选择题.把合适的选项编号填写在括号内。{每小题 分,共 28 分} LD 6. B 2. C 7. B 3.D 8. C 4.C 9. D 11. B 12. B 13. A 14. D 二、是非判断题,根据叙述正确与否在其括号内打对号 5.B 10.A 5. .J 6. X 7. X 18. .J 19. X 20. X 21. .J 22. .J 23. .J 24. X 25. .J 26. X 27. .J 28. X 29. X 2016 三、程序填空题。分析程序后把合适的内容填写在括号肉。{每小题 分,共 30 分} 30. w=8 31. y=55 32.36 33. x=7 34. 7 四、编程题。按题目要求编写程序或函数。{每小题 分,共 12 分} 评分标准 根据编写程序或函数的正确与完整程度酌情给分。 35. {p =2; sum+=p;} 36. for(i=O; i<n; i++) / /1 for(j=i+1; j<n; j++) //2 if(a[iJ+a[jJ==MM) c++; //6 855