日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于面试宝典中的各个问题(一)

發布時間:2024/7/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于面试宝典中的各个问题(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、關于浮點數1.0f在內存中的表示:是3f800000.

各個類型所占的字節數(byte),1byte=8bit

char? 1

short 2

bool 1

int 4

long 4

float 4

double 8

long double 8

char * 4

int * 4

float * 4

以上是對于我的電腦,在典型的32位機上面的用VS2008的情況,64位機上會有不同。具體情況會因為電腦和編譯器的原因而不同。參考資料《深入理解計算機系統》P28.

2、整數提升 --來自《面試寶典》P37

int _tmain(int argc, _TCHAR* argv[]) {unsigned char a=0xA5;unsigned char b=~a>>5;printf("b=%d",b);getchar();return 0; }

結果是b=250,原因是整數提升,a取反后不是8Bit是16Bit,前面的0也變成了1.

3、a,b交換問題

先發一段求a,b中較大的一個的程序:

int a=5;int b=3;int c=a-b;char *strs[2]={"a large","b large"};c=unsigned(c)>>(sizeof(int)*8-1);printf("%s",strs[c]);getchar();return 0; 這個程序我覺得還比較有意思,另一種較簡單的做法就是int max=((a+b)+abs(a-b))/2;

再來說說ab交換的問題:

用異或^比較好,因為不容易出現越界的問題,

a=a^b;

b=a^b;

a=a^b;

就可以了。

4、這個問題是在處女面的時候被問到的問題:

C和C++

C++中調用被C編譯器編譯后的函數為什么要加extern "C"

C++語言支持函數重載,而C不支持,所以extern c這個鏈接交換指定符號解決名字匹配問題。

最后關于extern "C"等等,推薦一個網頁

http://www.cnblogs.com/skynet/archive/2010/07/10/1774964.html

好啦,這部分程序設計的基本概念先告一段落~

轉載于:https://www.cnblogs.com/liuliunumberone/archive/2011/06/07/2074528.html

總結

以上是生活随笔為你收集整理的关于面试宝典中的各个问题(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。