试题4: void GetMemory(char *p ){ p = (char *) malloc(100 );} void Test(void ) { char *
试题4:
void GetMemory(char *p )
{
p = (char *) malloc(100 );
}
void Test(void )
{
char *str = NULL;
GetMemory(str );
strcpy(str, "hello world" );
printf(str );
}
试题4:
void GetMemory(char *p )
{
p = (char *) malloc(100 );
}
void Test(void )
{
char *str = NULL;
GetMemory(str );
strcpy(str, "hello world" );
printf(str );
}
试题5:
char *GetMemory(void )
{
char p[] = "hello world";
return p;
}
void Test(void )
{
char *str = NULL;
str = GetMemory();
printf(str );
}
试题二(共 15分)
阅读以下说明和C函数,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明 1】
函数Counter(int n, int w[])的功能是计算整数n的二进制表示形式中1的个数,同时用数组w记录该二进制数中1所在位置的权。
例如,十进制数22的二进制表示为10110。对于该二进制数,1的个数为3,在w[0]中存入2(即 )、w[1]中存入4(即 )、w[2]中存入16(即 )。
1
2 2
2 4
2
【C函数 1】
int Counter(int n, int w[])
{ int i = 0, k = 1;
while ((1) ) {
if (n % 2) w[i++] = k;
n = n / 2; (2) ;
}
return i;
}
【说明 2】
函数 Smove(int A[], int n)的功能是将数组中所有的奇数都放到所有偶数之前。其过程为:设置数组元素下标索引i(初值为0)和j(初值为n-1),从数组的两端开始检查元素的奇偶性。若 A[i]、A[j]都是奇数,则从前往后找出一个偶数,再与 A[j]进行交换;若 A[i]、A[j]都是偶数,则从后往前找出一个奇数,再与A[i]进行交换;若 A[i]是偶数而A[j]是奇数,则交换两者,直到将所有的奇数都排在所有偶数之前为止。
【C函数 2】
void Smove(int A[], int n)
{ int temp, i = 0, j = n-1;
if (n < 2 ) return;
while (i < j ) {
if (A[i] % 2 == 1 && A[j] % 2 == 1 ) { (3) ; }
else if (A[i] % 2 == 0 && A[j] % 2 == 0 ) { (4) ; }
else {
if ((5) ) {
temp = A[i]; A[i] = A[j]; A[j] = temp;
}
i++, j--;
}
}
}
A.beijing
B.china
C.welcome
D.tiananmen
●试题四
【说明】
下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。
例如:若输入
2857848328
则应输出
The max:8
Total:4∥最大数出现次数
The positions:1469
【函数】
#include<stdio.h>
#define M 10
int fun(int*a,int*n,int pos[])
{
int i,k max=-32767;
(1)
for(i=0;i<M;i++)
if((2) )max=a[i];
for(i=0;i<M;i++)
if((3) )pos[k++]=i;
*n=k;
return max;
}
main()
{
int a[M],pos[M],i=0,j,n;
printf("Enter 10 number:");
for(i=0;i<M;i++)scanf("%d", (4) );
j=fun((5) );
printf("The max:%d\n",j);
printf("Total:%d",n);
printf("The position:");
for(i=0;i<n;i++)printf("%4d",pos[i]);
printf("\n");
}
●试题三
阅读以下说明,回答问题1至问题5,将解答填入答题纸对应的解答栏内。
[说明]
在一台计算机上安装完成Windows 2000服务器及相应的服务组件。
[问题1]
安装Windows服务器时,通常将分区格式化为NTFS格式,NTFS的主要优点有哪三个方面?
[问题2]
Windows 2000默认的超级用户名是什么?
[问题3]
如果发现操作系统存在安全漏洞,应该如何解决?
[问题4]
为什么要关闭那些不需要的服务和不用的端口?
[问题5]
局域网的IP地址范围限定在192.168.10.33~192.168.10.47之间,子网掩码应设置为多少?
● 试题一
阅读以下有关传统局域网络运行和维护的叙述,将应填入(n)处的字句写在答题纸的对应栏内。
在对网络运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的3种拓扑结构是星形、 (1) 与 (2) 拓扑结构,而常见的信道访问方式有 (3) 及 (4) 。
网络配置和运行包括一系列保证局域网络运转的工作,主要有:选择网络操作系统和网络连接协议等;配置网络服务器及网络的外围设备,做好网络突发事件预防和处理;网络安全控制,包括网络安全管理、网络用户权限分配以及病毒的预防处理等。配置网络过程中要做好数据备份工作,一般来说,备份的硬件设备包括 (5) 、磁带和 (6) ,而利用磁盘备份的方法常用的是磁盘镜像 (7) 以及磁盘阵列,其中前两者的区别在于 (8) 。
网络维护是保障网络正常运行的重要方面,主要包括 (9) 、网络日常检查及网络升级。一定要建立起维护日志制度,记录网络运行和变更的情况,以保证维护经验的交流与延续。
2 编程:
用C语言实现函数void * memmove(void *dest,const void *src,size_t n)。memmove函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。
. void Test(void) { char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) { strcpy(str, “world”); printf(str); } } 请问运行Test 函数会有什么样的结果?
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
和上面的很相似,都是关于final 的问题,这有错吗?
下列程序的输出结果是 ()
#include
using namespace std;
class A{
int a
public:
A():a(9){}
virtual void print() const {cout<};
class B:public A{
char b;
public:
B(){b= ‘S’;}
void print()const{cout<};
void show(Aa&X){X,print()}
int main()
{ Ad1;*p;
Bd2;
p=&d2;
d1,print();
d2,print();
p->print();
show(d1);
show(d2);
return 0;}