C语言编程方法与思想智慧树知到期末考试答案章节答案2024年北京航空航天大学_第1页
C语言编程方法与思想智慧树知到期末考试答案章节答案2024年北京航空航天大学_第2页
C语言编程方法与思想智慧树知到期末考试答案章节答案2024年北京航空航天大学_第3页
C语言编程方法与思想智慧树知到期末考试答案章节答案2024年北京航空航天大学_第4页
C语言编程方法与思想智慧树知到期末考试答案章节答案2024年北京航空航天大学_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

C语言编程方法与思想智慧树知到期末考试答案+章节答案2024年北京航空航天大学当函数执行完毕后,会返回到调用函数位置,继续执行。()

答案:对8位二进制反码表示11100111,十进制值是-24。()

答案:对for循环头中的三个表达式都可以省略,但两个分号不能省略。()

答案:对*运算符可能是单目运算符,也可能是双目运算符;作为双目运算符,也不一定是指针变量定义符。()

答案:对一个C程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束。()

答案:错

答案:③P1>P2;①(double*)②(double*)已知int类型的变量a、b,取值分别为0和1,下列条件表达式,结果为真的是:()

答案:在程序设计过程中,一般需要经历的步骤是______。()

答案:问题分析;方案设计;调试;编码一个函数用来求一维数组中的最大值,数组长度为n,则下边对函数声明的写法,错误的是:()

答案:

答案:

答案:

答案:输入为随机顺序时,比较次数为O(n)≤x≤O(n2),交换次数为0≤x≤O(n2);输入为升序时,比较次数为O(n),无元素交换实现算法框架和具体应用分离的优点有哪些?()

答案:容易调试和优化;算法容易维护;复用性好

答案:关于输入函数,正确的描述为:()

答案:

答案:4;11;3;5

答案:

答案:

答案:已知inta=1,则执行下列语句后a的值为8的是_______。()

答案:若用数组名作为函数调用时的实参,则实际上传递给形参的是_______。()

答案:数组首地址

答案:83用getchar输入多个字符,循环头语句可以为,while((c=getchar())!=______)输入结束的标记是什么?()

答案:若二维数组a有n行,m列,则在a[i][j]之前的元素个数为_____。()

答案:

答案:11,4有关break的使用,错误的是_______。()

答案:在多重循环中,break语句可以从最里层的循环体直接跳出,结束全部循环

答案:以下代码在运行时有巨大隐患的是哪个?()

答案:

答案:C语言中NULL表示_____。()

答案:空指针

答案:while(x)中的x与下面条件____等价。()

答案:定义一个字符数组chars[100],在标准输入上输入一串字符串(可能为空)并以回车键结束,以下说法正确是?()

答案:

答案:对两个数组a和b进行如下初始化chara[]="abcde";charb[]={'a','b','c','d','e'};则以下叙述正确的是______。()

答案:b数组比a数组长度短将8位二进制数A通过A&B使A第0,3,5位置零,其余位的值保留,则B的二进制表示为?()

