当前位置:概念范文网>求职简历>笔试题目>

C字符串笔试题

笔试题目 阅读(2.5W)

C语言是世界上最流行、使用最广泛的高级程序设计语言之一。A下面就由本站小编为大家介绍一下C字符串笔试题的文章,欢迎阅读

C字符串笔试题

C字符串笔试题篇1

一、void * memcpy( void* dest, const void* src, size_t count )

表头文件: #include

定义函数: void *memcpy(void *dest, const void *src, size_t n)

函数说明:

memcpy用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy不同的是,memcpy会完整的复制n个字节,不会因为遇到字符串结束''而结束。

返回值: 返回指向dest的指针

附加说明: 指针src和dest所指的内存区域不可重叠

void * memcpy( void* dest, const void* src, size_t count )

{

assert((strDest!=NULL) && (strSrc !=NULL));

char* d = (char*)dest;

const char* s = (const char*)src;

while( count-->0 )

*d++ = *s++

return dest ;

}

注解:

1、size_t 就是unsigned int

2、

函数名: assert(断言)

功 能: 测试一个条件并可能使程序终止

用 法: void assert(int expression);

assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:

#include

void assert( int expression );

assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。

二、char *strcpy(char *strDest, const char *strSrc)

字符串复制函数

char *strcpy(char *strDest, const char *strSrc);

{

assert((strDest!=NULL) && (strSrc !=NULL)); // 2分

char *address = strDest; // 2分

while( (*strDest++ = * strSrc++) != ‘’ ); // 2分

return address ; // 2分

}

const char *strSrc中的const是指字符串内容为const,而不是说strSrc是const的,如果要指定strSrc是const,应该写成 char * const strSrc 。

C字符串笔试题篇2

一、int Strcmp(char *str1, char *str2)

字符串比较函数

int Strcmp(char *str1, char *str2)

{

int i=0;

int b=0;

while(str1[i]||str2[i])

{

if(str1[i]>str2[i])

{

b=1;break;

}

else if(str1[i]

{

b=-1;break;

}

i++;

}

return b;

}

当只要求判断是否相等时,可简化为:

int strcmp(char *source, char *dest)

{

while ( (*source != '') && (*source == *dest))

{

source++;

dest++;

}

return ( (*source) - (*dest) ) ? -1 : 0;

}

二、int strlen(const char* str)

计算字符串长度

int strlen(const char* str)

{

assert(str != NULL);

int len = 0;

while (*str++!='')

len++;

return len;

}

C字符串笔试题篇3

void reverse(char *ch)

字符串反转函数

void reverse_str(char *ch)

{

int len;

int i;

len = strlen(ch)-1;

char ctemp;

for(i = 0; i < len-i; i++)

{

ctemp = ch[i];

ch[i] = ch[len-i];

ch[len-i] = ctemp;

}

ch[len+1] = 0;

}

void reverse_str2(char *ch)

{

int len;

int i;

len = strlen(ch)-1;

for(i = 0; i < len-i; i++)

{

ch[i] = ch[i] ^ ch[len-i];

ch[len-i] = ch[len-i] ^ ch[i];

ch[i] = ch[i] ^ ch[len-i];

}

ch[len+1] = 0;

}