专业算法复习题一.docx
算法考试题目及答案解析

算法考试题目及答案解析一、单项选择题1. 在算法中,以下哪个选项不是算法的特性?A. 有穷性B. 确定性C. 可行性D. 随机性答案:D解析:算法的特性包括有穷性、确定性和可行性。
有穷性指的是算法必须在执行有限步骤后终止;确定性指的是算法的每一步操作都是明确的,不存在二义性;可行性指的是算法的每一步操作都必须足够基本,以至于可以准确地执行。
随机性并不是算法的特性之一。
2. 以下哪个排序算法的时间复杂度是O(n^2)?A. 快速排序B. 归并排序C. 冒泡排序D. 堆排序答案:C解析:冒泡排序是一种简单的排序算法,其时间复杂度为O(n^2),在最坏的情况下,需要比较每一对元素。
快速排序的平均时间复杂度为O(n log n),归并排序的时间复杂度为O(n log n),堆排序的时间复杂度为O(n log n)。
3. 在图的遍历中,深度优先搜索(DFS)使用的栈是什么类型的栈?A. 后进先出栈B. 先进后出栈C. 先进先出栈D. 随机进随机出栈答案:B解析:深度优先搜索(DFS)使用的数据结构是栈,遵循的是先进后出的原则,即后进先出栈。
4. 哈希表解决冲突的方法不包括以下哪一项?A. 分离链接法B. 开放寻址法C. 链地址法D. 二分查找法答案:D解析:哈希表解决冲突的方法主要包括分离链接法、开放寻址法和链地址法。
二分查找法是一种查找算法,不是用来解决哈希表冲突的方法。
5. 以下哪个算法不是动态规划算法?A. 斐波那契数列B. 0-1背包问题C. 最短路径问题D. 快速排序答案:D解析:斐波那契数列、0-1背包问题和最短路径问题都可以使用动态规划算法来解决。
快速排序是一种排序算法,不属于动态规划算法。
二、多项选择题1. 以下哪些是算法设计中常用的数据结构?A. 数组B. 链表C. 栈D. 队列E. 树答案:ABCDE解析:数组、链表、栈、队列和树都是算法设计中常用的数据结构,它们各自有不同的特点和适用场景。
算法设计复习题

算法设计复习题一、单选题1、下面关于算法的描述,正确的是(d )A、一个算法只能有一个输入B、算法只能用框图来表示C、一个算法的执行步骤可以是无限的D、一个完整的算法,不管用什么方法来表示,都至少有一个输出结果2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是(c )A、设计算法,编写程序,提出问题,运行程序,得到答案B、分析问题,编写程序,设计算法,运行程序,得到答案C、分析问题,设计算法,编写程序,运行程序,得到答案D、设计算法,提出问题,编写程序,运行程序,得到答案3、有5位运动员100米成绩依次为13.8,12.5,13.0,13.2,13.4,(c)若采用选择排序算法对其进行从小到大排序,则第二趟的排序结果是(A) 12.5 13.8 13.2 13.4 13.0 (B) 12.5 13.4 13.2 13.8 13.0(C) 12.5 13.0 13.8 13.2 13.4 (D) 12.5 13.2 13.8 13.4 13.04、下面说法正确的是(a )A、算法+数据结构=程序B、算法就是程序C、数据结构就是程序D、算法包括数据结构5、数列1,4,7,10,13,……的递推公式为( d )。
(A) f(1)=1;f(n)=n+3 (B) f(1)=1;f(n)=n*2-1(C) f(1)=1;f(n)=n*2+1 (D) f(1)=1;f(n)=f(n-1)+36、用选择排序法对数据7,6,3,9,2从大到小排序,共需经过多少次数据对调。
a(A) 3 (B) 4 (C) 5 (D) 107、动态规划算法的基本要素为(c )。
A、最优子结构性质与贪心选择性质B、重叠子问题性质与贪心选择性质C、最优子结构性质与重叠子问题性质D.、预排序与递归调用8、算法分析中,记号O表示( b ),记号Ω表示(a),记号Θ表示(d )。
A、渐进下界B、渐进上界C、非紧上界D、紧渐进界E、非紧下界9、以下关于渐进记号的性质是正确的有:(a)A、f(n)(g(n)),g(n)(h(n))f(n)(h(n))=Θ=Θ?=ΘB、f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n))==?=C、O(f(n))+O(g(n)) = O(min{f(n),g(n)})D、f(n)O(g(n))g(n)O(f(n))=?=10、下列算法中通常以自底向上的方式求解最优解的是( b )。
(完整word版)算法设计试题(word文档良心出品)

