正确答案: D

p=i

题目:有以下程序fun(int *a,int n) { int i,j=0,p; p=j; for(i=j;i<n;i++) if(a[i]<a[p]) ____; return(p);}在下画线处应填入的是

解析:本题考查对程序作用的理解。该函数具有两个形参a和n,a为数组名,n为数组中元素的个数。函数的返回值为p,这里p为数组的下标。初始时,i、j、p都为0,for循环的初始表达式为i=j,条件表达式为i<n,也就是当i=n时,for循环结束。该for循环表达的含义为:初始时,令a[i]=a[p]=a[0],随后i可从0开始递增,直到n-1,对于每一个a[i],都与a[p]进行比较,空白处需要填入语句的部分是if语句满足条件后要进行的操作,表示如果a[i]<a[p],应当进行怎样的处理。选项A 是令i=p,此时整个程序中p的值没有发生改变,p=0,即如果a[i] <a[p],则令i=0,回到了初始化的状态,这样在for语句中造成了死循环,该选项错误。选项B是令a[p]=a[i],整个程序在运行过程中,p的值依然没有变化,p=0,即如果a[i] <a[0],则令a[0]=a[i],整个程序运行结束后,a[0]的数值应该为整个数组的最小值,用return语句返回下标0没有意义。选项C是令 p=j,程序在运行过程中,j的值和p的值都没有发生改变,整个程序没有意义。选项D是p=i,该语句的含义是如果a[i]<a[p],则令p=i,程序结束后则有a[p]为数组中的最小值,将最小值的下标返回。

查看原题

举一反三的答案和解析:

  • [单选题]下列说法中,正确的是( )。
  • 创建表之间的关系时,需要关闭所有要创建关系的表

  • 解析:解析: 本题考查表及表字段的知识。在Access中,表字段如果为文本型,则最长只能为255个字符:要想得到计算字段的结果,不仅能够使用总计查询来完成,其他查询方式如交叉表查询等也能完成;创建表与表之间的关系时,要关闭所有要创建关系的表;在创建一对一关系时,要求两个表的相关字段都是主关键字。

  • [单选题]以下程序中,错误的行为
  • 解析:解析:C什语言中规定在类体中不允许对所定义的数据成员进行初始化。

  • [单选题]下列字符串不属于标识符的是( )
  • M,D.JOHN


  • [单选题]在“显示表”对话框中,不含有( )选项卡。
  • “两者都没有”


  • 推荐下载科目: 计算机三级 计算机四级 微软认证 Linux认证 JAVA认证 华为认证 计算机一级 软考高级 软考初级 通信工程师
    @2019-2026 不凡考网 www.zhukaozhuanjia.com 蜀ICP备20012290号-2