题目详情
当前位置:首页 > 计算机考试 > 初级程序员
题目详情:
发布时间:2023-12-31 19:13:47

[单项选择]若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为()。
A. base+13
B. base+16
C. base+18
D. base+21

更多"若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储"的相关试题:

[单项选择]若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。
A. base+((i-1)*M+j-1)*K
B. base+((i-1)*N+j-1)*K
C. base+((j-1)*M+i-1)*K
D. base+((j-1)*N+i-1)*K
[单项选择]若二维数组arr[1..8,1..6]的首地址为base,数组元素按列存储,且每个元素占用4个存储单元,则元素arr[5,5]在该数组空间的地址为()。
A. base+(4*8+4)*4
B. base+(5*8+5)*4
C. base+(4*6+4)*4
D. base+(5*6+5)*4
[单项选择]数组A[-5..5,0..8]按列存储。若第一个元素的首地址为100,且每个元素占用4个存储单元,则元素A[2,3]的存储地址为()。
A. 244
B. 260
C. 364
D. 300
[判断题]数组名代表数组的首地址。( )
[填空题]请补充函数proc( ),该函数的功能是把数组arr中的奇数元素按原来的先后顺序放在原数组后面。
例如,原始数组为33 67 42 58 25 76 85 16 41 55,则输出结果为42 58 76 16 33 67 25 85 41 55。
注意:部分源程序已给出。
请勿改动主函数main和其他函数中的任何内容。
试题程序:
#include<stdlib.h>
#include<stdio.h>
#define M 10
void proc(int arr[])

int i, j=0, k=0;
int bb[M];
for(i=0; i<M; i++)

if( (1) )
bb[k++]=arr[i];
else
arr[j++]=arr[i];

for(i=0; i<k; (2) )
arr[j]=bb[i];

void main( )

int i;
int arr[M]=33, 67, 42, 58。25, 76, 85, 16, 41, 55;
system("CLS");
printf("/n***original list***/n");
for(i=0; i<M; i++)
printf("%4d", arr[i]);
proc(arr);
printf("/n***new list***/n");
for(i=0; i<M; i++)
printf("%4d", arr[i]);


[单项选择]若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为( )(假设a[0][0]位于数组的第一个位置上)。
A. i*m+j
B. j*m+i
C. i*m+j-1
D. i*m+j+1
[填空题]请补充函数fun( ),该函数的功能是把数组aa中的奇数元素按原来的先后顺序放在原数组后面。
例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“42,58,76,16,56,33,67,25,25,41。
注意:部分源程序给出如下。
请勿改动主函数main和具他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
#define N 10
void fun(int aa[])

int i, j=0,k 0;
int bb IN];
for (i 0; i<N; i++)

if ( 【1】 )
bb[k++] aa[i];
else
aa [j++] =aa Ii];
for(i=0; i<k; 【2】 )
aa[j] bb[i];

main ( )

int i;
int aa[N]=33, 67, 42,58,25, 76, 85, 16,
41,56;
clrscr ( );
printf("/n*** original list ***/n");
for (i=0; i<N; i++)
printf("%4d", aa[i]);
fun (aa);
printf("/n*** new list ***/n");
for (i=0; i<N; i++)
printf("%4d", aa[i]);