一、选择题(15*2分)1.算法分析是( C)A.将算法用某种程序设计语言恰当地表示出来B.在抽象数据集合上执行程序,以确定是否会产生错误的结果C.对算法需要多少计算时间和存储空间作定量分析D.证明算法对所有可能的合法输入都能算出正确的答案2.算法与程序的区别在于算法具有(C )A.能行性B.确定性C.有穷性D.输入和输出3.记号Ω的定义正确的是(B)A.O(g(n)) = { f(n) | 存在正常数c和n0使得当n≥n0 有f(n) ≤ cg(n) }B.O(g(n)) = { f(n) | 存在正常数c和n0使得当n≥n0有 cg(n) ≤ f(n) }>0使得对所有n≥n0 C.(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n有f(n)<cg(n) }D.(g(n)) = { f(n) | 对于任何正常数c>0,存在正数和n>0使得对所有n≥n0有cg(n) < f(n) }4.衡量一个算法好坏的标准是(C )A.运行速度快B. 占用空间少C.时间复杂度低D. 代码短5.二分搜索算法是利用(A)实现的算法。
A.分治法B.动态规划法C.贪心法D.回溯法6.下面问题(B )不能使用贪心法解决。
A. 单源最短路径问题B. N皇后问题C. 最小代价生成树问题D. 背包问题7.用贪心法设计算法的关键是( B )。
A.将问题分解为多个子问题来分别处理B.选好最优量度标准C.获取各阶段间的递推关系式D.满足最优性原理8.找最小生成树的算法Kruskal的时间复杂度为( D )(其中n为无向图的结点数,m为边数)A.O(n2) B.O(mlogn) C.O(nlogm) D.O(mlogm)9.回溯法搜索状态空间树是按照(C )的顺序。
A.中序遍历B.广度优先遍历C.深度优先遍历D.层次优先遍历10. 一个问题可用动态规划算法或贪心算法求解的关键特征是问题的( B )A.重叠子问题B.最优子结构性质C.最优量度标准性质D.定义最优解11.程序块(A)是回溯法中遍历排列树的算法框架程序。
算法设计与分析复习题目及答案.docx

算法设计与分析复习题目及答案.docx一。
选择题1、二分搜索算法是利用(A)实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是(B)。
A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是(A)的一搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4、在下列算法中有时找不到问题解的是(B)。
A、蒙特卡罗算法B、拉斯维加斯算法C、舍伍德算法D、数值概率算法5. 回溯法解旅行售货员问题时的解空间树是(B)。
A、子集树B、排列树C、深度优先生成树D、广度优先生成树6.下列算法常以自底向上的方式求解最优解的是(B)。
A、备忘录法B、动态规划法C、贪心法D、回溯法7、衡量一个算法好坏的标准是( C )。
A 运行速度快B 占用空间少C 时间复杂度低D 代码短8、以下不可以使用分治法求解的是( D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1 背包问题9. 实现循环赛日程表利用的算法是(A)。
A、分治策略B、动态规划法C、贪心法D、回溯法10、下列随机算法中运行时有时候成功有时候失败的是( C )A 数值概率算法B 舍伍德算法C 拉斯维加斯算法D 蒙特卡罗算法11.下面不是分支界限法搜索方式的是(DA、广度优先B、最小耗费优先C、最大效益优先12.下列算法常以深度优先方式系统搜索问题解的是(A、备忘录法B、动态规划法C、贪心法13.备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法14.哈弗曼编码的贪心算法所需的计算时间为(BnB、 O(nlogn )n )A、O( n2 )C、O(215.分支限界法解最大团问题时,活结点表的组织形式是(A、最小堆B、最大堆C、栈组)。
D、深度优先D)。
D、回溯法D、回溯法)。
D、 O( n)B)。
D 、数16.最长公共子序列算法利用的算法是(B)。
A、分支界限法B、动态规划法C、贪心法D、回溯法17.实现棋盘覆盖算法利用的算法是(A)。
算法复习题(精炼版)

填空题动态规划算法的基本要素为:最优子结构性质与重叠子问题性质1)算法分析中,记号O表示渐进上界,记号Ω表示渐进下界,记号Θ表示紧渐进界。
2)回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。
3)分支限界法在问题的解空间树中,按广度优先策略,从根结点出发搜索解空间树。
所谓贪心选择性质是指(所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到)。
所谓最优子结构性质是指(问题的最优解包含了其子问题的最优解)。
回溯法是指(具有限界函数的深度优先生成法)。
回溯法的算法框架按照问题的解空间一般分为(子集树)算法框架与(排列树)算法框架。
4)二分搜索算法是利用分治策略实现的算法。
5)衡量一个算法好坏的标准是时间复杂度低6)最长公共子序列算法利用的算法是动态规划法7)Strassen矩阵乘法是利用分治策略实现的算法8)回溯法搜索状态空间树是按照深度优先遍历的顺序。
9)算法中通常以自底向下的方式求解最优解的是动态规划法10)背包问题的贪心算法所需的计算时间为O(nlogn)11)0-1背包问题的回溯算法所需的计算时间为O(n2n)12)用动态规划算法解决最大字段和问题,其时间复杂性为n13)一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_有穷性,确定性,可行性,输入,输出。
1.算法的复杂性有时间复杂性和空间复杂性之分。
2、程序是算法用某种程序设计语言的具体实现。
3、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。
4.矩阵连乘问题的算法可由动态规划设计实现。
6、算法是指解决问题的一种方法或一个过程。
7、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。
8、问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。
9、以深度优先方式系统搜索问题解的算法称为回溯法。
10、数值概率算法常用于数值问题的求解。
《算法分析与设计》练习题一答案.docx

