知道智慧网课《C语言编程方法与思想》章节测试答案_第1页
知道智慧网课《C语言编程方法与思想》章节测试答案_第2页
知道智慧网课《C语言编程方法与思想》章节测试答案_第3页
知道智慧网课《C语言编程方法与思想》章节测试答案_第4页
知道智慧网课《C语言编程方法与思想》章节测试答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章单元测试1.【多选题】正确答案:CD执行两个数的四则运算,关于语句,scanf("%d%d%c",a,b,op);正确的输入方式是()。A.37*B.5,9,+C.46+D.28*2【单选题】(2分)关于函数scanf的返回值,正确的说法是什么?()A.正确读入的数据的个数B.正确读入时返回1C.正确读入时返回-1D.正确读入时返回03.【多选题】正确答案:AD执行两个数的四则运算(中缀表达式),关于语句,scanf("%d%c%d",a,op,b);正确的输入方式是()。A.3*7B.3*7C.3*7D.3*74【单选题】(2分)用scanf("%d%c%d",x,c,y)输入三个数据,正确的描述为:()A.没有正确答案B.输入的三个数据用逗号分开C.输入的三个数据用换行分开D.输入的三个数据用空格分开5【单选题】(2分)用gets输入多个字符串,循环头语句可以为,while(gets(str)!=______()输入结束的标记是什么?A.-1B.1C.NULLD.EOF第二章单元测试1【单选题】(2分)以下哪个位运算符用于将指定位设置为1?()A.B.|C.>>D.^2【单选题】(2分)如果x的值为6,y的值为3,则x^y的结果是什么?()A.3B.6C.5D.93【单选题】(2分)已知8位二进制反码表示11100111,那么它的十进制值是多少?()A.103B.24C.-24D.-1034【单选题】(2分)(已知,EPS是一个用于控制精度的宏,例如#defineEPS1e-6)下列说法正确的是?()A.可以使用语句if(a-0.3==EPS)来判断浮点数a是否为0.3B.可以使用语句if(a-0.3<=EPS)来判断浮点数a是否为0.3C.减小浮点数误差,可以通过使用更高精度的浮点数D.double型精度更高,不存在浮点数误差5【判断题】可以使用语句if(a-0.3<=EPS)来判断浮点数a是否为0.3()A.对B.错第三章单元测试1.【多选题】正确答案:ABC有关if-else选择结构的论述,正确的是______?()A.通过条件语句的嵌套结构,可以实现多路选择B.if或else部分如果有多条语句,必须用大括号括起来组成复合语句块C.多个ifelse嵌套时,else总是和最近的if匹配D.if中的条件表达式必须为逻辑或关系表达式,不能为算术表达式2.【多选题】正确答案:BC有关switch语句的论述,正确的是______?()A.case中的值可以为一个变量,从而根据变量的取值进行选择B.default分支一般放在最后,当前面所有的case都不匹配时,跳转到该处执行C.switch中的表达式必须为整数表达式,返回整数或字符类型的值D.执行完一个case分支后,会继续判断后续case是否满足条件,如果满足则跳转到后续的case中继续执行3.【多选题】正确答案:AD有关三种循环结构特点的论述,错误的是______?()A.有些while循环无法转换为for循环B.do-while循环至少执行一次C.for循环头中的三个表达式都可以省略,但两个分号不能省略D.while循环体不能为空,否则无法结束while循环4【判断题】执行完一个case分支后,会继续判断后续case是否满足条件,如果满足则跳转到后续的case中继续执行。()A.错B.对5【判断题】do-while循环至少执行一次。()A.对B.错第四章单元测试1【单选题】(2分)关于C程序中函数的调用和执行,不正确的是:()A.如果函数有返回值,则将返回值赋给接收的变量。B.当函数执行完毕后,会返回到调用函数位置,继续执行。C.一个C程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束D.当调用(执行)一个函数时,就会开辟一个独立的空间(栈)。2.【多选题】正确答案:CD现需要编程完成两个分数的求和,并将所求得的和化为最简形式。已知以下代码设计了一个函数gcd(),能够求两个整数的最大公约数,欲调用该函数完成本任务的求解,则______处可填入的语句是:()intgcd(int,int);intmain(){inta,b,c,d,e,f,g;//(a,b)与(c,d)分别表示两个分数的分子、分母scanf("%d%d%d%d",a,b,c,d);e=a*d+c*b;f=b*d;g=______;e/=g;f/=g;printf("%d/%d+%d/%d=%d/%d\n",a,b,c,d,e,f);}intgcd(inta,intb){returnb?gcd(b,a%b):a;}A.gcd(a,b)B.gcd(c,d)C.gcd(f,e)D.gcd(e,f)3【单选题】(2分)以下代码用递归函数实现求解两个正整数的最大公约数,______处应填入的语句是:()#include<stdio.h>intgcd(int,int);intmain(){inta,b,g;scanf("%d%d",a,b);g=gcd(a,b);printf("%d\n",g);return0;}intgcd(inta,intb){if(b==0)returna;return___________;}A.gcd(a%b,b)B.gcd(b,a%b)C.a%b4.【多选题】正确答案:AD阿克曼函数的定义如下<imgsrc="/zhs/question-import/formula/202310/1ca29f50f0804ed6b31db774c5125907.png用递归的方法实现求解阿克曼函数ack(m,n)(0≤m≤3,0≤n≤10),则该递归函数的基本情况应包括:()intack(intm,intn){————————;————————;returnack(m-1,ack(m,n-1));}A.if(m==0)returnn+1;B.if(m==0)return-1;C.if(n==0)return0;D.if(n==0)returnack(m-1,1);5【判断题】当调用(执行)一个函数时,就会开辟一个独立的空间(栈)。()A.错B.对第五章单元测试1【单选题】(2分)经典的冒泡排序算法for(i=1;i<n;i++){for(j=0;j<n-i;j++){if(a[j]>a[j+1])//比较{SWAP(a[j],a[j+1])//交换}}}比较和交换分别执行了多次?______()A.O(n<sup2</sup)O(nlgn)B.O(nlgn)O(n<sup2</sup)C.O(n<sup2</sup)O(n<sup2</sup)D.O(n)O(n)2【单选题】(2分)两个关键字排序,第一个关键字为数组a(降序排列),第二个关键字为数组b(如果第一个关键字相当,则按b降序排列),用经典的冒泡排序算法实现,请填空实现元素的比较部分,()for(i=1;i<N;i++){for(j=0;j<N-i;j++){if(____________________________)//比较{SWAP(a[j],a[j+1])//交换SWAP(b[j],b[j+1])//交换}}}A.(a[j]<a[j+1])||((a[j]==a[j+1])(b[j]<b[j+1]))B.(a[j]<a[j+1])(b[j]<b[j+1])C.(a[j]<a[j+1])(b[j]>b[j+1])D.(a[j]<a[j+1])||((a[j]==a[j+1])(b[j]>b[j+1]))3【单选题】(2分)请在一维数组b中查找key的位置,未找到返回-1,填空完成经典的二分搜索算法。()//low和high表示搜索的起始范围,从b[low]到b[high]intbin_find(intb[],intkey,intlow,inthigh){intmid;while(low<=high){mid=low+(high-low)/2;if(key==b[mid])returnmid;elseif(key<b[mid])____________________________elselow=mid+1;}return-1;}A.high=mid+1;B.high=low;C.high=mid;D.high=mid-1;4【判断题】(1分二分搜索每次把搜索区域砍掉一半,时间复杂度为O(logn)。(n代表集合中元素的个数)。()A.对B.错5【单选题】(1分)字符串输入输出函数的原型在下面哪个标准头文件中定义:()。A.math.hB.stdlib.hC.stdio.hD.string.h6【判断题】fgets函数读入字符串比gets函数更安全。()A.错B.对第六章单元测试1【单选题】(2分)假设要对一个N行M列的二维double型数组以行为单位进行排序,在调用通用冒泡排序函数g_bub_sort时,实际参数len和elemSize的值分别是多少。()A.N*M和sizeof(double)B.N和MC.M和ND.N和M*sizeof(double)2【单选题】(2分)假设cmp是一个满足严格有序的比较函数,判断a,b相等的条件是什么?()A.cmp(a,b)||cmp(b,a)B.cmp(a,b)cmp(b,a)C.!cmp(a,b)||!cmp(b,a)D.!cmp(a,b)!cmp(b,a)3.【多选题】正确答案:ABCD使用qsort函数可以排序______数据类型的数组。()A.整型B.字符型C.浮点型D.结构体型4【单选题】(2分)qsort排序的平均时间复杂度多少?()A.O(nlogn)B.O(n<sup3</sup)C.O(n<sup2</sup)D.O(n)5【单选题】(2分)下面正确定义p为函数指针的是:()。A.int*p;B.int*p(int);C.int(*p)(int);D.char(*p)[10];6【判断题】*作为单目运算符是解引用运算符,作为双目运算符是乘号,它还可以用来定义指针。()A.对B.错第七章单元测试1【单选题】(2分)输入字符串时,常用fgets来代替gets,主要是fgets有什么优点______。()A.fgets能指定读入字符串的来源和目标位置B.fgets能读入字符串行末的\nC.fgets通过参数设置能保证读入字符串的合法性(达到字符数组长度时在行末添加\0)D.fgets能读入字符串中间的若干个空格2【单选题】(2分)在Windows系统上,按正文(文本)方式打开文本文件且用fgets(arr,N,stdin)读入文本文件内容到内存时(N足够大),下述正确的描述是______。()A.每行末尾的\r\n自动转换为\nB.在内存中的格式跟文件中的格式一样C.每行末尾的\n自动转换为\r\nD.没有正确答案3.【多选题】正确答案:AD下列说法正确的是______。()A.Windows和Linux下创建的二进制文件,格式完全一样,在两个系统上的使用完全一样B.Windows和Linux下创建的文本文件,格式完全一样,在两个系统上的使用完全一样C.Linux下创建的文本文件,放到Windows下使用,通常需要处理\rD.Windows下创建的文本文件,放到Linux下使用,通常需要处理\r4.【多选题】正确答案:ABCD优化代码时,可以采取的措施是______?()A.合理利用数据结构B.减少算法的时间复杂度C.减少算法的空间复杂度D.减少函数调用次数5.【多选题】正确答案:BCD自顶向下的思想可以用在______?()A.毫无用处B.编码实现C.调试方法D.方案设计第八章单元测试1.【多选题】正确答案:AC以下说法正确的是?()A.如果用文本编辑器打开一个文件时发生了“乱码”,则说明该文件是“二进制”文件B.Windows系统产生的文件不能在Linux上读取C.Windows系统下以文本形式打开的文件使用fread

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论