[填空题]请补充函数fun( ),该函数的功能是把数组aa中的偶数元素按原来的先后顺序放在原数组后面。 例如,输入“33,67,42,58,25,76,85,16,41,56”,输出结果“33,67,25,85,41,42,58,76,16,56”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。 试题程序: #define N 10 void fun (int aa [] ) { int i, j=0,k=0; int bb [N]; for (i=0;i<N; i++) { if ( 【1】 ) bb [k++] =aa [i]; else aa [ j ++ ] =aa [i]; } for(i=0; 【2】 ;i++,j++) aa[j] =bb [i]; } main ( ) { int i; int aa[N]={33, 67,42,58,25, 76, 85, 16, 41,56}; clrscr ( ); printf("/n*** original list ***/n"); for (i=0;i<N; i++) printf ("%4d", aa [i] ); fun (aa); printf("/n*** new list ***/n "); for (i=0; i<N; i++) printf ("%4d", aa [i] ); }
[单项选择]若二维数组a有m列,则在a[i][j]前的元素个数为( )。
A. i*m+j-1
B. i*m+j
C. j*m+1
D. i*m+i+1
[单项选择]若二维数组a有m列,则在a[i][j]刚前的元素个数为( )。
A. i*m+j-1
B. i*m+j
C. j*m+I
D. i*m+j+1
[填空题]若二维数组b有m列,则在b[i][j]前的元素的个数为 【7】
[单项选择]若有数组声明a[0..3,0..2,1..4),设编译时为a分配的存储空间首地址为basea,且每个数组元素占据一个存储单元。当元素以行为序存放(即按a[0,0,1),a[0,0,2],a[0,0,3],a[0,0,4],a[0,1,1],a[0,1,2],…,a[3,2,4]顺序存储),则数组元素a[2,2,2]在其存储空间中相对base_a的偏移量是()。
A. 8
B. 12
C. 33
D. 48
[填空题]数据段中有一个字数组,其首地址放在SI寄存器中。数组的第一个字中存放着该数组的长度。阅读程序并填空,使程序完整并能正常运行:
DSEG SEGMENT ;数据段
COUNT DW
ADDR DW
DSEG ENDS
CSEG SEGMENT ;代码段
MAIN PROCFAR
START PUSH DS
MOV AX, 0
PUSH AX
MOV AX, DSEG ;初始化DS
MOV DS, AX
MOV ADDR, SI ;将数组的首地址送到ADDR中
MOV CX, [SI] ;数组的长度送到CX中
MOV COUNT, CX ;数组长度送计数器
AGAIN1: MOV BX, 1 ;设标志位
DEC COUNT ;计数器的值减1
JZ EXIT ;等于0,则退出程序
MOV CX, COUNT ;计数器的值送CX
MOV SI, ADDR ;指针指向数组的首地址
AGAIN2: ADD SI, 【6】
MOVAX, [SI]
CMP [SI+2],AX ;前两个元素进行比较
JAE NEXT ;第二个大,则跳转到NEXT去执行
XCHG [S1+2],AX ;否则,交换两个存储单元的内容
MOV [SI], AX
MOV BX, 0 ;有交换的话,标志位置0
NEXT: LOOP AGAIN2 ;继续进行内循环
CMP BX, 0
JE AGAIN1
EXIT: MOV SI, ADDR ;否则,结束程序并将数组首地址送回SI
RET
MAIN ENDP
CSEG ENDS
END
[单项选择]设有数组A[m,n],数组的每个元素占3个存储单元,m的值为1~8,n的值为 1~10。数组从首地址W开始顺序存放,当以列为主序存放时,元素A[5,8]的存储首地址为()。
A. W+222
B. W+225
C. W+141
D. W+180
[简答题]请编写一个函数void fun(int p[],int n,int c),其中数组p的元素按由小到大的顺序排列,其元素个数为n。函数fun( )的功能是将c插入到数组p中,且保持数组的升序排列。
注意:部分源程序已存在文件PROC9.cpp中。
请勿修改主函数和其他函数中的任何内容,仅在函数fun( )的花括号中填写若干语句;
文件PROC9.cpp的内容如下:
//PROC9.cpp
#include <iostream>
#include <string>
using namespace std;
#define M 30
void fun(int p[ ],int n,int c);
int main ( )

int pp[M],n,i;
int fg, c;
cout<<"Please input n:/n";
cin>>n;
cout<<"Please input the n data:/n";
for (i=0; i<n; i++)
cin>>pp [i];
cout<<"Please input c:/n";
cin>>c;
fun (pp, n, c);
for (i=0; i<n; i++)
cout<<pp [i] << " " ;
cout<<end1;
return 0;

void fun(int p[ ],int n, int c)

//* * * * * * * * *

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码