答案:11010110有两个double型变量a,b,要判断它们的和是否为0.3,考虑到数值误差,下列写法正确的是:(已知,EPS是一个用于控制精度的宏,例如#defineEPS1e-6)()

答案:

答案:第0列的数值从小到大排列,当第0列的数值相等时,第1列数值从小到大排列已知有如下变量声明:inta=4,b=2;则下列表达式值最大的是:()

答案:以下选项中的条件表达式不能够判断“n大于等于0同时小于10”的情况的是______?()

答案:(0<=n<10)

答案:已知x的值为-35,那么它的8位二进制原码表示为?()

答案:10100011

答案:65,66

答案:将3个数字1,2,3的所有排列按字典顺序枚举出来,则下面的选项在结果中正确的先后顺序应该是:()?231‚213ƒ312„321

答案:‚?ƒ„有:int*p,n;若让p指向n,从键盘输入值给p所指向的内存单元,以下正确的程序段是:()

答案:下列选项中的for循环头的写法,错误的是______?()

答案:假设有一个32位的整数n,n>0,如何用位运算检查它是否为2的幂?()

答案:假设s是一个合法字符串,则该字符串最后一个有效字符是?()

答案:s[strlen(s)–1]Windows系统产生的文件不能在Linux上读取。()

答案:错用word写的代码,可以直接用c语言编译器进行编译。()

答案:错Windows系统下以文本形式打开的文件使用fread读取时,会产生\n\r向\n的转化。()

答案:对输入字符串时,常用fgets来代替gets,主要是fgets有什么优点______。()

答案:fgets通过参数设置能保证读入字符串的合法性(达到字符数组长度时在行末添加\0)下列说法正确的是______。()

答案:Windows和Linux下创建的二进制文件,格式完全一样,在两个系统上的使用完全一样;Windows下创建的文本文件,放到Linux下使用,通常需要处理\r在Windows系统上,按正文(文本)方式打开文本文件且用fgets(arr,N,stdin)读入文本文件内容到内存时(N足够大),下述正确的描述是______。()

答案:每行末尾的\r\n自动转换为\n自顶向下的思想可以用在______?()

答案:编码实现;方案设计;调试方法优化代码时,可以采取的措施是______?()

答案:减少算法的空间复杂度;减少算法的时间复杂度;减少函数调用次数;合理利用数据结构*作为单目运算符是解引用运算符,作为双目运算符是乘号,它还可以用来定义指针。()

答案:对qsort排序的平均时间复杂度多少?()

答案:O(nlogn)假设要对一个N行M列的二维double型数组以行为单位进行排序,在调用通用冒泡排序函数g_bub_sort时,实际参数len和elemSize的值分别是多少。()

答案:N和M*sizeof(double)假设cmp是一个满足严格有序的比较函数,判断a,b相等的条件是什么?()

答案:!cmp(a,b)||!cmp(b,a)下面正确定义p为函数指针的是:()。

答案:int(*p)(int);使用qsort函数可以排序______数据类型的数组。()

答案:整型;浮点型;结构体型;字符型字符串输入输出函数的原型在下面哪个标准头文件中定义:()。

答案:stdio.hfgets函数读入字符串比gets函数更安全。()

答案:对两个关键字排序,第一个关键字为数组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[j]<a[j+1])||((a[j]==a[j+1])&&(b[j]>b[j+1]))请在一维数组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;}

答案:high=mid-1;经典的冒泡排序算法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])//交换}}}比较和交换分别执行了多次?______()

答案:O(n2)O(n2)二分搜索每次把搜索区域砍掉一半,时间复杂度为O(logn)。(n代表集合中元素的个数)。()

答案:对现需要编程完成两个分数的求和,并将所求得的和化为最简形式。已知以下代码设计了一个函数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;}

答案:gcd(f,e);gcd(e,f)关于C程序中函数的调用和执行,不正确的是:()

答案:一个C程序的执行是从本程序的main函数开始,到本程序文件的最后一个函数结束

答案:if(n==0)returnack(m-1,1);;if(m==0)returnn+1;当调用(执行)一个函数时,就会开辟一个独立的空间(栈)。()

答案:对以下代码用递归函数实现求解两个正整数的最大公约数,______处应填入的语句是:()#includeintgcd(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___________;}

答案:gcd(b,a%b)有关三种循环结构特点的论述,错误的是______?()

答案:while循环体不能为空,否则无法结束while循环;有些while循环无法转换为for循环执行完一个case分支后,会继续判断后续case是否满足条件,如果满足则跳转到后续的case中继续执行。()

答案:错有关switch语句的论述,正确的是______?()

答案:switch中的表达式必须为整数表达式,返回整数或字符类型的值;default分支一般放在最后,当前面所有的case都不匹配时,跳转到该处执行do-while循环至少执行一次。()

答案:对有关if-else选择结构的论述,正确的是______?()

答案:多个ifelse嵌套时,else总是和最近的if匹配;通过条件语句的嵌套结构,可以实现多路选择;if或else部分如果有多条语句,必须用大括号括起来组成复合语句块(已知,EPS是一个用于控制精度的宏,例如#defineEPS1e-6)下列说法正确的是?()

答案:减小浮点数误差,可以通过使用更高精度的浮点数已知8位二进制反码表示11100111,那么它的十进制值是多少?()

答案:-24如果x的值为6,y的值为3,则x^y的结果是什么?()

答案:5以下哪个位运算符用于将指定位设置为1?()

答案:|可以使用语句if(a-0.3<=EPS)来判断浮点数a是否为0.3()

答案:错执行两个数的四则运算,关于语句,scanf("%d%d%c",&a,&b,&op);正确的输入方

温馨提示

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

评论

0/150

提交评论