![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔试和面试题
街角祝福
这个作者很懒,什么都没留下…
展开
-
运算符问题--优先级
#include int main(int argc, char *argv[]){ unsigned char a = 0xA5; unsigned char b = ~a>>4+1; printf( "%d", b ); return 0;}求输出结果。这个题主要是考运算符的优先级问题。因为>>优先级低于+所以本题答案是250.(因为a是存在一个16位寄存器中,所以不原创 2012-06-19 19:01:37 · 457 阅读 · 0 评论 -
sizeof例子
关于sizeof,我首先想说的是它是一个宏,不是一个函数,其次sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型,该类型保证能容纳实现所建立的最大对象的字节大小,sizeof用来计算数据类型所占的内存大小。先贴一些常见的sizeof求值对象:// sizeof.cpp : 定义控制台应用程序的入口点。//#include "std原创 2012-11-13 21:45:56 · 3281 阅读 · 0 评论 -
数值交换
1.求两个数a,b中的较大值(不使用if,switch,?等判断分支语句。)方法一: (a+b+abs(a-b))/2因为abs后的结果小的数会变成负数,而大的数还是整数,所以大数除以2之后还是大数,即可求得结果。方法二:int c = a-b;c = unsigned(c) >> sizeof(int) * 8 -1;2.求较小值 (a+b-ab原创 2012-06-19 19:40:24 · 429 阅读 · 0 评论 -
printf问题--参数顺序
#include int main(int argc, char *argv[]){ int b = 3; int arr[] = { 6, 7, 8, 9, 10}; int *ptr = arr; *(ptr++) += 123; printf( "%d, %d\n", *ptr, *(++ptr) ); return 0;}求输出结果?开始看这个题目觉得很简单的原创 2012-06-19 18:24:50 · 2272 阅读 · 4 评论 -
神奇的求平均数
(x&y)+((x^y)>>1)这个表达式的结果就是x+y之后除以2的结果。研究了半天没弄懂,所以说很神奇。不知道这个解释怎么样?(x^y)>>1 = (0^0) (x[n]^y[n]) (x[n-1]^y[n-1]) ... (x[3]^y[3]) (x[2]^y[2])x&y = (x[n]^y[n]) (x[n-1]^原创 2012-06-19 19:27:35 · 467 阅读 · 0 评论 -
测试整数(二进制)含1个数
引:中国某杀毒软件公司2010年3月笔试题#include using namespace std;int func(int n){ int nCount = 0; while( n ) { nCount++; n = n & (n-1); } return nCount;} int main(int argc, char *argv[]){ cout <<原创 2012-06-19 17:52:18 · 696 阅读 · 0 评论 -
数据库知识
1.存储过程和函数的区别? 存储过程是一系列的SQL语句的集合,需要涉及特定的用户表,函数是数据库已经定义好的方法,接受参数并返回特定的值,不涉及特定用户表。2.游标的作用? 用于定位结果集的行,通过全局变量@@FETCH_STATUS可以判断其是否到了最后。3.触发器类型?区别? 事前触发器和事后触发器。事前触发器是在事件触发之前完成,而事后触发原创 2012-06-20 01:09:27 · 638 阅读 · 1 评论 -
操作系统知识
1.作业,进程,线程,管程的定义 作业:事务处理要求计算机系统所做的工作的集合。 进程:程序关于数据的一次运行过程。 线程:进程的一个实体,是操作系统独立调度和执行的单位。 管程:定义了一个数据结构以及在该数据结构上的能为并发进程执行的一组操作。2.进程间如何实现通信? 信号,信号量,消息队列,共享内存。3.互斥器(MUTEX)和临界区(cri原创 2012-06-20 00:55:44 · 632 阅读 · 0 评论 -
预处理
1.宏定义 求求两个数中小的那一个?#define MIN(a, b) (a)>(b)? (a):(b) 求一年有多少秒?(不是闰年)#define YEAR_SECOND (365*60*60*24)UL2.const用途 1)定义常量 2)修饰函数参数,返回值3. const和#define比较。 const和#define都可用来定义原创 2012-06-19 21:13:13 · 356 阅读 · 0 评论 -
C和C++的关系
1.在C++程序中调用C编译器编译后的函数,为什么要加extern "C"? C++语言支持函数重载,而C不支持。函数编译后,C和C++函数oji文件中的格式是不一样的,假设同样是void func(void)函数,C编译后库中的名字为_func,而C++的则会产生类似于_func_int_int的函数名,即C++函数库的名字中含有参数和返回值的类型。C++提供了C连接交换指定符号ext原创 2012-06-19 20:35:47 · 366 阅读 · 0 评论