以下题目请在一个小时内完成
1、完成字符串拷贝可以使用 sprintf、strcpy 及 memcpy 函数,请问这些函数有什么区别,你喜欢使用哪个,为什么?
2、变量的声明和定义有什么区别?
3、请写出下面代码在 32 位平台上的运行结果,并说明 sizeof 的性质:
#include < stdlib.h >
int main( void )
{
char a[ 30 ];
char * b = ( char * )malloc( 20 * sizeof ( char ));
printf( " %d\n " , sizeof (a));
printf( " %d\n " , sizeof (b));
printf( " %d\n " , sizeof (a[ 3 ]));
printf( " %d\n " , sizeof (b + 3 ));
printf( " %d\n " , sizeof ( * (b + 4 )));
return 0 ;
}
4、请完成以下题目。注意,请勿直接调用 ANSI C 函数库中的函数实现。
a)请编写一个 C 函数,该函数给出一个字节中被置1的位的个数,并请给出该题的至少一个不同解法。
b)请编写一个 C 函数,该函数将给定的一个字符串转换成整数。
c)请编写一个 C 函数,该函数将给定的一个整数转换成字符串。
d)请编写一个 C 函数,该函数将一个字符串逆序。
e)请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值。
f)请编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,该字符串是由同一字符组成的。
5、给出演示上述函数功能的一个简单程序,并请编写对应的Makefile文件。
若应聘嵌入式软件高级工程师,请作答以下题目:
6、我们需要编写一个图形相关的应用程序,需要处理大量图形(Shape)信息,图形有矩形(Rectangle),正方形(Square),圆形 (Circle)等种类,应用需要计算这些图形的面积,并且可能需要在某个设备上进行显示(使用在标准输出上打印信息的方式做为示意)。
a)请用面向对象的方法对以上应用进行设计,编写可能需要的类
b)请给出实现以上应用功能的示例性代码,从某处获取图形信息,并且进行计算和绘制
c)如果你的Square继承自Rectangle,请给出理由,如果不是,请给出理由,并且请比较两种方式的优劣
d)请问你所编写的类,在如下代码中会有何表现,请解释
{
r.set_width( 10 );
r.set_height( 15 );
assert(r.area() == 150 );
}