选择题:试题四 阅读以下说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 函数Mult

  • 题目分类:软考初级
  • 题目类型:选择题
  • 查看权限:VIP
题目内容:
试题四

阅读以下说明和C代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

[说明]

函数MultibaseOutput(long n, int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:

#define MAXSIZE 32

typedef struct {

int *elem; /* 栈的存储区 */

int max; /* 栈的容量,即栈中最多能存放的元素个数 */

int top; /* 栈顶指针 */

}Stack;

[C代码]

int InitStack(Stack *S, int n) /* 创建容量为n的空栈 */

{ S->elem = (int *)malloc(n * sizeof(int));

if(S->elem == NULL) return -1;

S->max = n; (1) = 0 ; return 0;

}

int Push(Stack *S, int item) /* 将整数item压入栈顶 */

{ if(S->top == S->max){ printf("Stack is full!\n"); return -1;}

(2) = item ; return 0;

}

int StackEmpty(Stack S) { return (!S.top) ? 1 : 0; } /* 判断栈是否为空 */

int Pop(Stack *S) /* 栈顶元素出栈 */

{ if(!S->top) { printf("Pop an empty stack!\n"); return -1;}

return (3) ;

}

void MultibaseOutput(long n, int B)

{ int m; Stack S;

if (InitStack(&S, MAXSIZE)) {printf("Failure!\n"); return;}

do {

if (Push(&S, (4) )) {printf("Failure!\n"); return;}

n = (5) ;

}while(n != 0);

while(!StackEmpty(S)) { /* 输出B进制的数 */

m = Pop(&S);

if(m < 10) printf("%d", m); /* 小于10,输出数字 */

else printf("%c", m + 55); /* 大于或等于10,输出相应的字符 */

}

printf("\n");

}




参考答案:

●运算器的主要功能是进行 (53) 。(53) A.逻辑运算 B.算术运算 C.逻辑运算与算术运算 D.初等函数的

●运算器的主要功能是进行 (53) 。(53) A.逻辑运算 B.算术运算 C.逻辑运算与算术运算 D.初等函数的

查看答案

●与十进制数26.34375等值的二进制数是 (1) ,八进制数是 (2) 。(1) A.11010.1101 B.11010.01011

●与十进制数26.34375等值的二进制数是 (1) ,八进制数是 (2) 。(1) A.11010.1101 B.11010.01011

查看答案

●在7位的ASCII码的最高位增加一位奇校验位就构成8位奇校验码。若大写字母K的十六进制奇校验码为CB

●在7位的ASCII码的最高位增加一位奇校验位就构成8位奇校验码。若大写字母K的十六进制奇校验码为CB

查看答案

●通道是一种 (54) 。(54) A.I/O端口 B.数据通道 C.I/O专用处理机 D.软件工具

●通道是一种 (54) 。(54) A.I/O端口 B.数据通道 C.I/O专用处理机 D.软件工具

查看答案

●某机器字长8位,则八进制数-52的补码表示是 (4) 。(4) A.11010101 B.10101110 C.10110100 D.110

●某机器字长8位,则八进制数-52的补码表示是 (4) 。(4) A.11010101 B.10101110 C.10110100 D.110

查看答案