首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
capsicum29 (8)
qdzx2008 (51)
ShowLong (1)
cyp403 (16)
yjz0065 (114)
lphpc (31)
smallnest (63)
tellmenow (22)
cutemouse (22)
softj (78)
CSDN - 文档中心 - 其他开发语言 阅读:110   评论: 3    参与评论
标题   2005年华为招聘--C语言笔试试题     选择自 flyingsnowy 的 Blog
关键字   2005年华为招聘--C语言笔试试题
出处  

2005年华为招聘--C语言笔试试题

 

一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)

1、有数组定义int a[2][2]={{1},{2,3}};a[0][1]的值为0。(    

2int (*ptr) (),ptr是一维数组的名字。(    

3、指针在任何情况下都可进行>,<,>=,<=,==运算。(    

4switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。(  

5#define print(x)  printf(the no, #x,is )

 

二、填空题(共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)=(     )

 

2void setmemory(char **p, int num)

{ *p=(char *) malloc(num);}

void test(void)

{  char *str=NULL;

   getmemory(&str,100);

   strcpy(str,hello);

   printf(str);

}

运行test函数有什么结果?(                                10

 

3、设int arr[]={6,7,8,9,10};

     int *ptr=arr;

   *(ptr++)+=123;

 printf(%d,%d,*ptr,*(++ptr));

(                                   ) 10

 

二、编程题(第一小题20,第二小题30分)

1  不使用库函数,编写函数int strcmp(char  *source, char *dest)

 相等返回0,不等返回-1

 

2  写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1

 


相关文章
对该文的评论
CSDN 网友 ( 2006-03-26)
简单
CSDN 网友 ( 2006-03-24)
二.
3.是8,8
r_mosaic ( 2006-03-24)
1. T
2. F. ptr 是函数指针。
3. F. 只有指向同一数组的指针之间才能安全地进行所有这些操作。
4. F. 只能是整数类型,如 int、long、char 之类。
5. ??? 没看懂。
二、
1. 6  4  4  4
2. 输出 Hello
3. 130 8
三、
1.
int strcmp(const char *a, const char *b)
{
    assert(a != NULL && b != NULL);
    /* NOTE: a, b are local variables */
    while (*a != '\0' && *b != '\0') {
        if (*a != *b) {
            return -1;
        }
    }
    return 0;
}
2.
int fun(const char *p)
{
    int len;
    int i;
    bool palindrome;

    if (p == NULL) {
        return -1;
    }
    len = strlen(p);
    palindrome = true;
    for (i = 0; i < len / 2; i++) {
        if (p[i] != p[len - 1 - i]) {
            palindrome = false;
            break;
        }
    }
    return (palindrome ? 1 : 0);
}