[单选题]有以下程序: void f(int a[],int i,int j) { int t; if(ij) { t=a[i];a[i]=a[j];a[j]=t; f(a,i+1,j-1); } } main() { int i,aa[5]={1,2,3,4,5}; f(aa,0,4); for(i=0;i5;i++) printf("%d,",aa[i]); printf("\n"); } 执行后输出结果是( )。
正确答案 :A
5,4,3,2,1,
解析:解析:在C语言中所谓函数的递归是指在调用一个函数的过程中,又出现了直接或间接调用该函数本身,直接调用该函数本身的称为函数递归,而间接调用该函数称为函数的间接递归调用。由程序可以看出函数f(a,i,j)为一递归函数,其功能是当ij时,将数组中的元素a[i]和a[j]交换,然后再调用函数f(a,i+1,j-1),将数组中a[i+1]和a[j--]交换,这样一直递归到数组下标i=j,可见该递归函数的作用是使数组中首尾元素依次互换。主函数中定义了一个长度为5的数组aa并初始化,然后调用f(a,0,4),将数组a中的元素依次互换,故最后for循环输出的数组aa中各元素的值为5、4、3、2、1,所以,4个选项中选项A符合题意。
[单选题]查询设计器中包括的选项卡有( )。
正确答案 :A
字段、筛选、排序依据
解析:解析:在查询设计器界面中,有6个选项卡,它们分别是:字段、连接、筛选、排序依据、分组依据和杂项。
[单选题]若有说明int a[][3]={0,0};,则不正确的叙述是( )。
正确答案 :D
只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
解析:解析: 本题考查给二维数组元素赋值。给二维数组元素赋值时应注意两点:①在对二维数组元奉赋初值时,可以只对部分元素赋初值,未赋初值的元素自动取0。②二维数组第一维的大小由如下规则确定:当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小;当初值的个数不能被第二维的常量表达式的值除尽时,第一维的大小二所得商数+1。
查看原题