《算法分析与设计》练习题一答案1.程序书写格式应该遵循哪四个原则?参考答案:(1)正确使用缩进:一定要有缩进,否则代码的层次不明显。
(2)在一行内只写一条语句。
(3), '}'位置不可随意放置。
(4)变量和运算符之间最好加1个空格2.什么是算法?参考答案:用计算机解决问题的过程可以分成三个阶段:分析问题、设计算法和实现算法。
算法可以理解为冇基本运算及规定的运算顺序所构成的完整的解题步骤,它是求解问题类的、机械的、统一的方法,它由有限多个步骤组成,对于问题类屮每个给定的具体问题,机械地执行这些步骤就可以得到问题的解答。
或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。
3.什么是线性结构?什么是非线性结构?参考答案:线性结构:数据逻辑结构屮的一类。
它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所冇结点都冇R只冇一个直接前趋和一个直接后继。
线性表就是一个典型的线性结构。
栈、队列、串等都是线性结构。
非线性结构:数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接而趋和直接后继。
数组、广义表、树和图等数据结构都是非线性结构。
4.已知二叉树后序遍丿力序列是DABEC,屮序遍丿力序列是DEBAC,则前序遍历序列是什么?参考答案:前序遍历序列是CEDBA5.什么是数制?参考答案:数制是人们利用符号进行计数的一种科学方法。
数制也称计数制,是用一组固定的符号和统一的规则來表示数值的方法。
6.如果将十进制数106转换为八进制数,结果是多少?参考答案:1527.请问查找算法的效率用什么进行度量?参考答案:平均查找长度ASL:在查找其关键字等于给定值的过程小,需要和给定值进行比较的关键字个数的期望值称为查找成功吋的平均查找长度。
AS厶=£皿/=1其屮,n是结点的个数;是杳找第i个结点的概率,是找到第i个结点所需要的比较次数。
算法分析试题.doc
1-1什么叫数据?什么叫数据元素?什么叫数据项?1-2什么叫数据的物理结构?什么叫数据的存储结构?什么叫数据的操作?1-3数据结构课程主要讨论哪三个方面的问题?1-4分别画岀线性结构、树结构和图结构的逻辑示意图。
1-5什么叫类型?什么叫数据类型?什么叫抽象数据类型?1-6怎样利用抽象数据类型设计大型软件?1-7什么叫算法?算法的5个性质是什么?1-8根据算法的性质解释算法和程序的区别?1-9评判算法的优劣有哪几种方法?1-10什么叫算法的时间复杂度?怎样表示算法的时间复杂度?1-11设n为已在算法前边定义的整数类型,并已知n为正整数,分析下列各算法中加下划线语句的执行次数,并给出各算法的吋间复杂度T(n)o(1)int i = 1, k = 0;while (i < n-1){k = k+ 10* i:i 二i + 1;}(2)int i = 1, k = 0;do{k 二k + l()*i:i 二i + 1;} while (i != n);(3)inti= 1J = 1;while (i <= n && j <= n){i= i+ l;j=j+ 1;}(4)int x = n; /* n > 1 */int y = 0;while(x >= (y+l)*(y+l))y++;(5)int i, j, k, x = 0;for (i = 0; i < n; i++)for(j = 0;j<i;j++)for (k = 0; k < j; k++)x = x + 2;1-12设求解同一个问题有三种算法,三种算法各白的时间复杂度分别为0(/丿,0(2”丿和0(Mg n),哪种算法最可取?为什么?1-13按增长率从小到大的顺序排列下列各纽函数:(1)2," , (3/2) “, (2/3) \ (4/3) “(2)n, n?Z2> n2Z?, n!, n"(3)lb n, nxlb n, n2-1什么叫线性表?2-2什么叫顺序存储结构?什么叫链式存储结构?2-3给出线性表的抽象数据类型定义。
经典算法试题及答案
经典算法试题及答案题目一:找出旋转排序数组中的最小值题目描述:假设按照升序排序的数组在预先未知的某个点上进行了旋转。
例如,数组 `[0,1,2,4,5,6,7]` 可能变为`[4,5,6,7,0,1,2]`。
请找出并返回数组中的最小元素。
说明:- 原数组是一个升序排序的数组- 数组中可能包含重复的元素- 你的算法应该具有 O(log n) 的时间复杂度答案解析:这个问题可以通过二分查找的方法来解决。
以下是详细的解题步骤:1. 初始化两个指针 `left` 和 `right` 分别指向数组的开头和结尾。
2. 当 `left` 小于 `right` 时,执行以下步骤:- 找到中间位置 `mid`。
- 如果 `nums[mid]` 大于 `nums[right]`,则最小值在 `mid+1` 到 `right` 之间,更新 `left = mid + 1`。
- 如果 `nums[mid]` 小于 `nums[right]`,则最小值在 `left` 到 `mid` 之间,更新 `right = mid`。
- 如果 `nums[mid]` 等于 `nums[right]`,则无法判断最小值的位置,需要减少 `right`。
3. 当 `left` 等于 `right` 时,返回 `nums[left]`。
代码实现:```pythondef findMin(nums):left, right = 0, len(nums) - 1while left < right:mid = left + (right - left) // 2if nums[mid] > nums[right]:left = mid + 1elif nums[mid] < nums[right]:right = midelse:right -= 1return nums[left]```题目二:合并两个有序链表题目描述:将两个有序链表合并为一个新的有序链表。
算法设计与分析复习题整理(1)
算法设计与分析复习题整理(1)一、基本题:算法:1、程序是算法用某种程序设计语言的具体实现。
2、算法就是一组有穷的序列(规则) ,它们规定了解决某一特定类型问题的一系列运算。
3、算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。
4、算法的“确定性”指的是组成算法的每条指令是清晰的,无歧义的。
5、算法满足的性质:输入、输出、确定性、有限性。
6、衡量一个算法好坏的标准是时间复杂度低。
7、算法运行所需要的计算机资源的量,称为算法复杂性,主要包括时间复杂性和空间复杂性。
8、任何可用计算机求解的问题所需的时间都与其规模有关。
递归与分治:9、递归与分治算法应满足条件:最优子结构性质与子问题独立。
10、分治法的基本思想是首先将待求解问题分解成若干子问题。
11、边界条件与递归方程是递归函数的两个要素。
12、从分治法的一般设计模式可以看出,用它设计出的程序一般是递归算法。
13、将一个难以直接解决的大问题,分解成一些规模较小的相同问题,以便各个击破。
这属于分治法的解决方法。
14、Strassen矩阵乘法是利用分治策略实现的算法。
15、大整数乘积算法是用分治法来设计的。
16、二分搜索算法是利用分治策略实现的算法。
动态规划:17、动态规划算法的两个基本要素是最优子结构性质和重叠子问题性质。
18、下列算法中通常以自底向上的方式求解最优解的是动态规划法。
19、备忘录方法是动态规划算法的变形。
20、最优子结构性质是贪心算法与动态规划算法的共同点。
21、解决0/1背包问题可以使用动态规划、回溯法,其中不需要排序的是动态规划,需要排序的是回溯法。
贪心算法:22、贪心算法总是做出在当前看来最好的选择。
也就是说贪心算法并不从整体最优考虑,它所做出的选择只是在某种意义上的局部最优解。
23、最优子结构性质是贪心算法与动态规划算法的共同点。
24、背包问题的贪心算法所需的计算时间为 O(nlogn) 。
回溯法:25、回溯法中的解空间树结构通常有两种,分别是子集树和排列树。
算法复习题答案
算法复习题答案一、选择题1. 算法的时间复杂度是指:A. 算法执行所需的时间B. 算法执行所需的内存空间C. 算法执行时所需操作的数量D. 算法执行时占用的CPU资源答案:C2. 在排序算法中,最坏情况下时间复杂度为O(n^2)的排序方法是:A. 快速排序B. 归并排序C. 堆排序D. 冒泡排序答案:D3. 递归算法的基本原理是:A. 重复执行B. 循环执行C. 将问题分解为更小的子问题D. 将问题转化为更复杂的问题答案:C二、填空题1. 动态规划算法通常用于解决具有_______性质的问题。
答案:最优子结构2. 哈希表的冲突可以通过_______方法来解决。
答案:链地址法或开放地址法3. 贪心算法在每一步选择中都采取在当前状态下的_______操作。
答案:最优三、简答题1. 请简述二分查找算法的基本原理及其时间复杂度。
答案:二分查找算法是一种在有序数组中查找特定元素的算法。
其基本原理是将目标值与数组中间的元素进行比较,如果目标值等于中间元素,则查找成功;如果目标值小于中间元素,则在数组的左半部分继续查找;如果目标值大于中间元素,则在数组的右半部分继续查找。
这个过程将不断重复,直到找到目标值或查找范围为空为止。
二分查找算法的时间复杂度为O(log n)。
2. 什么是分治算法?请举例说明。
答案:分治算法是一种算法设计技术,它将一个复杂的问题分解成若干个规模较小但相似的子问题,递归地解决这些子问题,然后将子问题的解合并以解决原始问题。
例如,归并排序就是一种典型的分治算法,它将待排序的数组分成两半,分别对这两半进行排序,然后将排序好的两半合并成一个有序数组。
四、计算题1. 给定一个数组A = [3, 5, 1, 4, 2],请使用快速排序算法对其进行排序,并给出排序过程中的每一步操作。
答案:快速排序的基本思想是选择一个元素作为“基准”(pivot),然后将数组分为两部分,一部分包含所有小于基准的元素,另一部分包含所有大于基准的元素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int main()
{
int i,aver,a[10],sum=0,n=0;
for(i=l;i<10;i++)
scanff%d”,&a[i]);
ifi[a[i]>0&&a[i]%2==0)
{
sum=sum+a[i];
n++;
}
avcr=sum/n;
printf(,'aver=%d\n",aver);
A.1个B.2个
C.4个D.8个
5.下列表达式屮运算结果为3的表达式是(B)
A.(-7)%4B.7/4+2
C.7/4*4-4D.8/3+8/3
6.设有int a=3,b=-4, c=5;表达式a4"+・c+b++的值是(C )
A.・6B.・5
C・-4D.・3
7.在printf语句屮,格式说明符u表示(C)
专业算法复习题一
—S
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的
括号内。错选.多选或未选均无分。
6•下面转义字符屮,表示字符串结束的是(C)
B.\ n
DAf
7.在VC屮,若定义unsigned int a;则变最a在内存屮分配的字节数是(C)
A」个B.2个
C.4个D.8个
9.关于switch屮的表达式,正确的说法是(D)
A.它必须是算术表达式B.它必须是关系表达式
C.它必须是逻辑表达式D.它可以是任意类型的表达式
10.对do语句while(表达式);结构的循环,下列说法正确的是(B)
A.当表达式的值为非零时不执行循环体
prints〃\n〃 );break;
case 2:
prints〃 $ 〃 );
case 1:
prints〃 @ 〃 );
}
k—;
}
}
答:#*
$@@
4.请阅读分析下面程序,然后写出运行结果。f()
{
int a=3;
static int b=4;
a=a+l;
b=b+l;
printfif〃a= %d,b= %d\n〃,a,b);
while(ch>=,A,)
{
printf(M%cn,ch);
ch-;
}
printffW);
return 0;
}
3.什么是变量的作用域?什么是局部变量?什么是全局变量? 答:
4.阅读分析题
1.请阅读分析下瓯程序,然后写出运行结果。
main()
{
int x=8,y=-5;
prints〃x= %d,y=%d \ n〃,x,y);
fbr(i=0;i<4;汁+)
{
for(j=0J<3;j++)
printf(〃%4d〃,p[i][j]);
prints " \ n〃 );
}
}
解:123n45 6n 7 89 nl011 12 n
五、程序设计题
1.从键盘上输入10个整数,并将其存放在一数纟Fl屮,求出该数纟R屮所有大于零且为偶数的 数的平均值。
}
main()
}
答:a=4,b=5
a=4,b=6
a=4,b=7
5.请阅读分析下面程序,然麻写出运行结果。
main()
{
int ij, *p[4],a[12]={l,2,3,4,5,6,7,8,9,10,ll,12};
p[0]=&a[0];
p[l]=&a[3];
p[2]=&a[6];
p[3]=&a[9J;
C.a<b||b<0D.(a,2,-5)= =(b,2,a)
E.! (a>0&&b<0)
2.若有定义int a[5];,则对a数组元索或地址的引用错误的有(A,C,D)
• •
A.&a[5]B.a[2]
C.a++D.*a
E.a[O]
3.若有定义及赋值:int *p,a[4],i;p=a,则可以表示数组元素值的形式是(A.*(a+i)B.a+i
x=x+y;y=x-y;x=x-y;
prints〃x= %d,y= %d \ n〃,x,y);
}
答:x=&y=-5;
X=-5,y=8;
2.请阅读分析下血稈序,然后写出运行结果。
main()
{
int x=156,a,b,c;
iglOO)
{
a=x/100; x=x%100;}if(x>1 Nhomakorabea){
b=x/10; c=x%10;
A.以I-进制带符号形式输出一整数
B.以十六进制带符号形式输出整数
C.以十进制无符号形式输出整数
D.以十六进制无符号形式输岀整数
8.若有int a=3,b=4, c=5, d=6, x=4;执行下列程序段后x的值是(D ) if(a<b)
{
\f(c==d)
x=c;
}
else
x=d++
A.4B.5
C・6D.7
&设有intx=2,y,z;执行z=y=x-;后,变量z的值是(
2.
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的 括号内。错选、多选、少选或未选均无分。
1.设有inta=3,b=-5;下面表达式值不等于1的有(A,D)
• • •
A.a<0&&b<0B.a=fabs(b)-(a-t-l)
C.&a[i]D.a[i]
E.*(p+i)
4.设有说明:intu=l,v=3;下面表达式的值为3的是()
A.v|u
C.uAv|l
E.v&〜u
三、简答题(本大题共
1.在C语言的switch语句屮,switch后面的“表达式”可以是哪些类型的表达式? 答:幣形类型、字符类型
2.设有程序如下:
main()
{
charch=/A';
while(ch<=/E')
{
printfif〃%c〃,ch);
ch++;
}
prints〃\n〃 );
}
(1)该程序的运行结果是什么?答:ABCDE
⑵如果要将给定稈序的运行结果按相反的顺序输出,请写出相对应的程序。
#include<stdio.h>
int main()
char ch-E*;
return 0;
}
2.从键盘上输入10个整数,用冒泡法将在们按从小到大的次序扌非列岀来,并把排列的结果 输出显示。
专业算法复习题二
一、单项选择题
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的 括号内。错选、多选或未选均无分。
4.若定义double d;则d在内存屮分配的字节数是(B)
}
printf(〃%3d%3d%3d%3d〃,a, b, c, a*b*c);
}
答:15 6 30
3.请阅读分析下面程序,然后写出运行结果。
main()
int k=4,i; for(i=0;i<4;汁+)
switch(k)
{
case 4:
printfif〃 #”);
case 3:
printf{〃 * 〃 );default: