高级语言程序设计期末考试及答案 高级语言程序设计

考生注意事项:
1、试题纸共有10页,答题纸共有1页,满分100分 。请在答题纸上作答,写在试题纸上的一律无效 。
2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料 。
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1.若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2的值是:( )
A.0.000000 B.2.750000 C.2.500000 D.3.500000
答案:D
试题分析:基础题目,数据类型和运算符优先顺序 。x+a%3*(int)(x+y)%2转化为式子为:
2.5+7%3*(int)(2.5+4.7)%2
= 2.5+7%3*(int)(7.2)%2
= 2.5+1*7%2
= 2.5+7%2
= 3.5
2.下列属于图像文件格式的有( )
A.WMV B.MPEG C.JPEG D.AVI
答案:C
试题分析:计算机基础题目 。考前准备的知识点中有,多注意一下电脑信息也能知道 。WMV、MPEG、AVI是视频格式,JPEG是图像格式 。
3.二进制数11 1011 1001 0111 和 01 0110 1110 1011 进行逻辑或运算的结果是( )
A.11 1111 1111 1101 B.11 1111 1111 1101
C.10 1111 1111 1111 D.11 1111 1111 1111
答案:D
试题分析:考前单独强调总结的知识点中有位运算的内容 。逐位做或运算,两个数字中有一个1即得1,选D 。
11 1011 1001 0111
01 0110 1110 1011
11 1111 1111 1111
4.编译器的功能是( )
A.将源程序重新组合
B.将一种语言(通常是高级语言)翻译成另一种语言(通常是低级语言)
C.将低级语言翻译成高级语言
D.将一种编程语言翻译成自然语言
答案:B
试题分析:编译成计算机能够理解的语言,计算机识别二进制0和1 。编译器的主要工作流程:源代码 → 编译 → 目标代码 → 链接(dll库等) → 生成可执行程序。
5.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )
A.X=(x*100+0.5)/100.0 B.x=(int)(x*100+0.5)/100.0;
C.x=(x/100+0.5)*100.0 D.x=x*100+0.5/100.0;
答案:B
试题分析:类型转换题目,强制转换,比较简单,课堂练习过 。B选项 。
也可以假设x=3.141,然后带入计算:
(int)(3.141*100+0.5)/100.0
= (int)(314.1+0.5)/100.0
= (int)(314.6)/100.0
= 314/100
= 3.14
6.由数字1,1,2,4,8,8所组成的不同的4位数的个数是( )
A.104 B.102 C.98 D.100
答案:B
试题分析:排列组合题,最后专项讲解中有类似的 。
不能直接A(6,4),要分情况讨论:
(1)只有2个相同的数构成的4位数,1、1、2、4;1、1、2、8;1、1、4、8;1、2、8、8;1、4、8、8;2、4、8、8组成 。
每种有A(4,4)/A(2,2)=4×3=12(种)
共有12×6=72种.
(2)4个不同的数构成,只有1、2、4、8组成,有A(4,4)=4×3×2×1=24(种)
(3)2个重复的数字构成,只有1、1、8、8,有C(4,2)=6(种)
所以,共有72+24+6=102(种)
7.排序的算法很多,若按排序的稳定性和不稳定性分类,则( )是不稳定排序 。
A.冒泡排序 B.直接插入排序 C.快速排序 D.归并排序
答案:C
试题分析:上课和复习时讲过 。选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法 。
8.G是一个非连通无向图(没有重边和自环),共有28条边,则该图至少有( )个顶点
A.10 B.9 C.11 D.8
答案:B
试题分析:图的知识点 。前几天练习的题有相似的 。也可以验证答案 。题目要求:没有自环,而且是非连通图 。一个n 阶的完全无向图含有n*(n-1)/2 条边,n=8的时候是8*7/2=28,意味着8个顶点最多有28条边,第9个点可以单独存在,不连通,可满足条件 。
9.一些数字可以颠倒过来看,例如0、1、8颠倒过来看还是本身,6颠倒过来是9,9颠倒过来看还是6,其他数字颠倒过来都不构成数字 。类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901 。假设某个城市的车牌只有5位数字,每一位都可以取0到9 。请问这个城市有多少个车牌倒过来恰好还是原来的车牌,并且车牌上的5位数能被3整除?( )
A.40 B.25 C.30 D.20
答案:B
试题分析:排列组合题 。枚举每位数字的可能性 。颠倒后还得是个数字,因此前2位有0,1,8,6,9,5种选择,第3位只能放0,1,8,后2位由前2位决定 。而0,1,8模3正好余0,1,2,所以给定其他4位,第3位有且仅有1种选择,总数=5*5*1*1*1=25 。
10.一次期末考试,某班有15人数学得满分,有12人语文得满分,并且有4人语、数都是满分,那么这个班至少有一门得满分的同学有多少人?( )
A.23 B.21 C.20 D.22
答案:A
试题分析:容斥原理,初赛课和冲刺课都讲过 。总满分人数=数学满分+语文满分-语文数学满分=15+12-4=23 。
11.设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组,请问任何以元素比较作为基本运算的归并算法,在最坏情况下至少要做多少次比较?( )
A.n2 B.n㏒n C.2n D.2n-1
答案:D
试题分析:往年考过 。也可枚举n=1,一共2个数字,只需要比较1次,AD中选,n=2再验证……
12.以下哪个结构可以用来存储图( )
A.栈 B.二叉树 C.队列 D.邻接矩阵
答案:D
试题分析:可用排除法,讲过数据结构的分类 。
13.以下哪些算法不属于贪心算法?( )
A.Di.jkstra算法 B.Floyd算法
C.Prim算法 D.Kruskal算法
答案:B
试题分析:提高组课上讲过 。Floyd是枚举所有情况 。
14.有一个等比数列,共有奇数项,其中第一项和最后一项分别是2和118098,中间一项是486,请问一下哪个数是可能的公比?( )
A.5 B.3 C.4 D.2
答案:B
试题分析:可以枚举答案 。等比数列,首项是2,公比是5,末项不可能是118098;
公比是4,486%4!=0;公比是2,可演算2的n次方不是118098 。排除法,选B 。
15.有正实数构成的数字三角形排列形式如图所示 。第一行的数为a1,1,第二行a2,1,a2,2,第n行的数为an,1,an,2,…,an,n 。从a1,1开始,每一行的数ai,j只有两条边可以分别通向下一行的两个数ai+1,j和ai+1,j+1 。用动态规划算法找出一条从a1,1向下通道an,1,an,2,…,an,n中某个数的路径,使得该路径上的数之和最大 。
令C是从a1,1到ai,j的路径上的数的最大和,并且C<0>= C<0>=0,则C=( )
A.max{C,C}+ ai,j
B.C+C
C.max{C,c}+1
D.max{C,C}+ ai,j
答案:A
试题分析:dp基础题:数塔,基础讲过,路径只能从左上方和上方过来 。
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填?,错误填?;除特殊说明外,判断题1.5分,选择题4分,共计40分)
1.

