部分c、c++笔试题集锦(15)

2021-01-20 20:35

网上收集的c/c++的笔试题,将部分整理成节,上传后大家方便。不是很全,但是可以作为笔试的参考吧。

{ n++; } p = str; if(p[0] == ‘-’) //判断数组是否有负号 { isNegative = 1; } char temp = ’0′; for(int i = 0 ; i < n; i++) { char temp = *p++; if(temp > ’9′ ||temp < ’0′) //滤除非数字字符 { continue; } if(num !=0 || temp != ’0′) //滤除字符串开始的0字符 { temp -= 0×30; //将数字字符转换为数值 num += temp *int( pow(10 , n – 1 -i) ); } } if(isNegative) //如果字符串中有负号,将数值取反 { return (0 – num); } else { return num; //返回转换后的数值 } } 注意:此段代码只是实现了十进制字符串到数字的转化,读者可以自己去实现2进制,8进制,10进制,16进制的转化。 面试题45:简述strcpy、sprintf与memcpy的区别

三者主要有以下不同之处:

(1)操作对象不同,strcpy的两个操作对象均为字符串,sprintf的操作源对象可以是多种数据类型, 25

目的操作对象是字符串,memcpy 的两个对象就是两个任意可操作的内存地址,并不限于何种数据类型。

(2)执行效率不同,memcpy最高,strcpy次之,sprintf的效率最低。

(3)实现功能不同,strcpy主要实现字符串变量间的拷贝,sprintf主要实现其他数据类型格式到字符串的转化,memcpy主要是内存块间的拷贝。 说明:strcpy、sprintf与memcpy都可以实现拷贝的功能,但是针对的对象不同,根据实际需求,来选择合适的函数实现拷贝功能。

面试题46:用C编写一个死循环程序 while(1) { }

说明:很多种途径都可实现同一种功能,但是不同的方法时间和空间占用度不同,特别是对于嵌入式软件,处理器速度比较慢,存储空间较小,所以时间和空间优势是选择各种方法的首要考虑条件。 面试题47:编码实现某一变量某位清0或置1

给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清a的bit 3,在以上两个操作中,要保持其他位不变。 【答案】 #define BIT3 (0×1 << 3 ) Satic int a;

设置a的bit 3: void set_bit3( void ) { a |= BIT3; //将a第3位置1 } 清a的bit 3 void set_bit3( void ) { a &= ~BIT3; //将a第3位清零 }

说明:在置或清变量或寄存器的某一位时,一定要注意不要影响其他位。所以用加减法是很难实现的。

面试题48:评论下面这个中断函数 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展——让标准C支持中断。具体代表事实是,产生了一个新的关键字__interrupt。下面的代码就使用了__interrupt关键字去定义一个中断服务子程序(ISR),请评论以下这段代码。 __interrupt double compute_area (double radius) { double area = PI * radius * radius; printf(” Area = %f”, area); return area; 26 }

【答案】

这段中断服务程序主要有以下四个问题: (1)ISR 不能返回一个值。 (2)ISR 不能传递参数。

(3)在ISR 中做浮点运算是不明智的。 (4)printf()经常有重入和性能上的问题。 注意:本题的第三个和第四个问题虽不是考察的重点,但是如果能提到这两点可给面试官留下一个好印象。

面试题49:构造函数能否为虚函数 构造函数不能是虚函数。而且不能在构造函数中调用虚函数,因为那样实际执行的是父类的对应函数,因为自己还没有构造好。析构函数可以是虚函数,而且,在一个复杂类结构中,这往往是必须的。析构函数也可以是纯虚函数,但纯虚析构函数必须有定义体,因为析构函数的调用是在子类中隐含的。


部分c、c++笔试题集锦(15).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:混凝土结构设计2_复习题及答案2011_2012年

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: