二、填空题(共30分)
1、在windows下,写出运行结果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str; int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100]){ }
sizeof(str)=( )
答案:6,4,4,4, 具体解释请参看我的空间里的“C/C++程序员应聘试题剖析”
2、void getmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
运行test函数有什么结果?( )10分
答案:输出hello,但是发生内存泄漏。
3、设int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
( ) 10分
答案:8,8。这道题目的意义不大,因为在不同的编译器里printf的参数的方向是不一样的,在vc6.0下是从有到左,这里先*(++ptr) 后*pt,于是结果为8,8
二、编程题(第一小题20,第二小题30分)
1、 不使用库函数,编写函数int strcmp(char *source, char *dest)
相等返回0,不等返回-1;
答案:一、
int strcmp(char *source, char *dest) {
assert((source!=NULL)&&(dest!=NULL));
int i,j;
for(i=0; source[i]==dest[i]; i++) {
if(source[i]=='\\0' && dest[i]=='\\0')
return 0; else
return -1; } }
答案:二、
int strcmp(char *source, char *dest) {
while ( (*source != '\\0') && (*source == *dest))
{
source++; dest++; }
return ( (*source) - (*dest) ) ? -1 : 0; }
2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
答案:一、
int fun(char *p)
{
if(p==NULL)
return -1;
else {
int length = 0;
int i = 0;
int judge = 1;
length = strlen(p);
for(i=0; i if(p[i]!=p[length-1-i]) judge = 0; break; } if(judge == 0) return 0; else return 1; } } 答案:二、 int fun(char *p){ int len = strlen(p) - 1; char *q = p + len; if (!p) return -1; while (p < q) { if ((*p++) != (*q--)) return 0; } return 1;} 华为笔试网络题(3) 2006-09-30 12:48 1.在OSI 7 层模型中,网络层的功能有( ) A.确保数据的传送正确无误 B.确定数据包如何转发与路由 C.在信道上传送比特流 D.纠错与流控 2.FDDI 使用的是___局域网技术。( ) A.以太网; B.快速以太网; C.令牌环; D.令牌总线。 3.下面那种LAN 是应用CSMA/CD协议的 () A.令牌环 B.FDDI C.ETHERNET D.NOVELL 4.TCP 和UDP 协议的相似之处是 ( ) A.面向连接的协议 B.面向非连接的协议 C.传输层协议 D.以上均不对 5.应用程序PING 发出的是___报文.( ) A.TCP 请求报文。 B.TCP 应答报文。 C.ICMP 请求报文。 D.ICMP 应答报文。 6.以下说法错误的是(多) ( ) A.中继器是工作在物理层的设备 B.集线器和以太网交换机工作在数据连路层 C.路由器是工作在网络层的设备 D.桥能隔离网络层广播 7.当桥接收的分组的目的MAC地址在桥的映射表中没有对应的表项时,采取的策略是( ) A.丢掉该分组 B.将该分组分片 C.向其他端口广播该分组 D.以上答案均不对 8.LAN Switch 在网络层次模型中的地位( ) A.物理层 B.链路层 C.网络层 D.以上都不是 9.小于___的TCP/UDP端口号已保留与现有服务一一对应,此数字以上的端口号可自由分配。( ) A.199 B.100 C.1024 D.2048 10.当一台主机从一个网络移到另一个网络时,以下说法正确的是 ( ) A.必须改变它的IP 地址和MAC 地址 B.必须改变它的IP 地址,但不需改动MAC 地址 C.必须改变它的MAC 地址,但不需改动IP 地址 D.MAC 地址.IP 地址都不需改动 答案:1.B; 2.C; 3.C; 4.C; 5.C; 6.BD; 7.C; 8.B; 9.C; 10.B.