高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
高级语言程序设计期末考试及答案 高级语言程序设计

文章插图
试题分析:博弈论类的问题,讲过 。位运算,考前专门复习过 。题目里说了,用动态规划实现,并且用位运算代替数组实现 。
1)①处应填( )
A.0
B .~0ull
C.~0ull^1
D.1
答案:C
试题分析:根据题目要求,状态压缩到64位,A和D默认是32位整数,所以B或者C 。最开始石子是0个,应该是输的状态,所以最低位不能是1,选C 。
2)处应填( )
A.a< i
B.a==i
C.a !=i
D.a >i
答案:B
试题分析:n个条件范围内,符合题目要求的石子个数,即可发生状态转移,选B 。并且根据代码,状态转移到trans变量 。增加状态,位运算|实现加的功能,下一个选A 。
3)③处应填( )
trans |= 1ull <<(b – 1)
status |= 1ull << (b- 1)
status += 1ull << (b-1)
trans += 1ull<< (b-1)
答案:A
4)④处应填( )
~status|trans
status&trans
status|trans
~status&trans
答案:D
试题分析:判断win的值 。先手必胜,对当前状态和以前状态做判断 。
5)⑤处应填( )
trans = status | trans ^win
status = trans >> 1^win
trans = status ^trans |win
status =status <<1^win
答案:D
更新status状态值,将当前win值记录到status中 。
百度搜索(2020西安信奥赛集训营)
【高级语言程序设计期末考试及答案 高级语言程序设计】了解信奥赛历年真题、了解各高校加分政策、了解比赛时间、了解陕西学员获奖名单

    推荐阅读